svn commit: r303887 - head/tools/tools/dmardump
John Baldwin
jhb at freebsd.org
Tue Aug 9 21:25:26 UTC 2016
On Tuesday, August 09, 2016 07:06:05 PM John Baldwin wrote:
> Author: jhb
> Date: Tue Aug 9 19:06:05 2016
> New Revision: 303887
> URL: https://svnweb.freebsd.org/changeset/base/303887
>
> Log:
> Add a dmardump utility to dump the VT-d context tables.
>
> This tool parses the ACPI DMAR table looking for DMA remapping devices.
> For each device it walks the root table and any context tables
> referenced to display mapping info for PCI devices.
>
> Note that acpidump -t already parses the info in the ACPI DMAR tables
> directly. This tool examines some of the data structures the DMAR
> remapping engines use to translate DMA requests.
>
> Reviewed by: kib, grehan
> MFC after: 1 month
> Sponsored by: Chelsio Communications
> Differential Revision: https://reviews.freebsd.org/D7444
I should have mentioned that this tool only supports "normal" context
entry tables. It does not (yet) support extended context entry
tables. However, neither bhyve nor ACPI_DMAR create extended context
entry tables.
Sample output from a machine where ppt0 is passed through to a bhyve
guest:
# ./dmardump
drhd @ 0xfbffc000 (version 1.0) PCI segment 0:
root table @ 0x0x13823f000
PCI bus 0:
{ 0,0 } (hostb0) TR SLPT 0x139e41000 domain 1
{ 1,0 } (pcib2) TR SLPT 0x139e41000 domain 1
{ 2,0 } (pcib3) TR SLPT 0x139e41000 domain 1
{ 3,0 } (pcib4) TR SLPT 0x139e41000 domain 1
{ 3,2 } (pcib5) TR SLPT 0x139e41000 domain 1
{ 3,3 } (pcib6) TR SLPT 0x139e41000 domain 1
{ 4,0 } TR SLPT 0x139e41000 domain 1
{ 4,1 } TR SLPT 0x139e41000 domain 1
{ 4,2 } TR SLPT 0x139e41000 domain 1
{ 4,3 } TR SLPT 0x139e41000 domain 1
{ 4,4 } TR SLPT 0x139e41000 domain 1
{ 4,5 } TR SLPT 0x139e41000 domain 1
{ 4,6 } TR SLPT 0x139e41000 domain 1
{ 4,7 } TR SLPT 0x139e41000 domain 1
{ 5,0 } TR SLPT 0x139e41000 domain 1
{ 5,1 } TR SLPT 0x139e41000 domain 1
{ 5,2 } TR SLPT 0x139e41000 domain 1
{ 5,4 } (ioapic0) TR SLPT 0x139e41000 domain 1
{ 17,0 } TR SLPT 0x139e41000 domain 1
{ 17,4 } (ahci0) TR SLPT 0x139e41000 domain 1
{ 20,0 } (xhci0) TR SLPT 0x139e41000 domain 1
{ 22,0 } TR SLPT 0x139e41000 domain 1
{ 22,1 } TR SLPT 0x139e41000 domain 1
{ 26,0 } (ehci0) TR SLPT 0x139e41000 domain 1
{ 28,0 } (pcib7) TR SLPT 0x139e41000 domain 1
{ 28,6 } (pcib8) TR SLPT 0x139e41000 domain 1
{ 29,0 } (ehci1) TR SLPT 0x139e41000 domain 1
{ 31,0 } (isab0) TR SLPT 0x139e41000 domain 1
{ 31,2 } (ahci1) TR SLPT 0x139e41000 domain 1
{ 31,3 } TR SLPT 0x139e41000 domain 1
{ 31,6 } TR SLPT 0x139e41000 domain 1
PCI bus 3:
{ 0,0 } (t5iov0) TR SLPT 0x139e41000 domain 1
{ 0,1 } (t5iov1) TR SLPT 0x139e41000 domain 1
{ 0,2 } (t5iov2) TR SLPT 0x139e41000 domain 1
{ 0,3 } (t5iov3) TR SLPT 0x139e41000 domain 1
{ 0,4 } (t5nex0) TR SLPT 0x139e41000 domain 1
{ 0,5 } TR SLPT 0x139e41000 domain 1
{ 0,6 } TR SLPT 0x139e41000 domain 1
{ 0,8 } (ppt0) TR SLPT 0x1a157b000 domain 2
PCI bus 5:
{ 0,0 } (igb0) TR SLPT 0x139e41000 domain 1
{ 0,1 } (igb1) TR SLPT 0x139e41000 domain 1
PCI bus 7:
{ 0,0 } (pcib9) TR SLPT 0x139e41000 domain 1
PCI bus 8:
{ 0,0 } (vgapci0) TR SLPT 0x139e41000 domain 1
--
John Baldwin
More information about the svn-src-head
mailing list