diff options
author | adrian <adrian@FreeBSD.org> | 2014-10-09 05:33:25 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2014-10-09 05:33:25 +0000 |
commit | b0c040ce1809e237325c92cba14987d352f8ddbc (patch) | |
tree | ca93e6e4f9d2b5f8feafadeea80a3dd18ad3c56c /sys/sys/bus.h | |
parent | 5dee4f91b50b08745e65149ff2d116be63b5bd50 (diff) | |
download | FreeBSD-src-b0c040ce1809e237325c92cba14987d352f8ddbc.zip FreeBSD-src-b0c040ce1809e237325c92cba14987d352f8ddbc.tar.gz |
Add a bus method to fetch the VM domain for the given device/bus.
* Add a bus_if.m method - get_domain() - returning the VM domain or
ENOENT if the device isn't in a VM domain;
* Add bus methods to print out the domain of the device if appropriate;
* Add code in srat.c to save the PXM -> VM domain mapping that's done and
expose a function to translate VM domain -> PXM;
* Add ACPI and ACPI PCI methods to check if the bus has a _PXM attribute
and if so map it to the VM domain;
* (.. yes, this works recursively.)
* Have the pci bus glue print out the device VM domain if present.
Note: this is just the plumbing to start enumerating information -
it doesn't at all modify behaviour.
Differential Revision: D906
Reviewed by: jhb
Sponsored by: Norse Corp
Diffstat (limited to 'sys/sys/bus.h')
-rw-r--r-- | sys/sys/bus.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/sys/bus.h b/sys/sys/bus.h index f457905..7a2e56b5 100644 --- a/sys/sys/bus.h +++ b/sys/sys/bus.h @@ -331,6 +331,7 @@ struct resource_list * bus_generic_get_resource_list (device_t, device_t); void bus_generic_new_pass(device_t dev); int bus_print_child_header(device_t dev, device_t child); +int bus_print_child_domain(device_t dev, device_t child); int bus_print_child_footer(device_t dev, device_t child); int bus_generic_print_child(device_t dev, device_t child); int bus_generic_probe(device_t dev); @@ -364,6 +365,8 @@ int bus_generic_teardown_intr(device_t dev, device_t child, int bus_generic_write_ivar(device_t dev, device_t child, int which, uintptr_t value); +int bus_generic_get_domain(device_t dev, device_t child, int *domain); + /* * Wrapper functions for the BUS_*_RESOURCE methods to make client code * a little simpler. |