Strip down i386 PCI configuration space I/O to the bare minimum. A
[gpxe.git] / src / arch / i386 / include / pci_io.h
index dce45b1..4888d55 100644 (file)
@@ -1,20 +1,35 @@
-#ifndef PCI_IO_H
-#define PCI_IO_H
+#ifndef _PCI_IO_H
+#define _PCI_IO_H
 
-/* %ah */
-#define PCIBIOS_PCI_FUNCTION_ID         ( 0xb1 )
-/* %al */
-#define PCIBIOS_PCI_BIOS_PRESENT        ( 0x01 )
-#define PCIBIOS_FIND_PCI_DEVICE         ( 0x02 )
-#define PCIBIOS_FIND_PCI_CLASS_CODE     ( 0x03 )
-#define PCIBIOS_GENERATE_SPECIAL_CYCLE  ( 0x06 )
-#define PCIBIOS_READ_CONFIG_BYTE        ( 0x08 )
-#define PCIBIOS_READ_CONFIG_WORD        ( 0x09 )
-#define PCIBIOS_READ_CONFIG_DWORD       ( 0x0a )
-#define PCIBIOS_WRITE_CONFIG_BYTE       ( 0x0b )
-#define PCIBIOS_WRITE_CONFIG_WORD       ( 0x0c )
-#define PCIBIOS_WRITE_CONFIG_DWORD      ( 0x0d )
-#define PCIBIOS_GET_IRQ_ROUTING_OPTIONS        ( 0x0e )
-#define PCIBIOS_SET_PCI_IRQ            ( 0x0f )
+#include <pcibios.h>
+#include <pcidirect.h>
 
-#endif /* PCI_IO_H */
+/** @file
+ *
+ * i386 PCI configuration space access
+ *
+ * We have two methods of PCI configuration space access: the PCI BIOS
+ * and direct Type 1 accesses.  Selecting between them is via the
+ * compile-time switch -DCONFIG_PCI_DIRECT.
+ *
+ */
+
+#if CONFIG_PCI_DIRECT
+#define pci_max_bus            pcidirect_max_bus
+#define pci_read_config_byte   pcidirect_read_config_byte
+#define pci_read_config_word   pcidirect_read_config_word
+#define pci_read_config_dword  pcidirect_read_config_dword
+#define pci_write_config_byte  pcidirect_write_config_byte
+#define pci_write_config_word  pcidirect_write_config_word
+#define pci_write_config_dword pcidirect_write_config_dword
+#else /* CONFIG_PCI_DIRECT */
+#define pci_max_bus            pcibios_max_bus
+#define pci_read_config_byte   pcibios_read_config_byte
+#define pci_read_config_word   pcibios_read_config_word
+#define pci_read_config_dword  pcibios_read_config_dword
+#define pci_write_config_byte  pcibios_write_config_byte
+#define pci_write_config_word  pcibios_write_config_word
+#define pci_write_config_dword pcibios_write_config_dword
+#endif /* CONFIG_PCI_DIRECT */
+
+#endif /* _PCI_IO_H */