Commit 8e78eb28 authored by Isaku Yamahata's avatar Isaku Yamahata Committed by Blue Swirl
Browse files

pc: make pc_init1() not refer ferr_irq directly.



By introducing a registering function, make pc_init1() not refer to
ferr_irq directly in order to make ferr_irq piix independent.
Later pc_init1() will be split out into another file keeping ferr_irq
static.

Signed-off-by: default avatarIsaku Yamahata <yamahata@valinux.co.jp>
Acked-by: default avatarGerd Hoffmann <kraxel@redhat.com>
Signed-off-by: default avatarBlue Swirl <blauwirbel@gmail.com>
parent 6f09e686
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -102,6 +102,12 @@ static void ioport80_write(void *opaque, uint32_t addr, uint32_t data)

/* 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)
{
@@ -950,7 +956,7 @@ static void pc_init1(ram_addr_t ram_size,
    }
    isa_bus_irqs(isa_irq);

    ferr_irq = isa_reserve_irq(13);
    pc_register_ferr_irq(isa_reserve_irq(13));

    /* init basic PC hardware */
    register_ioport_write(0x80, 1, 1, ioport80_write, NULL);
+2 −0
Original line number Diff line number Diff line
@@ -77,6 +77,8 @@ void rtc_set_date(RTCState *s, const struct tm *tm);
/* pc.c */
extern int fd_bootchk;

void pc_register_ferr_irq(qemu_irq irq);

void ioport_set_a20(int enable);
int ioport_get_a20(void);