summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux/latest/com32/include/sys/pci.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux/latest/com32/include/sys/pci.h')
-rw-r--r--contrib/syslinux/latest/com32/include/sys/pci.h153
1 files changed, 0 insertions, 153 deletions
diff --git a/contrib/syslinux/latest/com32/include/sys/pci.h b/contrib/syslinux/latest/com32/include/sys/pci.h
deleted file mode 100644
index aba1f96..0000000
--- a/contrib/syslinux/latest/com32/include/sys/pci.h
+++ /dev/null
@@ -1,153 +0,0 @@
-#ifndef _SYS_PCI_H
-#define _SYS_PCI_H
-
-#include <inttypes.h>
-#include <sys/io.h>
-
-#define MAX_PCI_FUNC 8
-#define MAX_PCI_DEVICES 32
-#define MAX_PCI_BUSES 256
-#define LINUX_KERNEL_MODULE_SIZE 64
-#define PCI_VENDOR_NAME_SIZE 256
-#define PCI_PRODUCT_NAME_SIZE 256
-#define PCI_CLASS_NAME_SIZE 256
-#define MAX_KERNEL_MODULES_PER_PCI_DEVICE 10
-#define MAX_PCI_CLASSES 256
-
-typedef uint32_t pciaddr_t;
-
-enum {
- ENOPCIIDS = 100,
- ENOMODULESPCIMAP,
- ENOMODULESALIAS
-};
-
-/* a structure for extended pci information */
-/* XXX: use pointers for these? */
-struct pci_dev_info {
- char vendor_name[PCI_VENDOR_NAME_SIZE];
- char product_name[PCI_PRODUCT_NAME_SIZE];
- char linux_kernel_module[LINUX_KERNEL_MODULE_SIZE]
- [MAX_KERNEL_MODULES_PER_PCI_DEVICE];
- int linux_kernel_module_count;
- char class_name[PCI_CLASS_NAME_SIZE]; /* The most precise class name */
- char category_name[PCI_CLASS_NAME_SIZE]; /*The general category */
- uint8_t irq;
- uint8_t latency;
-};
-
-/* PCI device (really, function) */
-struct pci_device {
- union {
- struct {
- uint16_t vendor;
- uint16_t product;
- uint16_t sub_vendor;
- uint16_t sub_product;
- uint8_t revision;
- uint8_t class[3];
- };
- struct {
- uint32_t vid_did;
- uint32_t svid_sdid;
- uint32_t rid_class;
- };
- };
- struct pci_dev_info *dev_info;
- struct pci_device *next;
-};
-
-/* PCI device ("slot") structure */
-struct pci_slot {
- struct pci_device *func[MAX_PCI_FUNC];
-};
-
-/* PCI bus structure */
-struct pci_bus {
- struct pci_slot *slot[MAX_PCI_DEVICES];
-};
-
-/* PCI domain structure */
-struct pci_domain {
- struct pci_bus *bus[MAX_PCI_BUSES];
-};
-
-/* Iterate over a PCI domain */
-#define for_each_pci_func(funcp, domain) \
- for (int __pci_bus = 0; __pci_bus < MAX_PCI_BUSES; __pci_bus++) \
- if ((domain)->bus[__pci_bus]) \
- for (int __pci_slot = 0; __pci_slot < MAX_PCI_DEVICES; __pci_slot++) \
- if ((domain)->bus[__pci_bus]->slot[__pci_slot]) \
- for (int __pci_func = 0; __pci_func < MAX_PCI_FUNC; __pci_func++) \
- if (((funcp) = (domain)->bus[__pci_bus]->slot[__pci_slot]-> \
- func[__pci_func]))
-
-#define for_each_pci_func3(funcp, domain, addr) \
- for (int __pci_bus = 0; __pci_bus < MAX_PCI_BUSES; __pci_bus++) \
- if ((domain)->bus[__pci_bus]) \
- for (int __pci_slot = 0; __pci_slot < MAX_PCI_DEVICES; __pci_slot++) \
- if ((domain)->bus[__pci_bus]->slot[__pci_slot]) \
- for (int __pci_func = 0; __pci_func < MAX_PCI_FUNC; __pci_func++) \
- if (((addr) = pci_mkaddr(__pci_bus, __pci_slot, __pci_func, 0)), \
- ((funcp) = (domain)->bus[__pci_bus]->slot[__pci_slot]-> \
- func[__pci_func]))
-
-struct match {
- struct match *next;
- uint32_t did;
- uint32_t did_mask;
- uint32_t sid;
- uint32_t sid_mask;
- uint8_t rid_min, rid_max;
- char *filename;
-};
-
-static inline pciaddr_t pci_mkaddr(uint32_t bus, uint32_t dev,
- uint32_t func, uint32_t reg)
-{
- return 0x80000000 | ((bus & 0xff) << 16) | ((dev & 0x1f) << 11) |
- ((func & 0x07) << 8) | (reg & 0xff);
-}
-
-static inline int pci_bus(pciaddr_t addr)
-{
- return (addr >> 16) & 0xff;
-}
-
-static inline int pci_dev(pciaddr_t addr)
-{
- return (addr >> 11) & 0x1f;
-}
-
-static inline int pci_func(pciaddr_t addr)
-{
- return (addr >> 8) & 0x07;
-}
-
-enum pci_config_type {
- PCI_CFG_NONE = -1, /* badness */
- PCI_CFG_AUTO = 0, /* autodetect */
- PCI_CFG_TYPE1 = 1,
- PCI_CFG_TYPE2 = 2,
- PCI_CFG_BIOS = 3,
-};
-
-enum pci_config_type pci_set_config_type(enum pci_config_type);
-
-uint8_t pci_readb(pciaddr_t);
-uint16_t pci_readw(pciaddr_t);
-uint32_t pci_readl(pciaddr_t);
-void pci_writeb(uint8_t, pciaddr_t);
-void pci_writew(uint16_t, pciaddr_t);
-void pci_writel(uint32_t, pciaddr_t);
-
-struct pci_domain *pci_scan(void);
-void free_pci_domain(struct pci_domain *domain);
-struct match *find_pci_device(const struct pci_domain *pci_domain,
- struct match *list);
-int get_name_from_pci_ids(struct pci_domain *pci_domain, char *pciids_path);
-int get_module_name_from_pcimap(struct pci_domain *pci_domain, char *modules_pcimap_path);
-int get_module_name_from_alias(struct pci_domain *pci_domain, char *modules_alias_path);
-int get_class_name_from_pci_ids(struct pci_domain *pci_domain, char *pciids_path);
-void gather_additional_pci_config(struct pci_domain *domain);
-#endif /* _SYS_PCI_H */