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

Max Filippov jcmvbkbc at gmail.com
Mon Sep 1 22:16:22 CEST 2014


Hi Simon,

On Mon, Sep 1, 2014 at 9:02 AM, Simon Glass <sjg at chromium.org> wrote:
> 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.

Thanks for your feedback.

> But please make sure you use generic board - CONFIG_SYS_GENERIC_BOARD.
> You should not need a board.c file.

Will fix.

> Also for your do_bootm_linux() implementation, see if you can check
> the flags, and thus support the bootm sub-commands.

Ok.

> If you have a microsecond timer, you could implement timer_get_us().

Ok, will add.

-- 
Thanks.
-- Max


More information about the U-Boot mailing list