diff options
author | Michael Brown | 2007-01-08 03:38:10 +0100 |
---|---|---|
committer | Michael Brown | 2007-01-08 03:38:10 +0100 |
commit | 6fc75f659b3a377c4f5e95cbc195c3df9712b45e (patch) | |
tree | 6fe98d5505af988ce7731973d0a9e744c1893469 /src/arch/i386/include/undirom.h | |
parent | Use "struct undi_device" instead of "struct pxe_device", and use the (diff) | |
download | ipxe-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.h | 49 |
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 */ |