summary refs log tree commit diff stats
path: root/hw/i386/pc.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2019-10-16 10:18:10 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2019-10-26 15:38:07 +0200
commit6f529b7534c534afe2f2b834199191d8b4cc07ca (patch)
tree8f4bcd4423309a16ccebc628f13e4228f6ab2e0b /hw/i386/pc.c
parent038adc2f5850e32019bda06c559d0301be436eae (diff)
downloadfocaccia-qemu-6f529b7534c534afe2f2b834199191d8b4cc07ca.tar.gz
focaccia-qemu-6f529b7534c534afe2f2b834199191d8b4cc07ca.zip
target/i386: move FERR handling to target/i386
Move it out of pc.c since it is strictly tied to TCG.  This is
almost exclusively code movement, the next patch will implement
IGNNE.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/i386/pc.c')
-rw-r--r--hw/i386/pc.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index b8f02c6f3f..c1a39de59f 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -381,23 +381,12 @@ static uint64_t ioport80_read(void *opaque, hwaddr addr, unsigned size)
 }
 
 /* MSDOS compatibility mode FPU exception support */
-static qemu_irq ferr_irq;
-
-void pc_register_ferr_irq(qemu_irq irq)
-{
-    ferr_irq = irq;
-}
-
-/* XXX: add IGNNE support */
-void cpu_set_ferr(CPUX86State *s)
-{
-    qemu_irq_raise(ferr_irq);
-}
-
 static void ioportF0_write(void *opaque, hwaddr addr, uint64_t data,
                            unsigned size)
 {
-    qemu_irq_lower(ferr_irq);
+    if (tcg_enabled()) {
+        cpu_clear_ferr();
+    }
 }
 
 static uint64_t ioportF0_read(void *opaque, hwaddr addr, unsigned size)