[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