Page MenuHomeFreeBSD

D46094.1775895989.diff
No OneTemporary

Size
937 B
Referenced Files
None
Subscribers
None

D46094.1775895989.diff

diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c
--- a/sys/arm64/arm64/gicv3_its.c
+++ b/sys/arm64/arm64/gicv3_its.c
@@ -586,11 +586,20 @@
its_tbl_size = l1_esize * l1_nidents;
its_tbl_size = roundup2(its_tbl_size, page_size);
break;
- case GITS_BASER_TYPE_VP:
case GITS_BASER_TYPE_PP: /* Undocumented? */
case GITS_BASER_TYPE_IC:
its_tbl_size = page_size;
break;
+ case GITS_BASER_TYPE_VP:
+ /*
+ * If GITS_TYPER.SVPET != 0, the pending table is
+ * shared amongst the redistibutors and ther other
+ * ITSes. Requiring sharing across the ITSes when none
+ * of the redistributors have GICR_VPROPBASER.Valid==1
+ * isn't specified in the architecture, but that's how
+ * the GIC-700 behaves. We don't handle vPE tables at
+ * all yet, so just skip this base register.
+ */
default:
if (bootverbose)
device_printf(dev, "Unhandled table type %lx\n",

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 11, 8:26 AM (3 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28323632
Default Alt Text
D46094.1775895989.diff (937 B)

Event Timeline