diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-05-23 11:27:09 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-05-23 11:28:25 -0400 |
commit | a9cf782445fd4eab6cff5a41c1f778e2c702274a (patch) | |
tree | b9e8d39b60f78a8d1c165fadf040ce99cf8efcdd | |
parent | 0932c20560574696cf87ddd12623e8c423ee821b (diff) | |
download | seabios-a9cf782445fd4eab6cff5a41c1f778e2c702274a.tar.gz |
pciinit: Use %pP shorthand for printing device ids in intel_igd_setup()
The hardcoded device names can cause false-positives on Windows bios
version checks. Use the %pP format to avoid that.
Reported-by: Sam Eiderman <shmuel.eiderman@oracle.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r-- | src/fw/pciinit.c | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c index c0634bcb..d5e87f00 100644 --- a/src/fw/pciinit.c +++ b/src/fw/pciinit.c @@ -292,12 +292,10 @@ static void intel_igd_setup(struct pci_device *dev, void *arg) { struct romfile_s *opregion = romfile_find("etc/igd-opregion"); u64 bdsm_size = le64_to_cpu(romfile_loadint("etc/igd-bdsm-size", 0)); - void *addr; - u16 bdf = dev->bdf; /* Apply OpRegion to any Intel VGA device, more than one is undefined */ if (opregion && opregion->size) { - addr = memalign_high(PAGE_SIZE, opregion->size); + void *addr = memalign_high(PAGE_SIZE, opregion->size); if (!addr) { warn_noalloc(); return; @@ -308,16 +306,15 @@ static void intel_igd_setup(struct pci_device *dev, void *arg) return; } - pci_config_writel(bdf, 0xFC, cpu_to_le32((u32)addr)); + pci_config_writel(dev->bdf, 0xFC, cpu_to_le32((u32)addr)); - dprintf(1, "Intel IGD OpRegion enabled at 0x%08x, size %dKB, dev " - "%02x:%02x.%x\n", (u32)addr, opregion->size >> 10, - pci_bdf_to_bus(bdf), pci_bdf_to_dev(bdf), pci_bdf_to_fn(bdf)); + dprintf(1, "Intel IGD OpRegion enabled at 0x%08x, size %dKB, dev %pP\n" + , (u32)addr, opregion->size >> 10, dev); } /* Apply BDSM only to Intel VGA at 00:02.0 */ - if (bdsm_size && (bdf == pci_to_bdf(0, 2, 0))) { - addr = memalign_tmphigh(1024 * 1024, bdsm_size); + if (bdsm_size && (dev->bdf == pci_to_bdf(0, 2, 0))) { + void *addr = memalign_tmphigh(1024 * 1024, bdsm_size); if (!addr) { warn_noalloc(); return; @@ -325,10 +322,10 @@ static void intel_igd_setup(struct pci_device *dev, void *arg) e820_add((u32)addr, bdsm_size, E820_RESERVED); - pci_config_writel(bdf, 0x5C, cpu_to_le32((u32)addr)); + pci_config_writel(dev->bdf, 0x5C, cpu_to_le32((u32)addr)); - dprintf(1, "Intel IGD BDSM enabled at 0x%08x, size %lldMB, dev " - "00:02.0\n", (u32)addr, bdsm_size >> 20); + dprintf(1, "Intel IGD BDSM enabled at 0x%08x, size %lldMB, dev %pP\n" + , (u32)addr, bdsm_size >> 20, dev); } } |