aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64/arm64/gic_v3.c
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2022-09-22 10:50:15 +0000
committerAndrew Turner <andrew@FreeBSD.org>2022-09-23 14:28:45 +0000
commitbdc9ece97b80c3a8b8c9161d95ef908172eb316a (patch)
tree4205b85d6d9d6ce4004ca5c986139162548f84c8 /sys/arm64/arm64/gic_v3.c
parent6fc6896c474483b3cf34b83fb85f8e9f8cabc8a1 (diff)
downloadsrc-bdc9ece97b80c3a8b8c9161d95ef908172eb316a.tar.gz
src-bdc9ece97b80c3a8b8c9161d95ef908172eb316a.zip
Diffstat (limited to 'sys/arm64/arm64/gic_v3.c')
-rw-r--r--sys/arm64/arm64/gic_v3.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/arm64/arm64/gic_v3.c b/sys/arm64/arm64/gic_v3.c
index b4678d95fee5..759d50f0941e 100644
--- a/sys/arm64/arm64/gic_v3.c
+++ b/sys/arm64/arm64/gic_v3.c
@@ -77,6 +77,7 @@ __FBSDID("$FreeBSD$");
#include "gic_v3_reg.h"
#include "gic_v3_var.h"
+static bus_print_child_t gic_v3_print_child;
static bus_get_domain_t gic_v3_get_domain;
static bus_read_ivar_t gic_v3_read_ivar;
static bus_write_ivar_t gic_v3_write_ivar;
@@ -119,6 +120,7 @@ static device_method_t gic_v3_methods[] = {
DEVMETHOD(device_detach, gic_v3_detach),
/* Bus interface */
+ DEVMETHOD(bus_print_child, gic_v3_print_child),
DEVMETHOD(bus_get_domain, gic_v3_get_domain),
DEVMETHOD(bus_read_ivar, gic_v3_read_ivar),
DEVMETHOD(bus_write_ivar, gic_v3_write_ivar),
@@ -440,6 +442,21 @@ gic_v3_detach(device_t dev)
}
static int
+gic_v3_print_child(device_t bus, device_t child)
+{
+ struct resource_list *rl;
+ int retval = 0;
+
+ rl = BUS_GET_RESOURCE_LIST(bus, child);
+ KASSERT(rl != NULL, ("%s: No resource list", __func__));
+ retval += bus_print_child_header(bus, child);
+ retval += resource_list_print_type(rl, "mem", SYS_RES_MEMORY, "%#jx");
+ retval += bus_print_child_footer(bus, child);
+
+ return (retval);
+}
+
+static int
gic_v3_get_domain(device_t dev, device_t child, int *domain)
{
struct gic_v3_devinfo *di;