diff options
Diffstat (limited to 'qemu/roms/ipxe/src/include/ipxe/device.h')
-rw-r--r-- | qemu/roms/ipxe/src/include/ipxe/device.h | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/qemu/roms/ipxe/src/include/ipxe/device.h b/qemu/roms/ipxe/src/include/ipxe/device.h deleted file mode 100644 index d81417e8e..000000000 --- a/qemu/roms/ipxe/src/include/ipxe/device.h +++ /dev/null @@ -1,177 +0,0 @@ -#ifndef _IPXE_DEVICE_H -#define _IPXE_DEVICE_H - -/** - * @file - * - * Device model - * - */ - -FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); - -#include <ipxe/list.h> -#include <ipxe/tables.h> - -struct interface; - -/** A hardware device description */ -struct device_description { - /** Bus type - * - * This must be a BUS_TYPE_XXX constant. - */ - unsigned int bus_type; - /** Location - * - * The interpretation of this field is bus-type-specific. - */ - unsigned int location; - /** Vendor ID */ - unsigned int vendor; - /** Device ID */ - unsigned int device; - /** Device class */ - unsigned long class; - /** I/O address */ - unsigned long ioaddr; - /** IRQ */ - unsigned int irq; -}; - -/** PCI bus type */ -#define BUS_TYPE_PCI 1 - -/** ISAPnP bus type */ -#define BUS_TYPE_ISAPNP 2 - -/** EISA bus type */ -#define BUS_TYPE_EISA 3 - -/** MCA bus type */ -#define BUS_TYPE_MCA 4 - -/** ISA bus type */ -#define BUS_TYPE_ISA 5 - -/** TAP bus type */ -#define BUS_TYPE_TAP 6 - -/** EFI bus type */ -#define BUS_TYPE_EFI 7 - -/** Xen bus type */ -#define BUS_TYPE_XEN 8 - -/** Hyper-V bus type */ -#define BUS_TYPE_HV 9 - -/** USB bus type */ -#define BUS_TYPE_USB 10 - -/** A hardware device */ -struct device { - /** Name */ - char name[32]; - /** Driver name */ - const char *driver_name; - /** Device description */ - struct device_description desc; - /** Devices on the same bus */ - struct list_head siblings; - /** Devices attached to this device */ - struct list_head children; - /** Bus device */ - struct device *parent; -}; - -/** - * A root device - * - * Root devices are system buses such as PCI, EISA, etc. - * - */ -struct root_device { - /** Device chain - * - * A root device has a NULL parent field. - */ - struct device dev; - /** Root device driver */ - struct root_driver *driver; - /** Driver-private data */ - void *priv; -}; - -/** A root device driver */ -struct root_driver { - /** - * Add root device - * - * @v rootdev Root device - * @ret rc Return status code - * - * Called from probe_devices() for all root devices in the build. - */ - int ( * probe ) ( struct root_device *rootdev ); - /** - * Remove root device - * - * @v rootdev Root device - * - * Called from remove_device() for all successfully-probed - * root devices. - */ - void ( * remove ) ( struct root_device *rootdev ); -}; - -/** Root device table */ -#define ROOT_DEVICES __table ( struct root_device, "root_devices" ) - -/** Declare a root device */ -#define __root_device __table_entry ( ROOT_DEVICES, 01 ) - -/** - * Set root device driver-private data - * - * @v rootdev Root device - * @v priv Private data - */ -static inline void rootdev_set_drvdata ( struct root_device *rootdev, - void *priv ){ - rootdev->priv = priv; -} - -/** - * Get root device driver-private data - * - * @v rootdev Root device - * @ret priv Private data - */ -static inline void * rootdev_get_drvdata ( struct root_device *rootdev ) { - return rootdev->priv; -} - -extern int device_keep_count; - -/** - * Prevent devices from being removed on shutdown - * - */ -static inline void devices_get ( void ) { - device_keep_count++; -} - -/** - * Allow devices to be removed on shutdown - * - */ -static inline void devices_put ( void ) { - device_keep_count--; -} - -extern struct device * identify_device ( struct interface *intf ); -#define identify_device_TYPE( object_type ) \ - typeof ( struct device * ( object_type ) ) - -#endif /* _IPXE_DEVICE_H */ |