]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add support for ARM GICv3 interrupt controller used in some ARM64 chips
authorzbb <zbb@FreeBSD.org>
Wed, 13 May 2015 18:57:03 +0000 (18:57 +0000)
committerzbb <zbb@FreeBSD.org>
Wed, 13 May 2015 18:57:03 +0000 (18:57 +0000)
commitf435b7c4ff8d269f19994f4c65c889c0f15d12da
tree0bad87d21774e85034968461a59971ae925354df
parent98b1ee5fe792de8a9d358dc8f0ab8beef0a6719f
Add support for ARM GICv3 interrupt controller used in some ARM64 chips

GICv3 allows to distribute interrupts to more than 8 cores served by
the previous GIC revisions. GICv3 introduces additional logic in form
of Re-Distributors associated with particular CPUs to determine
the highest priority interrupts and manage PPIs and LPIs
(Locality-specific Peripheral Interrupts). Interrupts routing is
based on CPUs' affinity numbers. CPU interface was changed to be
accessible via CPU System Registers and this is the preferred
(and supported) method in this driver.

Obtained from: Semihalf
Reviewed by:   andrew, emaste, ian, imp
Sponsored by:  The FreeBSD Foundation
sys/arm64/arm64/gic_v3.c [new file with mode: 0644]
sys/arm64/arm64/gic_v3_fdt.c [new file with mode: 0644]
sys/arm64/arm64/gic_v3_reg.h [new file with mode: 0644]
sys/arm64/arm64/gic_v3_var.h [new file with mode: 0644]
sys/arm64/arm64/locore.S
sys/arm64/include/armreg.h
sys/conf/files.arm64