[U-Boot] [PATCH v13 0/6] arm64 patch
fenghua at phytium.com.cn
fenghua at phytium.com.cn
Thu Sep 26 15:35:23 CEST 2013
From: David Feng <fenghua at phytium.com.cn>
Changes for v13:
- fix the bug of board_r.c and arm/lib/board.c due to
CONFIG_NEED_MANUAL_RELOC. adjust initr_serial() in board_r.c
to the first entry of init_sequence_r[] and relocate
serial_initialize() in arm/lib/board.c, routines of serial_device
should be relocated firstly by serial_initialize(), so that printf
access the correct puts function, otherwise uninitialized
serial_current will be selected as the output device.
- fix the bug of dcache_enable(). after mmu_setup the sctrl
register value should be fetched again because it has been
modifed by mmu_seup() function. This bug is find by York Sun <yorksun at freescale.com>.
- add macro branch_if_slave to macro.h, it choose processor
with all zero affinity value as the master and is used in start.S.
Changes for v12:
- custom the patches to new format boards.cfg.
Changes for v11:
- Replace CONFIG_ARMV8 with CONFIG_ARM64. Currently,
it's hard to distinguish what is armv8 specific and
what is aarch64 specific, so we use CONFIG_ARM64
only, no CONFIG_ARMV8 used.
- rename README.armv8 with README.arm64 and make some modification.
Changes for v10:
- add weak definition to include/linux/linkage.h and make
setup_el2/setup_el3/lowlevel_init weak routines,
so them can be easily overridden by processor specific code.
- modify s-o-f of 0002-board-support-of-vexpress_aemv8a which
use wrong mail address of Bhupesh Sharma.
Changes for v9:
- add Signed-off-by information to patch "board support of
vexpress_aemv8a" which SMC91111 support is integrated
from Sharma Bhupesh's patch.
- adjust pt_regs struct and add exception state
preservation in exception.S.
Changes for v8:
- 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.
- simplify __weak function declaration.
Changes for v7:
- 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 v6:
- 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 v5:
- 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 v4:
- merge arm64 to arm architecture.
David Feng (6):
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
add weak entry definition
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 | 218 +++++++++++++++
arch/arm/cpu/armv8/config.mk | 16 ++
arch/arm/cpu/armv8/cpu.c | 67 +++++
arch/arm/cpu/armv8/exceptions.S | 115 ++++++++
arch/arm/cpu/armv8/start.S | 234 ++++++++++++++++
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 | 110 ++++++++
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 | 39 +++
arch/arm/include/asm/posix_types.h | 10 +
arch/arm/include/asm/proc-armv/ptrace.h | 21 ++
arch/arm/include/asm/proc-armv/system.h | 59 ++++-
arch/arm/include/asm/system.h | 77 ++++++
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 | 25 +-
arch/arm/lib/bootm.c | 16 ++
arch/arm/lib/crt0_64.S | 116 ++++++++
arch/arm/lib/interrupts_64.c | 120 +++++++++
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 | 18 +-
common/board_r.c | 20 +-
common/cmd_pxe.c | 4 +-
common/fdt_support.c | 66 ++---
common/image.c | 1 +
doc/README.arm64 | 33 +++
examples/standalone/stubs.c | 15 ++
include/configs/vexpress_aemv8a.h | 191 ++++++++++++++
include/image.h | 1 +
include/linux/linkage.h | 4 +
46 files changed, 2573 insertions(+), 53 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.arm64
create mode 100644 include/configs/vexpress_aemv8a.h
--
1.7.9.5
More information about the U-Boot
mailing list