#
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).
|