diff options
author | Michael Brown | 2006-05-17 03:12:11 +0200 |
---|---|---|
committer | Michael Brown | 2006-05-17 03:12:11 +0200 |
commit | 6b6096d28ba0ac47af9070df7ebaf1fdda099a4f (patch) | |
tree | a2cb39a02b85a9df08f3beb9db52a9045b57804f /src/include/gpxe/pci.h | |
parent | Restructured PCI subsystem to fit the new device model. (diff) | |
download | ipxe-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.h | 14 |
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 ); |