[PATCH v1] x86/PCI: Make pci=earlydump output neat
From: Andy Shevchenko
Date: Thu Apr 05 2018 - 08:12:14 EST
Currently the early dump of PCI configuration space looks quite unhelpful, e.g.
[ 0.000000] 60:
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000] 00
[ 0.000000]
which makes really hard to get anything out of this. Convert the function to
use print_hex_dump() to make output neat.
In the result we will have
[ 0.000000] 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
which is much, much better.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
arch/x86/pci/early.c | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/arch/x86/pci/early.c b/arch/x86/pci/early.c
index f0114007e915..53a87692d687 100644
--- a/arch/x86/pci/early.c
+++ b/arch/x86/pci/early.c
@@ -59,24 +59,15 @@ int early_pci_allowed(void)
void early_dump_pci_device(u8 bus, u8 slot, u8 func)
{
+ u32 value[256 / 4];
int i;
- int j;
- u32 val;
- printk(KERN_INFO "pci 0000:%02x:%02x.%d config space:",
- bus, slot, func);
+ pr_info("pci 0000:%02x:%02x.%d config space:\n", bus, slot, func);
- for (i = 0; i < 256; i += 4) {
- if (!(i & 0x0f))
- printk("\n %02x:",i);
+ for (i = 0; i < 256; i += 4)
+ value[i/4] = read_pci_config(bus, slot, func, i);
- val = read_pci_config(bus, slot, func, i);
- for (j = 0; j < 4; j++) {
- printk(" %02x", val & 0xff);
- val >>= 8;
- }
- }
- printk("\n");
+ print_hex_dump(KERN_INFO, "", DUMP_PREFIX_OFFSET, 16, 1, value, 256, false);
}
void early_dump_pci_devices(void)
--
2.16.3