aboutsummaryrefslogtreecommitdiff
path: root/hw/piix_pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/piix_pci.c')
-rw-r--r--hw/piix_pci.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/piix_pci.c b/hw/piix_pci.c
index 09e84f59b..937a590cb 100644
--- a/hw/piix_pci.c
+++ b/hw/piix_pci.c
@@ -249,6 +249,8 @@ static int i440fx_initfn(PCIDevice *dev)
return 0;
}
+static PIIX3State *piix3_dev;
+
static PCIBus *i440fx_common_init(const char *device_name,
PCII440FXState **pi440fx_state,
int *piix3_devfn,
@@ -327,6 +329,7 @@ static PCIBus *i440fx_common_init(const char *device_name,
ram_size = 255;
(*pi440fx_state)->dev.config[0x57]=ram_size;
+ piix3_dev = piix3;
i440fx_update_memory_mappings(f);
return b;
@@ -412,6 +415,13 @@ static void piix3_write_config(PCIDevice *dev,
}
}
+int piix_get_irq(int pin)
+{
+ if (piix3_dev)
+ return piix3_dev->dev.config[0x60+pin];
+ return 0;
+}
+
static void piix3_write_config_xen(PCIDevice *dev,
uint32_t address, uint32_t val, int len)
{