Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						6bc0d6a047 
					 
					
						
						
							
							cpu: Move CPUClass::get_paging_enabled to SysemuCPUOps  
						
						... 
						
						
						
						Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-23-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						2b60b62e05 
					 
					
						
						
							
							cpu: Move CPUClass::get_memory_mapping to SysemuCPUOps  
						
						... 
						
						
						
						Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-22-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						08928c6d0d 
					 
					
						
						
							
							cpu: Move CPUClass::get_phys_page_debug to SysemuCPUOps  
						
						... 
						
						
						
						Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-21-f4bug@amsat.org >
[rth: Drop declaration movement from target/*/cpu.h]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						faf39e8283 
					 
					
						
						
							
							cpu: Move CPUClass::asidx_from_attrs to SysemuCPUOps  
						
						... 
						
						
						
						Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-20-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						715e3c1afb 
					 
					
						
						
							
							cpu: Move CPUClass::write_elf* to SysemuCPUOps  
						
						... 
						
						
						
						The write_elf*() handlers are used to dump vmcore images.
This feature is only meaningful for system emulation.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-19-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						83ec01b675 
					 
					
						
						
							
							cpu: Move CPUClass::get_crash_info to SysemuCPUOps  
						
						... 
						
						
						
						cpu_get_crash_info() is called on GUEST_PANICKED events,
which only occur in system emulation.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-18-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						da383e0263 
					 
					
						
						
							
							cpu: Move CPUClass::virtio_is_big_endian to SysemuCPUOps  
						
						... 
						
						
						
						VirtIO devices are only meaningful with system emulation.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-17-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						65c57115df 
					 
					
						
						
							
							cpu: Directly use get_memory_mapping() fallback handlers in place  
						
						... 
						
						
						
						No code uses CPUClass::get_memory_mapping() outside of hw/core/cpu.c:
  $ git grep -F -- '->get_memory_mapping'
  hw/core/cpu.c:87:    cc->get_memory_mapping(cpu, list, errp);
  hw/core/cpu.c:439:    k->get_memory_mapping = cpu_common_get_memory_mapping;
  target/i386/cpu.c:7422:    cc->get_memory_mapping = x86_cpu_get_memory_mapping;
Check the handler presence in place and remove the common fallback code.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-11-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						77ba5d50ba 
					 
					
						
						
							
							cpu: Directly use get_paging_enabled() fallback handlers in place  
						
						... 
						
						
						
						No code uses CPUClass::get_paging_enabled() outside of hw/core/cpu.c:
  $ git grep -F -- '->get_paging_enabled'
  hw/core/cpu.c:74:    return cc->get_paging_enabled(cpu);
  hw/core/cpu.c:438:    k->get_paging_enabled = cpu_common_get_paging_enabled;
  target/i386/cpu.c:7418:    cc->get_paging_enabled = x86_cpu_get_paging_enabled;
Check the handler presence in place and remove the common fallback code.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-10-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						5ef2d5a48c 
					 
					
						
						
							
							cpu: Directly use cpu_write_elf*() fallback handlers in place  
						
						... 
						
						
						
						No code directly accesses CPUClass::write_elf*() handlers out
of hw/core/cpu.c (the rest are assignation in target/ code):
  $ git grep -F -- '->write_elf'
  hw/core/cpu.c:157:    return (*cc->write_elf32_qemunote)(f, cpu, opaque);
  hw/core/cpu.c:171:    return (*cc->write_elf32_note)(f, cpu, cpuid, opaque);
  hw/core/cpu.c:186:    return (*cc->write_elf64_qemunote)(f, cpu, opaque);
  hw/core/cpu.c:200:    return (*cc->write_elf64_note)(f, cpu, cpuid, opaque);
  hw/core/cpu.c:440:    k->write_elf32_qemunote = cpu_common_write_elf32_qemunote;
  hw/core/cpu.c:441:    k->write_elf32_note = cpu_common_write_elf32_note;
  hw/core/cpu.c:442:    k->write_elf64_qemunote = cpu_common_write_elf64_qemunote;
  hw/core/cpu.c:443:    k->write_elf64_note = cpu_common_write_elf64_note;
  target/arm/cpu.c:2304:    cc->write_elf64_note = arm_cpu_write_elf64_note;
  target/arm/cpu.c:2305:    cc->write_elf32_note = arm_cpu_write_elf32_note;
  target/i386/cpu.c:7425:    cc->write_elf64_note = x86_cpu_write_elf64_note;
  target/i386/cpu.c:7426:    cc->write_elf64_qemunote = x86_cpu_write_elf64_qemunote;
  target/i386/cpu.c:7427:    cc->write_elf32_note = x86_cpu_write_elf32_note;
  target/i386/cpu.c:7428:    cc->write_elf32_qemunote = x86_cpu_write_elf32_qemunote;
  target/ppc/translate_init.c.inc:10891:    cc->write_elf64_note = ppc64_cpu_write_elf64_note;
  target/ppc/translate_init.c.inc:10892:    cc->write_elf32_note = ppc32_cpu_write_elf32_note;
  target/s390x/cpu.c:522:    cc->write_elf64_note = s390_cpu_write_elf64_note;
Check the handler presence in place and remove the common fallback code.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-9-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						cdba7e2f49 
					 
					
						
						
							
							cpu: Introduce cpu_virtio_is_big_endian()  
						
						... 
						
						
						
						Introduce the cpu_virtio_is_big_endian() generic helper to avoid
calling CPUClass internal virtio_is_big_endian() one.
Similarly to commit bf7663c4bdf4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-8-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						a41d3aae52 
					 
					
						
						
							
							cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from_attrs  
						
						... 
						
						
						
						To be able to later extract the cpu_get_phys_page_debug() and
cpu_asidx_from_attrs() handlers from CPUClass, un-inline them
from "hw/core/cpu.h".
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-7-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						df4fd7d5c8 
					 
					
						
						
							
							cpu: Split as cpu-common / cpu-sysemu  
						
						... 
						
						
						
						The current cpu.c contains sysemu-specific methods.
To avoid building them in user-mode builds, split the
current cpu.c as cpu-common.c / cpu-sysemu.c.
Start by moving cpu_get_crash_info().
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210517105140.1062037-6-f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-05-26 15:33:59 -07:00