summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/lpci/i82371sb.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/lpci/i82371sb.h')
-rw-r--r--src/devices/bus/lpci/i82371sb.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/devices/bus/lpci/i82371sb.h b/src/devices/bus/lpci/i82371sb.h
index c9d71a817b7..e4add02c206 100644
--- a/src/devices/bus/lpci/i82371sb.h
+++ b/src/devices/bus/lpci/i82371sb.h
@@ -24,6 +24,8 @@ public:
// construction/destruction
i82371sb_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ template <class Object> static devcb_base &set_boot_state_hook(device_t &device, Object &&cb) { return downcast<i82371sb_device &>(device).m_boot_state_hook.set_callback(std::forward<Object>(cb)); }
+
virtual uint32_t pci_read(pci_bus_device *pcibus, int function, int offset, uint32_t mem_mask) override;
virtual void pci_write(pci_bus_device *pcibus, int function, int offset, uint32_t data, uint32_t mem_mask) override;
@@ -31,6 +33,7 @@ protected:
// device-level overrides
virtual void device_start() override;
virtual void device_reset() override;
+ virtual void port80_debug_write(uint8_t value) override;
uint32_t pci_isa_r(device_t *busdevice, int offset, uint32_t mem_mask);
void pci_isa_w(device_t *busdevice, int offset, uint32_t data, uint32_t mem_mask);
@@ -42,10 +45,14 @@ protected:
void pci_usb_w(device_t *busdevice, int offset, uint32_t data, uint32_t mem_mask);
private:
uint32_t m_regs[3][0x400/4];
+ devcb_write8 m_boot_state_hook;
};
// device type definition
extern const device_type I82371SB;
DECLARE_DEVICE_TYPE(I82371SB, i82371sb_device)
+#define MCFG_I82371SB_BOOT_STATE_HOOK(_devcb) \
+ devcb = &i82371sb_device::set_boot_state_hook(*device, DEVCB_##_devcb);
+
#endif // MAME_BUS_LPCI_I82371SB_H