summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/pci-sata.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/machine/pci-sata.h')
-rw-r--r--src/emu/machine/pci-sata.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/emu/machine/pci-sata.h b/src/emu/machine/pci-sata.h
new file mode 100644
index 00000000000..baf2e96aada
--- /dev/null
+++ b/src/emu/machine/pci-sata.h
@@ -0,0 +1,28 @@
+#ifndef PCI_SATA_H
+#define PCI_SATA_H
+
+#include "pci.h"
+
+#define MCFG_SATA_ADD(_tag, _main_id, _revision, _subdevice_id) \
+ MCFG_PCI_DEVICE_ADD(_tag, SATA, _main_id, _revision, 0x01018a, _subdevice_id)
+
+class sata_device : public pci_device {
+public:
+ sata_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+protected:
+ virtual void device_start();
+ virtual void device_reset();
+
+private:
+ DECLARE_ADDRESS_MAP(primary_command_map, 32);
+ DECLARE_ADDRESS_MAP(primary_control_map, 32);
+ DECLARE_ADDRESS_MAP(secondary_command_map, 32);
+ DECLARE_ADDRESS_MAP(secondary_control_map, 32);
+ DECLARE_ADDRESS_MAP(bus_master_map, 32);
+ DECLARE_ADDRESS_MAP(ide_command_posting_map, 32);
+};
+
+extern const device_type SATA;
+
+#endif