#
e0a8645c |
| 19-Nov-2022 |
yamt <yamt@NetBSD.org> |
bcm2835_intr.c: fix !MULTIPROCESSOR
Tested on Raspberry PI 3 model A+.
|
#
4bece3da |
| 25-Jun-2022 |
jmcneill <jmcneill@NetBSD.org> |
pic: Update ci_cpl in pic_set_priority callback.
Not all ICs need interrupts disabled to update the priority. DAIF accesses are not cheap, so push the update of ci_cpl from pic_set_priority to the I
pic: Update ci_cpl in pic_set_priority callback.
Not all ICs need interrupts disabled to update the priority. DAIF accesses are not cheap, so push the update of ci_cpl from pic_set_priority to the IC's pic_set_priority callback, and let the IC driver determine whether or not it needs interrupts disabled.
show more ...
|
#
0ab152a3 |
| 31-Oct-2021 |
skrll <skrll@NetBSD.org> |
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 f
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
show more ...
|
#
f1f1ef70 |
| 12-Sep-2021 |
nat <nat@NetBSD.org> |
Fix build for uniprocessor.
|
#
d219f6cc |
| 01-Sep-2021 |
jmcneill <jmcneill@NetBSD.org> |
Install IPI handler with non-NULL context.
A side effect of interrupt handlers with NULL context when using armpic is that the interrupt handler is only called from interrupt context, not when lower
Install IPI handler with non-NULL context.
A side effect of interrupt handlers with NULL context when using armpic is that the interrupt handler is only called from interrupt context, not when lowering spl!
show more ...
|
#
4f1d096c |
| 01-Sep-2021 |
rin <rin@NetBSD.org> |
PR port-arm/56264
Register all PICs when bcmicu1 is attached, in order to avoid calling pic_add() from cpu_hatch(), which blocks for aarch64 kernel on RPI3. This prevented MP kernel to boot due to K
PR port-arm/56264
Register all PICs when bcmicu1 is attached, in order to avoid calling pic_add() from cpu_hatch(), which blocks for aarch64 kernel on RPI3. This prevented MP kernel to boot due to KASSERT failure as described in the PR.
This is a kind of a workaround; the real fix should be to
(a) reorganize cpu_hatch() for aarch64 and arm: http://mail-index.netbsd.org/port-arm/2021/06/21/msg007320.html
(b) or change MI abstraction of ``MP ready'': http://mail-index.netbsd.org/port-arm/2021/06/22/msg007327.html
However, still, this fix does not bring about any penalty, and it is not good to leave RPI3 broken for months...
Tested on RPI3 (aarch64 MP, armv7hf MP) as well as RPI1 (armv6hf UP).
show more ...
|
#
731f5db8 |
| 08-Mar-2021 |
mlelstv <mlelstv@NetBSD.org> |
Move interrupt register definitions to driver.
|
#
8e90f9ed |
| 27-Jan-2021 |
thorpej <thorpej@NetBSD.org> |
Rename of_match_compat_data() to of_compatible_match(). Similarly, rename of_search_compatible() to of_compatible_lookup().
Standardize on of_compatible_match() for driver matching, and adapt all c
Rename of_match_compat_data() to of_compatible_match(). Similarly, rename of_search_compatible() to of_compatible_lookup().
Standardize on of_compatible_match() for driver matching, and adapt all call sites.
show more ...
|
#
42ef9f60 |
| 25-Jan-2021 |
thorpej <thorpej@NetBSD.org> |
Since we're using designated initialisers for compat data, we should use a completely empty initializer for the sentinel.
|
#
7c2ad6b8 |
| 19-Jan-2021 |
thorpej <thorpej@NetBSD.org> |
Use device_compatible_entry / of_search_compatible() rather than matching against multiple sets of compatibility strings.
|
#
366e5a5b |
| 15-Jan-2021 |
jmcneill <jmcneill@NetBSD.org> |
Add 'const char *xname' arg to fdtbus_interrupt_controller_func .establish
|
#
6a83c6e9 |
| 16-Dec-2020 |
christos <christos@NetBSD.org> |
interupt -> interrupt
|
#
483c6a3d |
| 15-Feb-2020 |
skrll <skrll@NetBSD.org> |
Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for dri
Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
show more ...
|
#
f3949cb6 |
| 20-Jan-2020 |
mrg <mrg@NetBSD.org> |
use arm_cpu_mpidr() and fix arm64 builds.
|
#
4fcb6597 |
| 19-Jan-2020 |
skrll <skrll@NetBSD.org> |
ci_core_id isn't setup early enough after recent arm_cpu_topology changes, so use ci_mpidr as a stop gap fix for cpuid
|
#
68447a06 |
| 26-Dec-2019 |
skrll <skrll@NetBSD.org> |
Use PIC_IRQBASE_ALLOC for all pic_add calls and track/use each cpu irqbase
|
#
b131f838 |
| 25-Dec-2019 |
skrll <skrll@NetBSD.org> |
Use PIC_IRQBASE_ALLOC and allow conditional attachment of interrupt handlers (for RPI4)
|
#
7336dd2c |
| 29-Nov-2019 |
thorpej <thorpej@NetBSD.org> |
Account for the IRQ offset on the bcm2836.
|
#
3271ee37 |
| 28-Nov-2019 |
thorpej <thorpej@NetBSD.org> |
Jared points out that interrupt_distribute(9) assumes that any interrupt handle can be used as an input to the MD interrupt_distribute implementation so we are forced to return the handle we got back
Jared points out that interrupt_distribute(9) assumes that any interrupt handle can be used as an input to the MD interrupt_distribute implementation so we are forced to return the handle we got back from intr_establish(). Upshot is that the input to bcm2835_icu_fdt_disestablish() is ambiguous for shared IRQs, rendering them un-disestablishable.
While here, make sure to actually bump the intr_refcnt, and add an assertion on the value we get back from bcm2835_icu_fdt_decode_irq().
show more ...
|
#
9d9b14b4 |
| 28-Nov-2019 |
thorpej <thorpej@NetBSD.org> |
There are some devices on the bcm283x that share IRQs (notably, the i2c controllers), but the generic ARM PIC code doesn't support this. Add a workaround inspired by the GICv3 driver (thanks Jared f
There are some devices on the bcm283x that share IRQs (notably, the i2c controllers), but the generic ARM PIC code doesn't support this. Add a workaround inspired by the GICv3 driver (thanks Jared for pointint it out).
show more ...
|
#
747c91dd |
| 25-Sep-2019 |
skrll <skrll@NetBSD.org> |
Sprinkle KASSERTs
|
#
ed99b01a |
| 25-Sep-2019 |
skrll <skrll@NetBSD.org> |
Sprinkle static
|
#
8610ab44 |
| 25-Sep-2019 |
skrll <skrll@NetBSD.org> |
KNF
|
#
3a1b0cdf |
| 25-Sep-2019 |
skrll <skrll@NetBSD.org> |
Whitespace
|
#
59af016b |
| 27-Mar-2019 |
ryo <ryo@NetBSD.org> |
Fix to show counters of "bcm2836 pic" by "intrctl list" correctly.
|