[U-Boot] [PATCH v8 0/5] arm64 patch
fenghua at phytium.com.cn
fenghua at phytium.com.cn
Fri Sep 13 05:24:52 CEST 2013
From: David Feng <fenghua at phytium.com.cn>
The porting has been merged with arm architecture.
Most architecture codes are placed in
arch/arm/cpu/armv8 directory. Generic board is also
supported after a few bugs are fixed.
u-boot could be running at EL1 or EL2.
Changes for v7:
- Integrate SMC91111 patch of sharma bhupesh.
- remove v8_outer_cache* which is not need currently.
- Change license tag.
- Mov crt0.S/relocate.S/interrupts.c to arm/lib and
rename them with _64 suffix.
- Make el3/el2 initializing process of start.S as
two separate routines. It could be easier to be
replaced with processor specific codes.
- Remove exception stack save and restore routine,
it is unnecessary now.
Changes for v6:
- Check the patches with checkpatch.pl and get rid of
almost all warnings. There are a few warnings still,
but I think it should be that.
- change printf format in cmd_pxe.c, use %zd indtead
of %ld to format size_t type variable.
- add macro PGTABLE_SIZE to identify tlb table size.
Changes for v5:
- Make modification to inappropriate licensed file
and bugs according to ScottWood's advice.
Thanks Scott for his checking to these patches.
- Enable u-boot's running at EL1.
- Get rid of compiling warnings originated from cmd_pxe.c.
Changes for v4:
- fix the generic board_f.c, remove zero_global_data
from init_sequence_f array and move it to board_init_f()
function with CONFIG_X86 switch. The previous fixup is
inaccurate.
- Replace __ARMEB__ with __AARCH64EB__ in byteorder.h
and unaligned.h, gcc for aarch64 use __AARCH64EB__ and
__AARCH64EL__ to identify endian.
- Some modification to README.armv8
Changes for v3:
- merge arm64 to arm architecture.
David Feng (5):
core support of arm64
board support of vexpress_aemv8a
generic board patch of manual reloc and zero gd_t
64bit initrd start address support
remove compiling warnings
MAINTAINERS | 4 +
arch/arm/config.mk | 4 +
arch/arm/cpu/armv8/Makefile | 38 +++
arch/arm/cpu/armv8/cache.S | 130 +++++++++
arch/arm/cpu/armv8/cache_v8.c | 228 ++++++++++++++++
arch/arm/cpu/armv8/config.mk | 16 ++
arch/arm/cpu/armv8/cpu.c | 67 +++++
arch/arm/cpu/armv8/exceptions.S | 68 +++++
arch/arm/cpu/armv8/start.S | 236 +++++++++++++++++
arch/arm/cpu/armv8/timer.c | 80 ++++++
arch/arm/cpu/armv8/tlb.S | 30 +++
arch/arm/cpu/armv8/u-boot.lds | 71 +++++
arch/arm/include/asm/arch-armv8/gpio.h | 11 +
arch/arm/include/asm/arch-armv8/mmu.h | 106 ++++++++
arch/arm/include/asm/byteorder.h | 12 +
arch/arm/include/asm/cache.h | 5 +
arch/arm/include/asm/config.h | 10 +
arch/arm/include/asm/global_data.h | 6 +-
arch/arm/include/asm/io.h | 15 +-
arch/arm/include/asm/macro.h | 20 ++
arch/arm/include/asm/posix_types.h | 10 +
arch/arm/include/asm/proc-armv/ptrace.h | 37 +++
arch/arm/include/asm/proc-armv/system.h | 59 ++++-
arch/arm/include/asm/system.h | 84 ++++++
arch/arm/include/asm/types.h | 4 +
arch/arm/include/asm/u-boot.h | 4 +
arch/arm/include/asm/unaligned.h | 2 +-
arch/arm/lib/Makefile | 14 +
arch/arm/lib/board.c | 16 +-
arch/arm/lib/bootm.c | 16 ++
arch/arm/lib/crt0_64.S | 116 ++++++++
arch/arm/lib/interrupts_64.c | 122 +++++++++
arch/arm/lib/relocate_64.S | 57 ++++
board/armltd/dts/vexpress64.dts | 439 +++++++++++++++++++++++++++++++
board/armltd/vexpress64/Makefile | 27 ++
board/armltd/vexpress64/vexpress64.c | 70 +++++
boards.cfg | 1 +
common/board_f.c | 19 +-
common/board_r.c | 18 ++
common/cmd_pxe.c | 4 +-
common/fdt_support.c | 66 ++---
common/image.c | 1 +
doc/README.armv8 | 18 ++
examples/standalone/stubs.c | 15 ++
include/configs/vexpress_aemv8a.h | 193 ++++++++++++++
include/image.h | 1 +
46 files changed, 2518 insertions(+), 52 deletions(-)
create mode 100644 arch/arm/cpu/armv8/Makefile
create mode 100644 arch/arm/cpu/armv8/cache.S
create mode 100644 arch/arm/cpu/armv8/cache_v8.c
create mode 100644 arch/arm/cpu/armv8/config.mk
create mode 100644 arch/arm/cpu/armv8/cpu.c
create mode 100644 arch/arm/cpu/armv8/exceptions.S
create mode 100644 arch/arm/cpu/armv8/start.S
create mode 100644 arch/arm/cpu/armv8/timer.c
create mode 100644 arch/arm/cpu/armv8/tlb.S
create mode 100644 arch/arm/cpu/armv8/u-boot.lds
create mode 100644 arch/arm/include/asm/arch-armv8/gpio.h
create mode 100644 arch/arm/include/asm/arch-armv8/mmu.h
create mode 100644 arch/arm/lib/crt0_64.S
create mode 100644 arch/arm/lib/interrupts_64.c
create mode 100644 arch/arm/lib/relocate_64.S
create mode 100644 board/armltd/dts/vexpress64.dts
create mode 100644 board/armltd/vexpress64/Makefile
create mode 100644 board/armltd/vexpress64/vexpress64.c
create mode 100644 doc/README.armv8
create mode 100644 include/configs/vexpress_aemv8a.h
--
1.7.9.5
More information about the U-Boot
mailing list