summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pciconf
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2009-02-15 09:56:47 +0000
committermav <mav@FreeBSD.org>2009-02-15 09:56:47 +0000
commitc77b4d9c80c057656da35a310ce37f07de6c6123 (patch)
tree26fdd374c87d43107c053a96ae554180b6202a57 /usr.sbin/pciconf
parentd0e411faf1a5b34ca3251c124602e44cc97e0cb7 (diff)
downloadFreeBSD-src-c77b4d9c80c057656da35a310ce37f07de6c6123.zip
FreeBSD-src-c77b4d9c80c057656da35a310ce37f07de6c6123.tar.gz
Add SATA and PCI Advanced Features capabilities reporting.
Diffstat (limited to 'usr.sbin/pciconf')
-rw-r--r--usr.sbin/pciconf/cap.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/usr.sbin/pciconf/cap.c b/usr.sbin/pciconf/cap.c
index 4c18a7f..987c959 100644
--- a/usr.sbin/pciconf/cap.c
+++ b/usr.sbin/pciconf/cap.c
@@ -414,6 +414,24 @@ cap_msix(int fd, struct pci_conf *p, uint8_t ptr)
printf(" enabled");
}
+static void
+cap_sata(int fd, struct pci_conf *p, uint8_t ptr)
+{
+
+ printf("SATA Index-Data Pair");
+}
+
+static void
+cap_pciaf(int fd, struct pci_conf *p, uint8_t ptr)
+{
+ uint8_t cap;
+
+ cap = read_config(fd, &p->pc_sel, ptr + PCIR_PCIAF_CAP, 1);
+ printf("PCI Advanced Features: %s%s",
+ (cap & PCIM_PCIAFCAP_FLR)?"FLR ":"",
+ (cap & PCIM_PCIAFCAP_TP)?"TP ":"");
+}
+
void
list_caps(int fd, struct pci_conf *p)
{
@@ -476,6 +494,12 @@ list_caps(int fd, struct pci_conf *p)
case PCIY_MSIX:
cap_msix(fd, p, ptr);
break;
+ case PCIY_SATA:
+ cap_sata(fd, p, ptr);
+ break;
+ case PCIY_PCIAF:
+ cap_pciaf(fd, p, ptr);
+ break;
default:
printf("unknown");
break;
OpenPOWER on IntegriCloud