Add core support for ARMv6/v7 big-endian
Starting with ARMv6, the CPUs support the BE-8 variant of big-endian
(byte-invariant). This patch adds the core support:
- setting of the BE-8 mode via the CPSR.E register for both kernel and
user threads
- big-endian page table walking
- REV used to rotate instructions read from memory during fault
processing as they are still little-endian format
- Kconfig and Makefile support for BE-8. The --be8 option must be passed
to the final linking stage to convert the instructions to
little-endian
Signed-off-by:
Catalin Marinas <catalin.marinas@arm.com>
Showing
- arch/arm/Makefile 3 additions, 0 deletionsarch/arm/Makefile
- arch/arm/boot/compressed/Makefile 4 additions, 1 deletionarch/arm/boot/compressed/Makefile
- arch/arm/boot/compressed/head.S 6 additions, 0 deletionsarch/arm/boot/compressed/head.S
- arch/arm/include/asm/processor.h 1 addition, 0 deletionsarch/arm/include/asm/processor.h
- arch/arm/include/asm/ptrace.h 10 additions, 0 deletionsarch/arm/include/asm/ptrace.h
- arch/arm/kernel/entry-armv.S 3 additions, 0 deletionsarch/arm/kernel/entry-armv.S
- arch/arm/kernel/entry-common.S 3 additions, 0 deletionsarch/arm/kernel/entry-common.S
- arch/arm/kernel/process.c 1 addition, 1 deletionarch/arm/kernel/process.c
- arch/arm/mm/Kconfig 14 additions, 0 deletionsarch/arm/mm/Kconfig
- arch/arm/mm/abort-ev6.S 3 additions, 0 deletionsarch/arm/mm/abort-ev6.S
- arch/arm/mm/proc-v6.S 3 additions, 0 deletionsarch/arm/mm/proc-v6.S
- arch/arm/mm/proc-v7.S 3 additions, 0 deletionsarch/arm/mm/proc-v7.S
Please register or sign in to comment