[U-Boot] [PATCH 6/8] xtensa: add support for the xtensa processor architecture [2/2]
Simon Glass
sjg at chromium.org
Mon Sep 1 07:02:30 CEST 2014
Hi Max,
On 20 August 2014 10:42, Max Filippov <jcmvbkbc at gmail.com> wrote:
> From: Chris Zankel <chris at zankel.net>
>
> The Xtensa processor architecture is a configurable, extensible,
> and synthesizable 32-bit RISC processor core provided by Tensilica, inc.
>
> This is the second part of the basic architecture port, adding the
> 'arch/xtensa' directory and a readme file.
>
> Signed-off-by: Chris Zankel <chris at zankel.net>
> Signed-off-by: Max Filippov <jcmvbkbc at gmail.com>
> ---
> arch/Kconfig | 4 +
> arch/xtensa/Kconfig | 26 ++
> arch/xtensa/config.mk | 13 +
> arch/xtensa/cpu/.gitignore | 1 +
> arch/xtensa/cpu/Makefile | 13 +
> arch/xtensa/cpu/config.mk | 9 +
> arch/xtensa/cpu/cpu.c | 84 +++++
> arch/xtensa/cpu/exceptions.c | 67 ++++
> arch/xtensa/cpu/start.S | 672 ++++++++++++++++++++++++++++++++++
> arch/xtensa/cpu/u-boot.lds.S | 107 ++++++
> arch/xtensa/include/asm/addrspace.h | 43 +++
> arch/xtensa/include/asm/asmmacro.h | 136 +++++++
> arch/xtensa/include/asm/bitops.h | 14 +
> arch/xtensa/include/asm/bootparam.h | 54 +++
> arch/xtensa/include/asm/byteorder.h | 81 ++++
> arch/xtensa/include/asm/cache.h | 20 +
> arch/xtensa/include/asm/cacheasm.h | 187 ++++++++++
> arch/xtensa/include/asm/config.h | 17 +
> arch/xtensa/include/asm/errno.h | 1 +
> arch/xtensa/include/asm/global_data.h | 24 ++
> arch/xtensa/include/asm/io.h | 148 ++++++++
> arch/xtensa/include/asm/ldscript.h | 220 +++++++++++
> arch/xtensa/include/asm/linkage.h | 4 +
> arch/xtensa/include/asm/misc.h | 24 ++
> arch/xtensa/include/asm/posix_types.h | 74 ++++
> arch/xtensa/include/asm/processor.h | 11 +
> arch/xtensa/include/asm/ptrace.h | 133 +++++++
> arch/xtensa/include/asm/regs.h | 95 +++++
> arch/xtensa/include/asm/sections.h | 15 +
> arch/xtensa/include/asm/string.h | 10 +
> arch/xtensa/include/asm/types.h | 60 +++
> arch/xtensa/include/asm/u-boot.h | 43 +++
> arch/xtensa/include/asm/unaligned.h | 6 +
> arch/xtensa/include/asm/xtensa.h | 36 ++
> arch/xtensa/lib/Makefile | 9 +
> arch/xtensa/lib/board.c | 173 +++++++++
> arch/xtensa/lib/bootm.c | 202 ++++++++++
> arch/xtensa/lib/misc.S | 178 +++++++++
> arch/xtensa/lib/time.c | 111 ++++++
> 39 files changed, 3125 insertions(+)
> create mode 100644 arch/xtensa/Kconfig
> create mode 100644 arch/xtensa/config.mk
> create mode 100644 arch/xtensa/cpu/.gitignore
> create mode 100644 arch/xtensa/cpu/Makefile
> create mode 100644 arch/xtensa/cpu/config.mk
> create mode 100644 arch/xtensa/cpu/cpu.c
> create mode 100644 arch/xtensa/cpu/exceptions.c
> create mode 100644 arch/xtensa/cpu/start.S
> create mode 100644 arch/xtensa/cpu/u-boot.lds.S
> create mode 100644 arch/xtensa/include/asm/addrspace.h
> create mode 100644 arch/xtensa/include/asm/asmmacro.h
> create mode 100644 arch/xtensa/include/asm/bitops.h
> create mode 100644 arch/xtensa/include/asm/bootparam.h
> create mode 100644 arch/xtensa/include/asm/byteorder.h
> create mode 100644 arch/xtensa/include/asm/cache.h
> create mode 100644 arch/xtensa/include/asm/cacheasm.h
> create mode 100644 arch/xtensa/include/asm/config.h
> create mode 100644 arch/xtensa/include/asm/errno.h
> create mode 100644 arch/xtensa/include/asm/global_data.h
> create mode 100644 arch/xtensa/include/asm/io.h
> create mode 100644 arch/xtensa/include/asm/ldscript.h
> create mode 100644 arch/xtensa/include/asm/linkage.h
> create mode 100644 arch/xtensa/include/asm/misc.h
> create mode 100644 arch/xtensa/include/asm/posix_types.h
> create mode 100644 arch/xtensa/include/asm/processor.h
> create mode 100644 arch/xtensa/include/asm/ptrace.h
> create mode 100644 arch/xtensa/include/asm/regs.h
> create mode 100644 arch/xtensa/include/asm/sections.h
> create mode 100644 arch/xtensa/include/asm/string.h
> create mode 100644 arch/xtensa/include/asm/types.h
> create mode 100644 arch/xtensa/include/asm/u-boot.h
> create mode 100644 arch/xtensa/include/asm/unaligned.h
> create mode 100644 arch/xtensa/include/asm/xtensa.h
> create mode 100644 arch/xtensa/lib/Makefile
> create mode 100644 arch/xtensa/lib/board.c
> create mode 100644 arch/xtensa/lib/bootm.c
> create mode 100644 arch/xtensa/lib/misc.S
> create mode 100644 arch/xtensa/lib/time.c
This all looks quite tidy, from a brief look.
But please make sure you use generic board - CONFIG_SYS_GENERIC_BOARD.
You should not need a board.c file.
Also for your do_bootm_linux() implementation, see if you can check
the flags, and thus support the bootm sub-commands.
If you have a microsecond timer, you could implement timer_get_us().
Regards,
Simon
More information about the U-Boot
mailing list