
On 5 August 2016 at 17:00, Max Filippov jcmvbkbc@gmail.com wrote:
From: Chris Zankel chris@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@zankel.net Signed-off-by: Max Filippov jcmvbkbc@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@chromium.org
nit: For gd, you can use __attribute__((section(".data")))