Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / arch / i386 / include / undirom.h
1 #ifndef _UNDIROM_H
2 #define _UNDIROM_H
3
4 /** @file
5  *
6  * UNDI expansion ROMs
7  *
8  */
9
10 FILE_LICENCE ( GPL2_OR_LATER );
11
12 #include <pxe_types.h>
13
14 /** An UNDI PCI device ID */
15 struct undi_pci_device_id {
16         /** PCI vendor ID */
17         unsigned int vendor_id;
18         /** PCI device ID */
19         unsigned int device_id;
20 };
21
22 /** An UNDI device ID */
23 union undi_device_id {
24         /** PCI device ID */
25         struct undi_pci_device_id pci;
26 };
27
28 /** An UNDI ROM */
29 struct undi_rom {
30         /** List of UNDI ROMs */
31         struct list_head list;
32         /** ROM segment address */
33         unsigned int rom_segment;
34         /** UNDI loader entry point */
35         SEGOFF16_t loader_entry;
36         /** Code segment size */
37         size_t code_size;
38         /** Data segment size */
39         size_t data_size;
40         /** Bus type
41          *
42          * Values are as used by @c PXENV_UNDI_GET_NIC_TYPE
43          */
44         unsigned int bus_type;
45         /** Device ID */
46         union undi_device_id bus_id;
47 };
48
49 extern struct undi_rom * undirom_find_pci ( unsigned int vendor_id,
50                                             unsigned int device_id,
51                                             unsigned int rombase );
52
53 #endif /* _UNDIROM_H */