History log of /netbsd-current/sys/arch/arm/cortex/gicv3_its.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.8 31-Oct-2021 skrll

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


Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
# 1.7 16-Jan-2021 jmcneill

Remove MAXCPUS dependency.


Revision tags: netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 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.


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 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


Revision tags: pgoyette-compat-1126
# 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.7 16-Jan-2021 jmcneill

Remove MAXCPUS dependency.


Revision tags: thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base
# 1.6 12-Jun-2019 jmcneill

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.


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 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


Revision tags: pgoyette-compat-1126
# 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.6 12-Jun-2019 jmcneill

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.


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 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


Revision tags: pgoyette-compat-1126
# 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.5 12-Jun-2019 jmcneill

Fail gracefully if gicv3_its_set_affinity is called before a cpu is
brought online.


Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 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


Revision tags: pgoyette-compat-1126
# 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).


Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226
# 1.4 28-Nov-2018 jmcneill

Allow non-power of 2 counts, and support alloc/release/alloc patterns for a device as long as the ITT size is sufficient


Revision tags: pgoyette-compat-1126
# 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).