Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- include/tcg/tcg-module-i386.h | 1 + target/i386/cpu.h | 1 - accel/tcg/tcg-module-i386.c | 5 +++++ hw/i386/pc.c | 2 +- target/i386/tcg/sysemu/fpu_helper.c | 3 ++- 5 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/include/tcg/tcg-module-i386.h b/include/tcg/tcg-module-i386.h index 7b99b9836a20..aa96aca82c4a 100644 --- a/include/tcg/tcg-module-i386.h +++ b/include/tcg/tcg-module-i386.h @@ -6,6 +6,7 @@ struct TCGI386ModuleOps { void (*update_mxcsr_status)(CPUX86State *env); void (*update_mxcsr_from_sse_status)(CPUX86State *env); void (*x86_register_ferr_irq)(qemu_irq irq); + void (*cpu_set_ignne)(void); }; extern struct TCGI386ModuleOps tcg_i386; diff --git a/target/i386/cpu.h b/target/i386/cpu.h index d1819166ae11..6b9b1fad016f 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -1836,7 +1836,6 @@ int cpu_x86_support_mca_broadcast(CPUX86State *env); int cpu_get_pic_interrupt(CPUX86State *s); /* MSDOS compatibility mode FPU exception support */ void fpu_check_raise_ferr_irq(CPUX86State *s); -void cpu_set_ignne(void); void cpu_clear_ignne(void); /* mpx_helper.c */ diff --git a/accel/tcg/tcg-module-i386.c b/accel/tcg/tcg-module-i386.c index f6d367912c17..307238e3bc78 100644 --- a/accel/tcg/tcg-module-i386.c +++ b/accel/tcg/tcg-module-i386.c @@ -5,6 +5,10 @@ static void i386_update_cpu_stub(CPUX86State *cpu) { } +static void i386_update_stub(void) +{ +} + static void x86_register_ferr_irq_stub(qemu_irq irq) { } @@ -14,4 +18,5 @@ struct TCGI386ModuleOps tcg_i386 = { .update_mxcsr_status = i386_update_cpu_stub, .update_mxcsr_from_sse_status = i386_update_cpu_stub, .x86_register_ferr_irq = x86_register_ferr_irq_stub, + .cpu_set_ignne = i386_update_stub, }; diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 102b22394689..4b74776f6d8a 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -389,7 +389,7 @@ static void ioportF0_write(void *opaque, hwaddr addr, uint64_t data, unsigned size) { if (tcg_enabled()) { - cpu_set_ignne(); + tcg_i386.cpu_set_ignne(); } } diff --git a/target/i386/tcg/sysemu/fpu_helper.c b/target/i386/tcg/sysemu/fpu_helper.c index 9caf164a7269..6453760b33c7 100644 --- a/target/i386/tcg/sysemu/fpu_helper.c +++ b/target/i386/tcg/sysemu/fpu_helper.c @@ -42,7 +42,7 @@ void cpu_clear_ignne(void) env->hflags2 &= ~HF2_IGNNE_MASK; } -void cpu_set_ignne(void) +static void cpu_set_ignne(void) { CPUX86State *env = &X86_CPU(first_cpu)->env; env->hflags2 |= HF2_IGNNE_MASK; @@ -59,6 +59,7 @@ void cpu_set_ignne(void) static void tcgi386_module_ops_fpu_sys(void) { tcg_i386.x86_register_ferr_irq = x86_register_ferr_irq; + tcg_i386.cpu_set_ignne = cpu_set_ignne; } type_init(tcgi386_module_ops_fpu_sys); -- 2.31.1