summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/include
diff options
context:
space:
mode:
authorMichael Brown2007-01-10 16:27:48 +0100
committerMichael Brown2007-01-10 16:27:48 +0100
commitfdc97499bf83ef958db8a50985fdd321835dccf3 (patch)
tree344a37ef66fa70650a85cd7429ad139bc7b284e0 /src/arch/i386/include
parentGive UNDI device a more meaningful name. (diff)
downloadipxe-fdc97499bf83ef958db8a50985fdd321835dccf3.tar.gz
ipxe-fdc97499bf83ef958db8a50985fdd321835dccf3.tar.xz
ipxe-fdc97499bf83ef958db8a50985fdd321835dccf3.zip
Add device description fields to struct device.
Diffstat (limited to 'src/arch/i386/include')
-rw-r--r--src/arch/i386/include/undi.h25
-rw-r--r--src/arch/i386/include/undiload.h4
2 files changed, 24 insertions, 5 deletions
diff --git a/src/arch/i386/include/undi.h b/src/arch/i386/include/undi.h
index e2e3c1d56..f6e22e709 100644
--- a/src/arch/i386/include/undi.h
+++ b/src/arch/i386/include/undi.h
@@ -26,12 +26,22 @@ struct undi_device {
UINT16_t fbms;
/** Free base memory prior to load */
UINT16_t restore_fbms;
- /** PCI bus:dev.fn, or 0xffff */
+ /** PCI bus:dev.fn, or @c UNDI_NO_PCI_BUSDEVFN */
UINT16_t pci_busdevfn;
- /** ISAPnP card select number, or 0xffff */
+ /** ISAPnP card select number, or @c UNDI_NO_ISAPNP_CSN */
UINT16_t isapnp_csn;
- /** ISAPnP read port, or 0xffff */
+ /** ISAPnP read port, or @c UNDI_NO_ISAPNP_READ_PORT */
UINT16_t isapnp_read_port;
+ /** PCI vendor ID
+ *
+ * Filled in only for the preloaded UNDI device by pxeprefix.S
+ */
+ UINT16_t pci_vendor;
+ /** PCI device ID
+ *
+ * Filled in only for the preloaded UNDI device by pxeprefix.S
+ */
+ UINT16_t pci_device;
/** Padding */
UINT16_t pad;
@@ -45,6 +55,15 @@ struct undi_device {
void *priv;
} __attribute__ (( packed ));
+/** PCI bus:dev.fn field is invalid */
+#define UNDI_NO_PCI_BUSDEVFN 0xffff
+
+/** ISAPnP card select number field is invalid */
+#define UNDI_NO_ISAPNP_CSN 0xffff
+
+/** ISAPnP read port field is invalid */
+#define UNDI_NO_ISAPNP_READ_PORT 0xffff
+
/**
* Set UNDI driver-private data
*
diff --git a/src/arch/i386/include/undiload.h b/src/arch/i386/include/undiload.h
index e42563b49..bfc11874d 100644
--- a/src/arch/i386/include/undiload.h
+++ b/src/arch/i386/include/undiload.h
@@ -25,8 +25,8 @@ static inline int undi_load_pci ( struct undi_device *undi,
struct undi_rom *undirom,
unsigned int pci_busdevfn ) {
undi->pci_busdevfn = pci_busdevfn;
- undi->isapnp_csn = 0xffff;
- undi->isapnp_read_port = 0xffff;
+ undi->isapnp_csn = UNDI_NO_ISAPNP_CSN;
+ undi->isapnp_read_port = UNDI_NO_ISAPNP_READ_PORT;
return undi_load ( undi, undirom );
}