diff options
author | jhb <jhb@FreeBSD.org> | 2007-04-25 14:45:46 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2007-04-25 14:45:46 +0000 |
commit | 17f3e614047b9b800525776e959806edc9b86ec9 (patch) | |
tree | 8079eea8aaa982d2b22cbe8f1897b8fd10148a26 /usr.sbin | |
parent | 13ff2a251e08af15fffb42ab27df99b25b4e0bf7 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | usr.sbin/pciconf/cap.c | 19 |
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"); |