Commit f929aad6e397060983d5d61911110ef1e75d4af4
1 parent
e309de25
MSDOS compatibility mode FPU exception support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@793 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
14 additions
and
0 deletions
hw/pc.c
... | ... | @@ -45,6 +45,18 @@ static void ioport80_write(void *opaque, uint32_t addr, uint32_t data) |
45 | 45 | { |
46 | 46 | } |
47 | 47 | |
48 | +/* MSDOS compatibility mode FPU exception support */ | |
49 | +/* XXX: add IGNNE support */ | |
50 | +void cpu_set_ferr(CPUX86State *s) | |
51 | +{ | |
52 | + pic_set_irq(13, 1); | |
53 | +} | |
54 | + | |
55 | +static void ioportF0_write(void *opaque, uint32_t addr, uint32_t data) | |
56 | +{ | |
57 | + pic_set_irq(13, 0); | |
58 | +} | |
59 | + | |
48 | 60 | /* PC cmos mappings */ |
49 | 61 | |
50 | 62 | #define REG_EQUIPMENT_BYTE 0x14 |
... | ... | @@ -371,6 +383,8 @@ void pc_init(int ram_size, int vga_ram_size, int boot_device, |
371 | 383 | /* init basic PC hardware */ |
372 | 384 | register_ioport_write(0x80, 1, 1, ioport80_write, NULL); |
373 | 385 | |
386 | + register_ioport_write(0xf0, 1, 1, ioportF0_write, NULL); | |
387 | + | |
374 | 388 | vga_initialize(ds, phys_ram_base + ram_size, ram_size, |
375 | 389 | vga_ram_size); |
376 | 390 | ... | ... |