target/xtensa: allow different default CPU for MMU/noMMU
Define default core for noMMU configurations and use that core as machine default with noMMU XTFPGA machines. This is done to avoid offering non-working configuration (MMU core on a noMMU machine) as a default. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
		
							parent
							
								
									7ddaee6d08
								
							
						
					
					
						commit
						a3c5e49da9
					
				@ -584,10 +584,10 @@ static void xtfpga_lx60_nommu_class_init(ObjectClass *oc, void *data)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    MachineClass *mc = MACHINE_CLASS(oc);
 | 
					    MachineClass *mc = MACHINE_CLASS(oc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    mc->desc = "lx60 noMMU EVB (" XTENSA_DEFAULT_CPU_MODEL ")";
 | 
					    mc->desc = "lx60 noMMU EVB (" XTENSA_DEFAULT_CPU_NOMMU_MODEL ")";
 | 
				
			||||||
    mc->init = xtfpga_lx60_nommu_init;
 | 
					    mc->init = xtfpga_lx60_nommu_init;
 | 
				
			||||||
    mc->max_cpus = 4;
 | 
					    mc->max_cpus = 4;
 | 
				
			||||||
    mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE;
 | 
					    mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const TypeInfo xtfpga_lx60_nommu_type = {
 | 
					static const TypeInfo xtfpga_lx60_nommu_type = {
 | 
				
			||||||
@ -616,10 +616,10 @@ static void xtfpga_lx200_nommu_class_init(ObjectClass *oc, void *data)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    MachineClass *mc = MACHINE_CLASS(oc);
 | 
					    MachineClass *mc = MACHINE_CLASS(oc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    mc->desc = "lx200 noMMU EVB (" XTENSA_DEFAULT_CPU_MODEL ")";
 | 
					    mc->desc = "lx200 noMMU EVB (" XTENSA_DEFAULT_CPU_NOMMU_MODEL ")";
 | 
				
			||||||
    mc->init = xtfpga_lx200_nommu_init;
 | 
					    mc->init = xtfpga_lx200_nommu_init;
 | 
				
			||||||
    mc->max_cpus = 4;
 | 
					    mc->max_cpus = 4;
 | 
				
			||||||
    mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE;
 | 
					    mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const TypeInfo xtfpga_lx200_nommu_type = {
 | 
					static const TypeInfo xtfpga_lx200_nommu_type = {
 | 
				
			||||||
@ -648,10 +648,10 @@ static void xtfpga_ml605_nommu_class_init(ObjectClass *oc, void *data)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    MachineClass *mc = MACHINE_CLASS(oc);
 | 
					    MachineClass *mc = MACHINE_CLASS(oc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    mc->desc = "ml605 noMMU EVB (" XTENSA_DEFAULT_CPU_MODEL ")";
 | 
					    mc->desc = "ml605 noMMU EVB (" XTENSA_DEFAULT_CPU_NOMMU_MODEL ")";
 | 
				
			||||||
    mc->init = xtfpga_ml605_nommu_init;
 | 
					    mc->init = xtfpga_ml605_nommu_init;
 | 
				
			||||||
    mc->max_cpus = 4;
 | 
					    mc->max_cpus = 4;
 | 
				
			||||||
    mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE;
 | 
					    mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const TypeInfo xtfpga_ml605_nommu_type = {
 | 
					static const TypeInfo xtfpga_ml605_nommu_type = {
 | 
				
			||||||
@ -680,10 +680,10 @@ static void xtfpga_kc705_nommu_class_init(ObjectClass *oc, void *data)
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    MachineClass *mc = MACHINE_CLASS(oc);
 | 
					    MachineClass *mc = MACHINE_CLASS(oc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    mc->desc = "kc705 noMMU EVB (" XTENSA_DEFAULT_CPU_MODEL ")";
 | 
					    mc->desc = "kc705 noMMU EVB (" XTENSA_DEFAULT_CPU_NOMMU_MODEL ")";
 | 
				
			||||||
    mc->init = xtfpga_kc705_nommu_init;
 | 
					    mc->init = xtfpga_kc705_nommu_init;
 | 
				
			||||||
    mc->max_cpus = 4;
 | 
					    mc->max_cpus = 4;
 | 
				
			||||||
    mc->default_cpu_type = XTENSA_DEFAULT_CPU_TYPE;
 | 
					    mc->default_cpu_type = XTENSA_DEFAULT_CPU_NOMMU_TYPE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const TypeInfo xtfpga_kc705_nommu_type = {
 | 
					static const TypeInfo xtfpga_kc705_nommu_type = {
 | 
				
			||||||
 | 
				
			|||||||
@ -503,10 +503,15 @@ void xtensa_cpu_do_unaligned_access(CPUState *cpu, vaddr addr,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#ifdef TARGET_WORDS_BIGENDIAN
 | 
					#ifdef TARGET_WORDS_BIGENDIAN
 | 
				
			||||||
#define XTENSA_DEFAULT_CPU_MODEL "fsf"
 | 
					#define XTENSA_DEFAULT_CPU_MODEL "fsf"
 | 
				
			||||||
 | 
					#define XTENSA_DEFAULT_CPU_NOMMU_MODEL "fsf"
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
#define XTENSA_DEFAULT_CPU_MODEL "dc232b"
 | 
					#define XTENSA_DEFAULT_CPU_MODEL "dc232b"
 | 
				
			||||||
 | 
					#define XTENSA_DEFAULT_CPU_NOMMU_MODEL "de212"
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#define XTENSA_DEFAULT_CPU_TYPE XTENSA_CPU_TYPE_NAME(XTENSA_DEFAULT_CPU_MODEL)
 | 
					#define XTENSA_DEFAULT_CPU_TYPE \
 | 
				
			||||||
 | 
					    XTENSA_CPU_TYPE_NAME(XTENSA_DEFAULT_CPU_MODEL)
 | 
				
			||||||
 | 
					#define XTENSA_DEFAULT_CPU_NOMMU_TYPE \
 | 
				
			||||||
 | 
					    XTENSA_CPU_TYPE_NAME(XTENSA_DEFAULT_CPU_NOMMU_MODEL)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define cpu_init(cpu_model) cpu_generic_init(TYPE_XTENSA_CPU, cpu_model)
 | 
					#define cpu_init(cpu_model) cpu_generic_init(TYPE_XTENSA_CPU, cpu_model)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user