aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64/arm64/gic_v3.c
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2022-09-14 16:29:29 +0000
committerAndrew Turner <andrew@FreeBSD.org>2022-09-21 09:59:13 +0000
commite13c6a6fca7177fb9143ce629c2e33b35b6c4219 (patch)
treea6d40330b15a018b54791d27b39ee39f6d79ae43 /sys/arm64/arm64/gic_v3.c
parent9526031cd5606fe590ef69224d0db1af1603dcfe (diff)
downloadsrc-e13c6a6fca7177fb9143ce629c2e33b35b6c4219.tar.gz
src-e13c6a6fca7177fb9143ce629c2e33b35b6c4219.zip
Diffstat (limited to 'sys/arm64/arm64/gic_v3.c')
-rw-r--r--sys/arm64/arm64/gic_v3.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/arm64/arm64/gic_v3.c b/sys/arm64/arm64/gic_v3.c
index 27f41c58fe92..b4678d95fee5 100644
--- a/sys/arm64/arm64/gic_v3.c
+++ b/sys/arm64/arm64/gic_v3.c
@@ -456,6 +456,7 @@ static int
gic_v3_read_ivar(device_t dev, device_t child, int which, uintptr_t *result)
{
struct gic_v3_softc *sc;
+ struct gic_v3_devinfo *di;
sc = device_get_softc(dev);
@@ -481,6 +482,12 @@ gic_v3_read_ivar(device_t dev, device_t child, int which, uintptr_t *result)
("gic_v3_read_ivar: Invalid bus type %u", sc->gic_bus));
*result = sc->gic_bus;
return (0);
+ case GIC_IVAR_VGIC:
+ di = device_get_ivars(child);
+ if (di == NULL)
+ return (EINVAL);
+ *result = di->is_vgic;
+ return (0);
}
return (ENOENT);