disas: QOMify s390x specific disas setup
Move the target_disas() s390 specifics to the CPUClass::disas_set_info() hook and delete the #ifdef specific code in disas.c. Cc: Alexander Graf <agraf@suse.de> Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com> Acked-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
		
							parent
							
								
									ca3e40e233
								
							
						
					
					
						commit
						dbad6b74b3
					
				
							
								
								
									
										6
									
								
								disas.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								disas.c
									
									
									
									
									
								
							| @ -249,9 +249,6 @@ void target_disas(FILE *out, CPUState *cpu, target_ulong code, | ||||
| #elif defined(TARGET_ALPHA) | ||||
|     s.info.mach = bfd_mach_alpha_ev6; | ||||
|     s.info.print_insn = print_insn_alpha; | ||||
| #elif defined(TARGET_S390X) | ||||
|     s.info.mach = bfd_mach_s390_64; | ||||
|     s.info.print_insn = print_insn_s390; | ||||
| #elif defined(TARGET_MOXIE) | ||||
|     s.info.mach = bfd_arch_moxie; | ||||
|     s.info.print_insn = print_insn_moxie; | ||||
| @ -462,9 +459,6 @@ void monitor_disas(Monitor *mon, CPUState *cpu, | ||||
| #elif defined(TARGET_SH4) | ||||
|     s.info.mach = bfd_mach_sh4; | ||||
|     s.info.print_insn = print_insn_sh; | ||||
| #elif defined(TARGET_S390X) | ||||
|     s.info.mach = bfd_mach_s390_64; | ||||
|     s.info.print_insn = print_insn_s390; | ||||
| #elif defined(TARGET_MOXIE) | ||||
|     s.info.mach = bfd_arch_moxie; | ||||
|     s.info.print_insn = print_insn_moxie; | ||||
|  | ||||
| @ -184,6 +184,12 @@ static void s390_cpu_machine_reset_cb(void *opaque) | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| static void s390_cpu_disas_set_info(CPUState *cpu, disassemble_info *info) | ||||
| { | ||||
|     info->mach = bfd_mach_s390_64; | ||||
|     info->print_insn = print_insn_s390; | ||||
| } | ||||
| 
 | ||||
| static void s390_cpu_realizefn(DeviceState *dev, Error **errp) | ||||
| { | ||||
|     CPUState *cs = CPU(dev); | ||||
| @ -351,6 +357,8 @@ static void s390_cpu_class_init(ObjectClass *oc, void *data) | ||||
|     cc->cpu_exec_interrupt = s390_cpu_exec_interrupt; | ||||
|     cc->debug_excp_handler = s390x_cpu_debug_excp_handler; | ||||
| #endif | ||||
|     cc->disas_set_info = s390_cpu_disas_set_info; | ||||
| 
 | ||||
|     cc->gdb_num_core_regs = S390_NUM_CORE_REGS; | ||||
|     cc->gdb_core_xml_file = "s390x-core64.xml"; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Peter Crosthwaite
						Peter Crosthwaite