summaryrefslogtreecommitdiffstats
path: root/contrib/syslinux/latest/com32/sysdump/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/syslinux/latest/com32/sysdump/pci.c')
-rw-r--r--contrib/syslinux/latest/com32/sysdump/pci.c70
1 files changed, 0 insertions, 70 deletions
diff --git a/contrib/syslinux/latest/com32/sysdump/pci.c b/contrib/syslinux/latest/com32/sysdump/pci.c
deleted file mode 100644
index 1d68727..0000000
--- a/contrib/syslinux/latest/com32/sysdump/pci.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Dump PCI device headers
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <sys/pci.h>
-#include "sysdump.h"
-#include "backend.h"
-
-static void dump_pci_device(struct backend *be, pciaddr_t a, uint8_t hdrtype)
-{
- unsigned int bus = pci_bus(a);
- unsigned int dev = pci_dev(a);
- unsigned int func = pci_func(a);
- uint8_t data[256];
- unsigned int i;
- char filename[32];
-
- hdrtype &= 0x7f;
-
- printf("Scanning PCI bus... %02x:%02x.%x\r", bus, dev, func);
-
- /* Assume doing a full device dump is actually safe... */
- for (i = 0; i < sizeof data; i += 4)
- *(uint32_t *)(data+i) = pci_readl(a + i);
-
- snprintf(filename, sizeof filename, "pci/%02x:%02x.%x",
- bus, dev, func);
- cpio_writefile(be, filename, data, sizeof data);
-}
-
-void dump_pci(struct backend *be)
-{
- int cfgtype;
- unsigned int nbus, ndev, nfunc, maxfunc;
- pciaddr_t a;
- uint32_t did;
- uint8_t hdrtype;
-
- cfgtype = pci_set_config_type(PCI_CFG_AUTO);
- if (cfgtype == PCI_CFG_NONE)
- return;
-
- cpio_mkdir(be, "pci");
-
- for (nbus = 0; nbus < MAX_PCI_BUSES; nbus++) {
- for (ndev = 0; ndev < MAX_PCI_DEVICES; ndev++) {
- maxfunc = 1; /* Assume a single-function device */
-
- for (nfunc = 0; nfunc < maxfunc; nfunc++) {
- a = pci_mkaddr(nbus, ndev, nfunc, 0);
- did = pci_readl(a);
-
- if (did == 0xffffffff || did == 0xffff0000 ||
- did == 0x0000ffff || did == 0x00000000)
- continue;
-
- hdrtype = pci_readb(a + 0x0e);
- if (hdrtype & 0x80)
- maxfunc = MAX_PCI_FUNC; /* Multifunction device */
-
- dump_pci_device(be, a, hdrtype);
- }
- }
- }
-
- printf("Scanning PCI bus... done. \n");
-}