Page MenuHomeFreeBSD

D53663.id166700.diff
No OneTemporary

D53663.id166700.diff

diff --git a/sys/arm/arm/gic.c b/sys/arm/arm/gic.c
--- a/sys/arm/arm/gic.c
+++ b/sys/arm/arm/gic.c
@@ -517,6 +517,9 @@
case GIC_IVAR_VGIC:
*result = 0;
return (0);
+ case GIC_IVAR_SUPPORT_LPIS:
+ *result = false;
+ return (0);
}
return (ENOENT);
diff --git a/sys/arm/arm/gic_common.h b/sys/arm/arm/gic_common.h
--- a/sys/arm/arm/gic_common.h
+++ b/sys/arm/arm/gic_common.h
@@ -38,6 +38,7 @@
#define GIC_IVAR_HW_REV 500
#define GIC_IVAR_BUS 501
#define GIC_IVAR_VGIC 502
+#define GIC_IVAR_SUPPORT_LPIS 503
/* GIC_IVAR_BUS values */
#define GIC_BUS_UNKNOWN 0
@@ -48,6 +49,7 @@
__BUS_ACCESSOR(gic, hw_rev, GIC, HW_REV, u_int);
__BUS_ACCESSOR(gic, bus, GIC, BUS, u_int);
__BUS_ACCESSOR(gic, vgic, GIC, VGIC, u_int);
+__BUS_ACCESSOR(gic, support_lpis, GIC, SUPPORT_LPIS, bool);
/* Software Generated Interrupts */
#define GIC_FIRST_SGI 0 /* Irqs 0-15 are SGIs/IPIs. */
diff --git a/sys/arm64/arm64/gic_v3.c b/sys/arm64/arm64/gic_v3.c
--- a/sys/arm64/arm64/gic_v3.c
+++ b/sys/arm64/arm64/gic_v3.c
@@ -494,6 +494,7 @@
case GICV3_IVAR_REDIST:
*result = (uintptr_t)&sc->gic_redists.pcpu[PCPU_GET(cpuid)];
return (0);
+ case GIC_IVAR_SUPPORT_LPIS:
case GICV3_IVAR_SUPPORT_LPIS:
*result =
(gic_d_read(sc, 4, GICD_TYPER) & GICD_TYPER_LPIS) != 0;

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 6, 8:01 AM (11 h, 28 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36017243
Default Alt Text
D53663.id166700.diff (1 KB)

Event Timeline