Home | History | Annotate | Download | only in cortex
History log of /src/sys/arch/arm/cortex/gicv3_its.h
RevisionDateAuthorComments
 1.10  28-Jan-2025  jmcneill gicv3_its: rename pt_dev_id to pt_index
 1.9  07-Dec-2024  jmcneill gicv3: ITS: Add support for indirect device tables.

When devbits is too large to fit into the first level of device table,
some hardware supports the concept of indirect tables. Add support for
this and use it when supported.

This is required for MSIs to work properly on Snapdragon X Elite platforms
(otherwise, MAPD command fails and stalls the ITS command queue).
 1.8  31-Oct-2021  skrll branches: 1.8.10;
Rework Arm (32bit and 64bit) AP startup so that cpu_hatch doesn't sleep.

The AP initialisation code in cpu_init_secondary_processor will read and
initialise the required system registers and state for the BP to attach
and report.

Rework the interrupt handler code for this new sequence. Thankfully,
this removes a bunch of code for bcm2836mp.

The VFP detection handler on <= armv7 relies on the global undefined
handler being in place until the BP attaches vfp. That is, after the
APs have been spun up.

gicv3_its.c has a serialisation issue which is protected against in
the gicv3_its_cpu_init, which is called from cpu_hatch, with a spin
lock. The serialisation issue needs addressing more completely.

Tested on RPI3, Apple M1, QEMU, and lx2k

Fixes PR port-arm/56264:
diagnostic assertion "l->l_stat == LSONPROC" failed on RPI3
 1.7  16-Jan-2021  jmcneill Remove MAXCPUS dependency.
 1.6  12-Jun-2019  jmcneill branches: 1.6.10;
Allow set_affinity calls before PEs are brought online. We store the
desired target PE if set_affinity is called early and restore the routes
when the PE comes alive.
 1.5  12-Jun-2019  jmcneill Fail gracefully if gicv3_its_set_affinity is called before a cpu is
brought online.
 1.4  28-Nov-2018  jmcneill branches: 1.4.4;
Allow non-power of 2 counts, and support alloc/release/alloc patterns for a device as long as the ITT size is sufficient
 1.3  24-Nov-2018  jakllsch branches: 1.3.2;
include dev/pci/pcivar.h, we use pci_attach_args directly
 1.2  10-Nov-2018  jmcneill Implement pic_get_affinity/pic_set_affinity for LPIs via ITS
 1.1  09-Nov-2018  jmcneill Add support for GICv3 Locality-specific Periphal Interrupts (LPIs) and the
Interrupt Translation Service (ITS).
 1.3.2.3  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.3.2.2  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.3.2.1  24-Nov-2018  pgoyette file gicv3_its.h was added on branch pgoyette-compat on 2018-11-26 01:52:18 +0000
 1.4.4.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.4.4.2  10-Jun-2019  christos Sync with HEAD
 1.4.4.1  28-Nov-2018  christos file gicv3_its.h was added on branch phil-wifi on 2019-06-10 22:05:52 +0000
 1.6.10.1  03-Apr-2021  thorpej Sync with HEAD.
 1.8.10.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed