summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/xbox_pci.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/xbox_pci.h')
-rw-r--r--src/mame/includes/xbox_pci.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/mame/includes/xbox_pci.h b/src/mame/includes/xbox_pci.h
index c098d9148fb..16606d1fcb5 100644
--- a/src/mame/includes/xbox_pci.h
+++ b/src/mame/includes/xbox_pci.h
@@ -58,7 +58,18 @@ DECLARE_DEVICE_TYPE(NV2A_RAM, nv2a_ram_device)
* LPC Bus
*/
-class mcpx_isalpc_device : public pci_device {
+class lpcbus_host_interface {
+public:
+ virtual void set_virtual_line(int line, int state) = 0;
+};
+
+class lpcbus_device_interface {
+public:
+ virtual void map_extra(address_space *memory_space, address_space *io_space) = 0;
+ virtual void set_host(int index, lpcbus_host_interface *host) = 0;
+};
+
+class mcpx_isalpc_device : public pci_device, public lpcbus_host_interface {
public:
mcpx_isalpc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, uint32_t subsystem_id);
mcpx_isalpc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
@@ -69,6 +80,8 @@ public:
uint32_t acknowledge();
void debug_generate_irq(int irq, int state);
+ virtual void set_virtual_line(int line, int state) override;
+
DECLARE_READ32_MEMBER(acpi_r);
DECLARE_WRITE32_MEMBER(acpi_w);
DECLARE_WRITE8_MEMBER(boot_state_w);
@@ -100,6 +113,8 @@ private:
required_device<pic8259_device> pic8259_1;
required_device<pic8259_device> pic8259_2;
required_device<pit8254_device> pit8254;
+
+ lpcbus_device_interface *lpcdevices[16];
};
DECLARE_DEVICE_TYPE(MCPX_ISALPC, mcpx_isalpc_device)