the bitrig haesbaert_intrapi branch has been created by haesbaert.

it is 0 commits behind master, and 1 commit ahead.

commit a389aa425b509a83573091b36fe6002d64a32aed
diff: https://github.com/bitrig/bitrig/commit/a389aa4
author: Christiano F. Haesbaert <[email protected]>
date: Wed Feb 11 00:11:32 2015 +0100

Introduce a generic intr enable/disable API.

This introduces the following functions that can be called from MI
code:

void            intr_enable(void)
intr_state_t    intr_disable(void)
void            intr_restore(intr_state_t)
intr_state_t    intr_get(void)

intr_state_t is an opaque type, and if the caller handles it directly,
it should be put to death.

We can now effectively move __mp_locks to an MI implementation.

AMD64 bits
~~~~~~~~~~

Nothing special, the api maps it completely, most of the code was
doing the read_rflags() and restoring the state correctly.

ARM bits.
~~~~~~~~

Use the generic intr_* API when possible, use the MD one on very
specific places where there is a clear intend differentiate between
I32_bit and F32_bit.

Standarize the names and arguments:

disable_interrupts()->arm_intr_disable() (MD)
enable_interrupts() ->arm_intr_enable()  (MD)
...

Move the generic one to intr.h, as in amd64, this is enough for MD
code to use the generic intr_state_t.

M       sys/arch/amd64/amd64/amd64_mem.c
M       sys/arch/amd64/amd64/cpu.c
M       sys/arch/amd64/amd64/hibernate_machdep.c
M       sys/arch/amd64/amd64/i8259.c
M       sys/arch/amd64/amd64/intr.c
M       sys/arch/amd64/amd64/ioapic.c
M       sys/arch/amd64/amd64/ipifuncs.c
M       sys/arch/amd64/amd64/lapic.c
M       sys/arch/amd64/amd64/lock_machdep.c
M       sys/arch/amd64/amd64/machdep.c
M       sys/arch/amd64/include/cpufunc.h
M       sys/arch/amd64/include/intr.h
M       sys/arch/amd64/isa/clock.c
M       sys/arch/arm/arm/fault.c
M       sys/arch/arm/arm/fiq.c
M       sys/arch/arm/arm/lock_machdep.c
M       sys/arch/arm/arm/pmap.c
M       sys/arch/arm/arm/syscall.c
M       sys/arch/arm/arm/undefined.c
M       sys/arch/arm/arm/vfp.c
M       sys/arch/arm/cortex/ampintc.c
M       sys/arch/arm/include/cpufunc.h
M       sys/arch/armv7/armv7/intr.c
M       sys/arch/armv7/include/intr.h
M       sys/arch/armv7/omap/intc.c
M       sys/arch/armv7/omap/omgpio.c
M       sys/arch/armv7/sunxi/a1xintc.c
M       sys/dev/acpi/acpi.c

Reply via email to