summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pciconf
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2007-04-25 14:45:46 +0000
committerjhb <jhb@FreeBSD.org>2007-04-25 14:45:46 +0000
commit17f3e614047b9b800525776e959806edc9b86ec9 (patch)
tree8079eea8aaa982d2b22cbe8f1897b8fd10148a26 /usr.sbin/pciconf
parent13ff2a251e08af15fffb42ab27df99b25b4e0bf7 (diff)
downloadFreeBSD-src-17f3e614047b9b800525776e959806edc9b86ec9.zip
FreeBSD-src-17f3e614047b9b800525776e959806edc9b86ec9.tar.gz
- HT 2.00b added a new flag to the MSI mapping HT capability to indicate
that the MSI mapping window is fixed at 0xfee00000 and the capability does not include two more dwords used to program the address. Supporting this mostly results in quieting spurious warnings during boot about non-default MSI mapping windows. - HT 2.00b also added a new HT capability type, so support that in pciconf. MFC after: 3 days Tested by: jmg
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