x86/cpuid: move CPUID functions into separate file
about half of target-i386/helper.c consist of CPUID related functions. Only one of them is a real TCG helper function. So move the whole CPUID stuff out of this into a separate file to get better maintainable parts. This is only code reordering and should not affect QEMU's functionality. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
parent
a6c6f76ceb
commit
c6dc6f63bf
@ -49,6 +49,9 @@ libobj-y += tcg/tcg.o
|
||||
libobj-$(CONFIG_SOFTFLOAT) += fpu/softfloat.o
|
||||
libobj-$(CONFIG_NOSOFTFLOAT) += fpu/softfloat-native.o
|
||||
libobj-y += op_helper.o helper.o
|
||||
ifeq ($(TARGET_BASE_ARCH), i386)
|
||||
libobj-y += cpuid.o
|
||||
endif
|
||||
libobj-$(CONFIG_NEED_MMU) += mmu.o
|
||||
libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o
|
||||
|
||||
|
@ -822,14 +822,17 @@ void cpu_x86_frstor(CPUX86State *s, target_ulong ptr, int data32);
|
||||
int cpu_x86_signal_handler(int host_signum, void *pinfo,
|
||||
void *puc);
|
||||
|
||||
/* cpuid.c */
|
||||
void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count,
|
||||
uint32_t *eax, uint32_t *ebx,
|
||||
uint32_t *ecx, uint32_t *edx);
|
||||
int cpu_x86_register (CPUX86State *env, const char *cpu_model);
|
||||
|
||||
/* helper.c */
|
||||
int cpu_x86_handle_mmu_fault(CPUX86State *env, target_ulong addr,
|
||||
int is_write, int mmu_idx, int is_softmmu);
|
||||
#define cpu_handle_mmu_fault cpu_x86_handle_mmu_fault
|
||||
void cpu_x86_set_a20(CPUX86State *env, int a20_state);
|
||||
void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count,
|
||||
uint32_t *eax, uint32_t *ebx,
|
||||
uint32_t *ecx, uint32_t *edx);
|
||||
|
||||
static inline int hw_breakpoint_enabled(unsigned long dr7, int index)
|
||||
{
|
||||
|
1137
target-i386/cpuid.c
Normal file
1137
target-i386/cpuid.c
Normal file
File diff suppressed because it is too large
Load Diff
1112
target-i386/helper.c
1112
target-i386/helper.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user