[U-Boot] [PATCH v3 2/6] xtensa: add support for the xtensa processor architecture [2/2]

Simon Glass sjg at chromium.org
Sat Aug 6 03:41:08 CEST 2016


On 5 August 2016 at 17:00, 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>
> ---
> Changes v2->v3:
> - fix comment wording and stylistic issues;
> - drop {HAVE,SYS}_GENERIC_BOARD from Kconfig;
> - drop ASCDISP, display_printf and include/asm/xtensa.h;
> - drop 10 second delay in unhandled_exception;
> - don's silence invalid memory access, report and panic;
> - move bss clearing to c code;
> - drop custom do_reset implementation;
> ---
>  arch/Kconfig                          |   6 +
>  arch/xtensa/Kconfig                   |  18 +
>  arch/xtensa/Makefile                  |   8 +
>  arch/xtensa/config.mk                 |  12 +
>  arch/xtensa/cpu/Makefile              |   9 +
>  arch/xtensa/cpu/cpu.c                 |  50 +++
>  arch/xtensa/cpu/exceptions.c          |  48 +++
>  arch/xtensa/cpu/start.S               | 677 ++++++++++++++++++++++++++++++++++
>  arch/xtensa/cpu/u-boot.lds            | 116 ++++++
>  arch/xtensa/dts/Makefile              |  13 +
>  arch/xtensa/dts/include/dt-bindings   |   1 +
>  arch/xtensa/include/asm/addrspace.h   |  31 ++
>  arch/xtensa/include/asm/asmmacro.h    | 152 ++++++++
>  arch/xtensa/include/asm/atomic.h      |  55 +++
>  arch/xtensa/include/asm/bitops.h      |  36 ++
>  arch/xtensa/include/asm/bootparam.h   |  54 +++
>  arch/xtensa/include/asm/byteorder.h   |  83 +++++
>  arch/xtensa/include/asm/cache.h       |  25 ++
>  arch/xtensa/include/asm/cacheasm.h    | 211 +++++++++++
>  arch/xtensa/include/asm/config.h      |  24 ++
>  arch/xtensa/include/asm/errno.h       |   1 +
>  arch/xtensa/include/asm/global_data.h |  20 +
>  arch/xtensa/include/asm/io.h          | 148 ++++++++
>  arch/xtensa/include/asm/ldscript.h    | 222 +++++++++++
>  arch/xtensa/include/asm/linkage.h     |   4 +
>  arch/xtensa/include/asm/misc.h        |  20 +
>  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/relocate.h    |  14 +
>  arch/xtensa/include/asm/sections.h    |  12 +
>  arch/xtensa/include/asm/string.h      |  10 +
>  arch/xtensa/include/asm/system.h      |  27 ++
>  arch/xtensa/include/asm/types.h       |  60 +++
>  arch/xtensa/include/asm/u-boot.h      |  41 ++
>  arch/xtensa/include/asm/unaligned.h   |   6 +
>  arch/xtensa/lib/Makefile              |  10 +
>  arch/xtensa/lib/bootm.c               | 197 ++++++++++
>  arch/xtensa/lib/cache.c               |  60 +++
>  arch/xtensa/lib/misc.S                | 179 +++++++++
>  arch/xtensa/lib/relocate.c            |  18 +
>  arch/xtensa/lib/time.c                | 121 ++++++
>  43 files changed, 3112 insertions(+)
>  create mode 100644 arch/xtensa/Kconfig
>  create mode 100644 arch/xtensa/Makefile
>  create mode 100644 arch/xtensa/config.mk
>  create mode 100644 arch/xtensa/cpu/Makefile
>  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
>  create mode 100644 arch/xtensa/dts/Makefile
>  create mode 120000 arch/xtensa/dts/include/dt-bindings
>  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/atomic.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/relocate.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/system.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/lib/Makefile
>  create mode 100644 arch/xtensa/lib/bootm.c
>  create mode 100644 arch/xtensa/lib/cache.c
>  create mode 100644 arch/xtensa/lib/misc.S
>  create mode 100644 arch/xtensa/lib/relocate.c
>  create mode 100644 arch/xtensa/lib/time.c

Reviewed-by: Simon Glass <sjg at chromium.org>

nit: For gd, you can use __attribute__((section(".data")))


More information about the U-Boot mailing list