summaryrefslogtreecommitdiffstats
path: root/src/arch/i386/include/undirom.h
diff options
context:
space:
mode:
authorMichael Brown2007-01-08 03:38:10 +0100
committerMichael Brown2007-01-08 03:38:10 +0100
commit6fc75f659b3a377c4f5e95cbc195c3df9712b45e (patch)
tree6fe98d5505af988ce7731973d0a9e744c1893469 /src/arch/i386/include/undirom.h
parentUse "struct undi_device" instead of "struct pxe_device", and use the (diff)
downloadipxe-6fc75f659b3a377c4f5e95cbc195c3df9712b45e.tar.gz
ipxe-6fc75f659b3a377c4f5e95cbc195c3df9712b45e.tar.xz
ipxe-6fc75f659b3a377c4f5e95cbc195c3df9712b45e.zip
Separated out UNDI ROM location code into undirom.c, and use struct
undi_rom rather than struct pxe_driver. (This is part of the naming consistency fixes).
Diffstat (limited to 'src/arch/i386/include/undirom.h')
-rw-r--r--src/arch/i386/include/undirom.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/arch/i386/include/undirom.h b/src/arch/i386/include/undirom.h
new file mode 100644
index 00000000..b92c9f22
--- /dev/null
+++ b/src/arch/i386/include/undirom.h
@@ -0,0 +1,49 @@
+#ifndef _UNDIROM_H
+#define _UNDIROM_H
+
+/** @file
+ *
+ * UNDI expansion ROMs
+ *
+ */
+
+/** An UNDI PCI device ID */
+struct undi_pci_device_id {
+ /** PCI vendor ID */
+ unsigned int vendor_id;
+ /** PCI device ID */
+ unsigned int device_id;
+};
+
+/** An UNDI device ID */
+union undi_device_id {
+ /** PCI device ID */
+ struct undi_pci_device_id pci;
+};
+
+/** An UNDI ROM */
+struct undi_rom {
+ /** List of UNDI ROMs */
+ struct list_head list;
+ /** ROM segment address */
+ unsigned int rom_segment;
+ /** UNDI loader entry point */
+ SEGOFF16_t loader_entry;
+ /** Code segment size */
+ size_t code_size;
+ /** Data segment size */
+ size_t data_size;
+ /** Bus type
+ *
+ * Values are as used by @c PXENV_UNDI_GET_NIC_TYPE
+ */
+ unsigned int bus_type;
+ /** Device ID */
+ union undi_device_id bus_id;
+};
+
+extern struct undi_rom * undirom_find_pci ( unsigned int vendor_id,
+ unsigned int device_id,
+ unsigned int rombase );
+
+#endif /* _UNDIROM_H */