opnsense-src/sys/arm/arm
Oleksandr Tymoshenko 87d2359388 [versatilepb] Convert VERSATILEPB kernel to INTRNG and switch to upstream DTB
Scope of this change is somewhat larger than just converting to INTRNG.
The reason for this is that INTRNG support required switching from custom
to upstream DTS because custom DTS didn't have interrup routing information.
This switch caused rewrite of PCI and CLCD drivers and adding SCM module.
List of changes in this commit:

- Enable INTRNG and switch to versatile-pb.dts

- Add SCM driver that controls various peripheral devices like LCD or
  PCI controller. Previously registers required for power-up and
  configuring peripherals were part of their respective nodes. Upstream
  DTS has dedicated node for SCM

- Convert PL190 driver to INTRNG

- Convert Versatile SIC (secondary interrupt controller) to INTRNG

- Refactor CLCD driver to use SCM API to power up and configuration

- Refactor PCI driver to use SCM API to enable controller

- Refactor PCI driver to use interrupt map provided in DTS for
  interrupt routing. As a result it fixes broken IRQ routing and
  it's no longer required to run QEMU with "-global versatile_pci.broken-irq-mapping=1"
  command-line arguments
2017-04-01 20:10:08 +00:00
..
autoconf.c Fix a lock up where we enter swapper() with interrupts disabled. 2015-05-23 23:08:16 +00:00
bcopy_page.S Add missing stack unwind information to several assembly functions on 2015-10-04 09:39:40 +00:00
bcopyinout.S Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
bcopyinout_xscale.S Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
blockio.S Remove trailing whitespace from sys/arm/arm 2015-05-24 12:20:11 +00:00
bus_space_asm_generic.S Remove arm's cpuconf.h, and references to it, after moving a few lines from 2017-01-16 16:44:13 +00:00
bus_space_base.c Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
bus_space_generic.c Move arm's devmap to some generic place, so it can be used 2016-04-26 11:53:37 +00:00
busdma_machdep-v4.c Rename busdma_machdep.c to busdma_machdep-v4.c, pmap.c to pmap-v4.c 2016-02-20 07:45:21 +00:00
busdma_machdep-v6.c ARM: Remove ARMv4 #defines from busdma_machdep-v6.c, it's ARMv6 2016-10-06 13:53:17 +00:00
copystr.S Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
cpu_asm-v6.S Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
cpufunc.c Remake support for SMP kernel on UP cpu: 2017-02-02 06:14:44 +00:00
cpufunc_asm.S Remove debugging code that was probably unused since before the arm code 2017-02-13 20:51:08 +00:00
cpufunc_asm_arm9.S ARM: Replace only once used cpu_icache_sync_all() by ranged equivalent. 2016-02-03 13:47:50 +00:00
cpufunc_asm_arm11.S Remove unused functions on armv6. Some of the cache handling code is still 2016-10-03 16:10:38 +00:00
cpufunc_asm_arm11x6.S Remove arm11x6_setttb and armv7_setttb as they are unused. While here 2016-10-25 16:25:06 +00:00
cpufunc_asm_armv4.S ARM: Remove never used cpu_tlb_flushI and cpu_tlb_flushI_SE() functions 2016-02-01 13:13:53 +00:00
cpufunc_asm_armv5_ec.S ARM: Replace only once used cpu_icache_sync_all() by ranged equivalent. 2016-02-03 13:47:50 +00:00
cpufunc_asm_armv6.S Remove unused functions on armv6. Some of the cache handling code is still 2016-10-03 16:10:38 +00:00
cpufunc_asm_armv7.S Remove arm11x6_setttb and armv7_setttb as they are unused. While here 2016-10-25 16:25:06 +00:00
cpufunc_asm_fa526.S ARM: Replace only once used cpu_icache_sync_all() by ranged equivalent. 2016-02-03 13:47:50 +00:00
cpufunc_asm_pj4b.S Delete obsolete and unused PJ4B CPU functions 2014-05-25 19:19:41 +00:00
cpufunc_asm_sheeva.S Include machine/armreg.h after machine/asm.h to ensure __ARM_ARCH is 2016-11-07 11:01:09 +00:00
cpufunc_asm_xscale.S Include machine/armreg.h after machine/asm.h to ensure __ARM_ARCH is 2016-11-07 11:01:09 +00:00
cpufunc_asm_xscale_c3.S Include machine/armreg.h after machine/asm.h to ensure __ARM_ARCH is 2016-11-07 11:01:09 +00:00
cpuinfo.c ARM: Split identify_arm_cpu() into ARMv4 and ARMv6 variant. 2016-10-09 10:24:10 +00:00
db_disasm.c ddb: finish converting boolean values. 2015-05-21 15:16:18 +00:00
db_interface.c Use our nitems() macro when param.h is available. 2016-04-20 15:45:55 +00:00
db_trace.c Add the missing void to function signatures in much of the arm code. 2016-12-13 13:43:22 +00:00
debug_monitor.c [qemu] Fix VERSATILEPB kernel boot in QEMU broken by r300968 2016-12-29 21:55:23 +00:00
disassem.c Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
dump_machdep.c ARM: Use new ARMv6 naming conventions for cache and TLB functions 2016-02-05 14:57:41 +00:00
elf_machdep.c Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
elf_note.S Add an elf not so kgdb detects the kernel as a FreeBSD elf file. The 2014-10-18 13:38:04 +00:00
elf_trampoline.c Split CPU_CORTEXA into CPU_CORTEXA8, for the Cortex-A8, and CPU_CORTEXA_MP, 2016-10-04 12:25:44 +00:00
exception.S Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
fiq.c Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
fiq_subr.S Include machine/armreg.h after machine/asm.h to ensure __ARM_ARCH is 2016-11-07 11:01:09 +00:00
fusu.S Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
gdb_machdep.c Cleanup up ARM *frame structures... 2014-12-24 18:54:31 +00:00
genassym.c Only define the CF_* macros on ARMv4/v5. They are unused on armv6. 2016-10-03 14:26:55 +00:00
generic_timer.c Stop including fdt_common.h from the arm code when it's unneeded. 2016-11-14 11:41:22 +00:00
gic.c Fix gic_cpu_mask() calculation in ARM GIC 2016-12-12 15:35:57 +00:00
gic.h Create two GIC ivars to find the bus type and GIC hardware version. These 2016-12-06 15:12:14 +00:00
gic_common.h Initialize GIC[DR]_IGROUPRn registers for GICv3 2016-12-18 08:31:01 +00:00
gic_fdt.c Create two GIC ivars to find the bus type and GIC hardware version. These 2016-12-06 15:12:14 +00:00
hypervisor-stub.S Add the early hypervisor code needed on 32-bit ARMv7. This will be used 2017-03-22 14:30:02 +00:00
identcpu-v4.c Stop including sys/types.h from arm's machine/atomic.h, fix the places 2017-02-11 01:07:46 +00:00
identcpu-v6.c Stop including sys/types.h from arm's machine/atomic.h, fix the places 2017-02-11 01:07:46 +00:00
in_cksum.c
in_cksum_arm.S Switch to unified syntax so these can be built with clang 3.5. 2014-12-02 18:37:04 +00:00
inckern.S
intr.c [intrng] Migrate the intrng code from sys/arm/arm to sys/kern/subr_intr.c. 2015-12-18 05:43:59 +00:00
locore-v4.S Remove arm's cpuconf.h, and references to it, after moving a few lines from 2017-01-16 16:44:13 +00:00
locore-v6.S Add the early hypervisor code needed on 32-bit ARMv7. This will be used 2017-03-22 14:30:02 +00:00
locore.S Fix a copyright glitch before it gets copy-pasted again. I think this must 2016-04-07 18:19:09 +00:00
machdep.c Preserve VFP state across signal delivery. 2017-03-26 08:36:56 +00:00
machdep_boot.c Split overbloated machep.c to multiple files and do basic cleanup 2017-03-11 07:07:41 +00:00
machdep_intr.c Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine 2016-04-15 16:05:41 +00:00
machdep_kdb.c Split overbloated machep.c to multiple files and do basic cleanup 2017-03-11 07:07:41 +00:00
machdep_ptrace.c Split overbloated machep.c to multiple files and do basic cleanup 2017-03-11 07:07:41 +00:00
mem.c Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
minidump_machdep.c Add support for encrypted kernel crash dumps. 2016-12-10 16:20:39 +00:00
mp_machdep.c Stop including fdt_common.h from the arm code when it's unneeded. 2016-11-14 11:41:22 +00:00
mpcore_timer.c Stop including fdt_common.h from the arm code when it's unneeded. 2016-11-14 11:41:22 +00:00
mpcore_timervar.h
nexus.c INTRNG: Propagate IRQ activation error to API consumer 2016-10-12 17:10:59 +00:00
ofw_machdep.c "Buses" is the preferred plural of "bus" 2017-01-15 17:54:01 +00:00
physmem.c Add the missing void to function signatures in much of the arm code. 2016-12-13 13:43:22 +00:00
pl190.c [versatilepb] Convert VERSATILEPB kernel to INTRNG and switch to upstream DTB 2017-04-01 20:10:08 +00:00
pl310.c Stop including fdt_common.h from the arm code when it's unneeded. 2016-11-14 11:41:22 +00:00
platform.c Move cpu_reset to be a platform method to allow multiple implementations. 2016-09-23 13:08:15 +00:00
platform_if.m All armv6 platforms have the same implementation of platform_lastaddr. 2016-12-16 10:31:13 +00:00
pmap-v4.c Remove support for idle page zeroing. 2016-09-03 20:38:13 +00:00
pmap-v6.c MFamd64 r313933: microoptimize pmap_protect_pte1(). 2017-02-19 20:40:07 +00:00
pmu.c Split out the FDT parts of the pmu driver to make way for adding ACPI 2016-11-22 09:39:31 +00:00
sc_machdep.c
setcpsr.S
setstack.s Include machine/armreg.h after machine/asm.h to ensure __ARM_ARCH is 2016-11-07 11:01:09 +00:00
stack_machdep.c Stop including sys/types.h from arm's machine/atomic.h, fix the places 2017-02-11 01:07:46 +00:00
stdatomic.c Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
support.S Remove trailing whitespace from sys/arm/arm 2015-05-24 12:20:11 +00:00
swtch-v4.S Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
swtch-v6.S Make it possible to safely use TPIDRURW from userspace. 2016-09-22 08:14:59 +00:00
swtch.S ARM: Split swtch.S into common, ARMv4 and ARMv6 parts. Cleanup them. 2016-01-30 08:02:12 +00:00
sys_machdep.c Make it possible to safely use TPIDRURW from userspace. 2016-09-22 08:14:59 +00:00
syscall.c Remove an unused static inline function. 2016-02-15 16:55:44 +00:00
trap-v4.c Remove a bit of armv6 support that didn't get deleted when this file was 2017-01-16 03:11:30 +00:00
trap-v6.c Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't 2016-05-25 19:44:26 +00:00
uio_machdep.c
undefined.c Add the missing void to function signatures in much of the arm code. 2016-12-13 13:43:22 +00:00
unwind.c Allow the ARM unwinder to work through modules. This will be used to add 2015-02-19 12:06:57 +00:00
vfp.c Cleanup structures related to VFP and/or mcontext_t. 2017-03-24 11:46:49 +00:00
vm_machdep.c Save VFP state on fork(). 2017-03-26 08:36:20 +00:00