summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe/pci.h
diff options
context:
space:
mode:
authorMichael Brown2006-05-17 03:12:11 +0200
committerMichael Brown2006-05-17 03:12:11 +0200
commit6b6096d28ba0ac47af9070df7ebaf1fdda099a4f (patch)
treea2cb39a02b85a9df08f3beb9db52a9045b57804f /src/include/gpxe/pci.h
parentRestructured PCI subsystem to fit the new device model. (diff)
downloadipxe-6b6096d28ba0ac47af9070df7ebaf1fdda099a4f.tar.gz
ipxe-6b6096d28ba0ac47af9070df7ebaf1fdda099a4f.tar.xz
ipxe-6b6096d28ba0ac47af9070df7ebaf1fdda099a4f.zip
Strip down i386 PCI configuration space I/O to the bare minimum. A
typical build will now include 880 bytes of PCI support code, compared to 2327 bytes in Etherboot 5.4. (There is a slight cost of around 5 extra bytes per access to a non-constant config space address; this should be an overall win. Driver-specific accesses will usually be to constant addresses, for which there is no additional cost.)
Diffstat (limited to 'src/include/gpxe/pci.h')
-rw-r--r--src/include/gpxe/pci.h14
1 files changed, 1 insertions, 13 deletions
diff --git a/src/include/gpxe/pci.h b/src/include/gpxe/pci.h
index 28fa93c5..5fc21009 100644
--- a/src/include/gpxe/pci.h
+++ b/src/include/gpxe/pci.h
@@ -19,6 +19,7 @@
#include <stdint.h>
#include <gpxe/device.h>
#include <gpxe/tables.h>
+#include <pci_io.h>
#include "pci_ids.h"
/*
@@ -318,19 +319,6 @@ struct pci_driver {
.name = _name, \
}
-extern unsigned int pci_max_bus;
-extern int pci_read_config_byte ( struct pci_device *pci, unsigned int where,
- uint8_t *value );
-extern int pci_write_config_byte ( struct pci_device *pci, unsigned int where,
- uint8_t value );
-extern int pci_read_config_word ( struct pci_device *pci, unsigned int where,
- uint16_t *value );
-extern int pci_write_config_word ( struct pci_device *pci, unsigned int where,
- uint16_t value );
-extern int pci_read_config_dword ( struct pci_device *pci, unsigned int where,
- uint32_t *value );
-extern int pci_write_config_dword ( struct pci_device *pci, unsigned int where,
- uint32_t value );
extern void adjust_pci_device ( struct pci_device *pci );
extern unsigned long pci_bar_start ( struct pci_device *pci,
unsigned int reg );