#
5dee5702 |
| 21-Dec-2022 |
kettenis <kettenis@openbsd.org> |
Pull enabling/disabling wakeup interrupt handling out of the aplintc(4) DVACT_SUSPEND/DVACT_RESUME handling and push it into the MD code that handles "suspend-to-idle". This way a failure in DVACT_S
Pull enabling/disabling wakeup interrupt handling out of the aplintc(4) DVACT_SUSPEND/DVACT_RESUME handling and push it into the MD code that handles "suspend-to-idle". This way a failure in DVACT_SUSPEND handling will not result in hosed interrupts on the primary interrupt controller if we abort the suspend operation.
requested by deraadt@ ok patrick@
show more ...
|
#
f9b35d7e |
| 02-Jan-2022 |
kettenis <kettenis@openbsd.org> |
Don't use != 0 to check whether a pointer is non-NULL.
|
#
9fdf0c62 |
| 24-Oct-2021 |
mpi <mpi@openbsd.org> |
Constify struct cfattach.
ok visa@ a long time ago, ok patrick@
|
#
c5eae130 |
| 02-Jul-2021 |
kettenis <kettenis@openbsd.org> |
Avoid spinning with interrupts disabled in the rpi3.
tested by sthen@ (a while ago)
|
#
daf2e6cc |
| 15-May-2021 |
kettenis <kettenis@openbsd.org> |
Use intr_enable()/int_disable()/intr_restore() instead of enable_interrupts()/disable_interrupts()/restore_interrupts() and remove the latter interfaces.
While there move a few malloc(9) and free(9)
Use intr_enable()/int_disable()/intr_restore() instead of enable_interrupts()/disable_interrupts()/restore_interrupts() and remove the latter interfaces.
While there move a few malloc(9) and free(9) calls to run with interrupts enabled.
ok patrick@
show more ...
|
#
adc7c282 |
| 17-Feb-2021 |
kettenis <kettenis@openbsd.org> |
Add support for FIQs. We need these to support agtimer(4) on Apple M1 SoCs since its interrupts seem to be hardwared to trigger an FIQ instead of an IRQ. This means we need to manipulate both the F
Add support for FIQs. We need these to support agtimer(4) on Apple M1 SoCs since its interrupts seem to be hardwared to trigger an FIQ instead of an IRQ. This means we need to manipulate both the F and the I bit in the DAIF register when enabling and disabling interrupts.
ok patrick@
show more ...
|
#
789e88a4 |
| 14-Jul-2020 |
patrick <patrick@openbsd.org> |
Extend the interrupt API on arm64 and armv7 to be able to pass around a struct cpu_info *. From a driver point of view the fdt_intr_establish_* API now also exist same functions with a *_cpu suffix.
Extend the interrupt API on arm64 and armv7 to be able to pass around a struct cpu_info *. From a driver point of view the fdt_intr_establish_* API now also exist same functions with a *_cpu suffix. Internally the "old" functions now call their *_cpu counterparts, passing NULL as ci. NULL will be interpreted as primary CPU in the interrupt controller code.
The internal framework for interrupt controllers has been changed so that the establish methods provided by an interrupt controller function always takes a struct cpu_info *.
Some drivers, like imxgpio(4) and rkgpio(4), only have a single interrupt line for multiple pins. On those we simply disallow trying to establish an interrupt on a non-primary CPU, returning NULL.
Since we do not have MP yet on armv7, all armv7 interrupt controllers do return NULL if an attempt is made to establish an interrupt on a different CPU. That said, so far there's no way this can happen. If we ever gain MP support, this is a reminder that the interrupt controller drivers have to be adjusted.
Prompted by dlg@ ok kettenis@
show more ...
|
#
bac9d37b |
| 24-Feb-2018 |
jsg <jsg@openbsd.org> |
Enable interrupts while running interrupt handlers like we do on agintc(4) and ampintc(4).
ok kettenis@ patrick@
|
#
c17fcd93 |
| 23-Feb-2018 |
kettenis <kettenis@openbsd.org> |
Disable mailbox interrupts on all cores upon attach instead of enabling the mailbox 0 interrupt on all cores. Seems to make GENERIC.MP work on the rpi3.
|
#
8ee69c32 |
| 01-Feb-2018 |
deraadt <deraadt@openbsd.org> |
handle ramdisk not containing ddb, so that builds can proceed
|
#
d7e3db9c |
| 31-Jan-2018 |
kettenis <kettenis@openbsd.org> |
Add MULTIPROCESSOR support to the interrupt controller drivers. This makes the secondary CPUs receive clock interrupts. Based on diffs from drahn@.
ok patrick@
|
#
7a7b3fac |
| 12-Jan-2018 |
kettenis <kettenis@openbsd.org> |
Add MULTIPROCESSOR basics for arm64. Enough to build and run a kernel with option MULTIPROCESSOR on a single CPU.
ok patrick@
|
#
e97088d6 |
| 30-Apr-2017 |
mpi <mpi@openbsd.org> |
Rename Debugger() into db_enter().
Using a name with the 'db_' prefix makes it invisible from the dynamic profiler.
ok deraadt@, kettenis@, visa@
|
#
bcf65348 |
| 24-Feb-2017 |
patrick <patrick@openbsd.org> |
Retire the global interrupt establish and disestablish API. It has been of good use for supporting multiple SoCs with each their own interrupt controllers, but as of now we have replaced it wit the
Retire the global interrupt establish and disestablish API. It has been of good use for supporting multiple SoCs with each their own interrupt controllers, but as of now we have replaced it wit the FDT-enabled API.
ok kettenis@
show more ...
|
#
c3afe89a |
| 23-Jan-2017 |
kettenis <kettenis@openbsd.org> |
Add drivers for the Raspberry Pi 3.
|