summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pciconf
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/pciconf')
-rw-r--r--usr.sbin/pciconf/cap.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/usr.sbin/pciconf/cap.c b/usr.sbin/pciconf/cap.c
index b0ec40f..f744a5e 100644
--- a/usr.sbin/pciconf/cap.c
+++ b/usr.sbin/pciconf/cap.c
@@ -243,16 +243,21 @@ cap_ht(int fd, struct pci_conf *p, uint8_t ptr)
printf("address mapping");
break;
case PCIM_HTCAP_MSI_MAPPING:
- printf("MSI address window %s at 0x",
+ printf("MSI %saddress window %s at 0x",
+ command & PCIM_HTCMD_MSI_FIXED ? "fixed " : "",
command & PCIM_HTCMD_MSI_ENABLE ? "enabled" :
"disabled");
- reg = read_config(fd, &p->pc_sel,
- ptr + PCIR_HTMSI_ADDRESS_HI, 4);
- if (reg != 0)
+ if (command & PCIM_HTCMD_MSI_FIXED)
+ printf("fee00000");
+ else {
+ reg = read_config(fd, &p->pc_sel,
+ ptr + PCIR_HTMSI_ADDRESS_HI, 4);
+ if (reg != 0)
+ printf("%08x", reg);
+ reg = read_config(fd, &p->pc_sel,
+ ptr + PCIR_HTMSI_ADDRESS_LO, 4);
printf("%08x", reg);
- reg = read_config(fd, &p->pc_sel,
- ptr + PCIR_HTMSI_ADDRESS_LO, 4);
- printf("%08x", reg);
+ }
break;
case PCIM_HTCAP_DIRECT_ROUTE:
printf("direct route");
OpenPOWER on IntegriCloud