[U-Boot] about CONFIG_SYS_GENERIC_BOARD
FengHua
fenghua at phytium.com.cn
Fri Aug 16 07:02:46 CEST 2013
hi Simon,
I have worked on generic board for a few days, but something confuse me.
Why it is needed?
Each processor architecture has different features, this will affect processor specific and board specific code. Putting board_init_* code of each platform into one file with many macro switch make things messy, the board_f.c and board_r.c become very complicated and less readable. Is it really needed?
We should make it clear that what parts are common between architecture and what parts are specific.
Actually, I have different opinion with this. Architecture specific board.c file have more advantages. how ahout your opinion?
Best Regards.
David
> -----原始邮件-----
> 发件人: "Simon Glass" <sjg at chromium.org>
> 发送时间: 2013年8月16日 星期五
> 收件人: fenghua at phytium.com.cn
> 抄送: "U-Boot Mailing List" <u-boot at lists.denx.de>, "trini at ti.com" <trini at ti.com>
> 主题: Re: [U-Boot] [PATCH v3 0/5] arm64 patch
>
> Hi David,
>
> On Thu, Aug 15, 2013 at 7:47 AM, <fenghua at phytium.com.cn> wrote:
> > From: David Feng <fenghua at phytium.com.cn>
> >
> > *** BLURB HERE ***
> > Changes for v3:
> > - rewrite cache.S and exception.S that partly originated from linux kernel,
> > so the license should be ok.
> > - according to scott wood's advice, make the fdt 64bit initrd start address support a seperate patch.
> >
> > David Feng (5):
> > core support of arm64
> > board support of arm64
> > arch support 1 of arm64
> > arch support 2 of arm64
> > 64bit initrd start address support
> >
> > arch/arm64/config.mk | 32 +++
> > arch/arm64/cpu/armv8/Makefile | 51 ++++
> > arch/arm64/cpu/armv8/cache.S | 144 ++++++++++
> > arch/arm64/cpu/armv8/config.mk | 29 ++
> > arch/arm64/cpu/armv8/cpu.c | 108 ++++++++
> > arch/arm64/cpu/armv8/exceptions.S | 189 +++++++++++++
> > arch/arm64/cpu/armv8/start.S | 197 ++++++++++++++
> > arch/arm64/cpu/armv8/tlb.S | 38 +++
> > arch/arm64/cpu/u-boot.lds | 73 +++++
> > arch/arm64/dts/aemv8a.dtsi | 234 ++++++++++++++++
> > arch/arm64/include/asm/arch-armv8/mmu.h | 117 ++++++++
> > arch/arm64/include/asm/atomic.h | 115 ++++++++
> > arch/arm64/include/asm/bitops.h | 153 +++++++++++
> > arch/arm64/include/asm/byteorder.h | 31 +++
> > arch/arm64/include/asm/cache.h | 53 ++++
> > arch/arm64/include/asm/config.h | 41 +++
> > arch/arm64/include/asm/errno.h | 1 +
> > arch/arm64/include/asm/global_data.h | 38 +++
> > arch/arm64/include/asm/gpio.h | 1 +
> > arch/arm64/include/asm/io.h | 193 +++++++++++++
> > arch/arm64/include/asm/linkage.h | 49 ++++
> > arch/arm64/include/asm/posix_types.h | 61 +++++
> > arch/arm64/include/asm/processor.h | 59 ++++
> > arch/arm64/include/asm/ptrace.h | 64 +++++
> > arch/arm64/include/asm/sections.h | 27 ++
> > arch/arm64/include/asm/string.h | 49 ++++
> > arch/arm64/include/asm/system.h | 106 ++++++++
> > arch/arm64/include/asm/types.h | 67 +++++
> > arch/arm64/include/asm/u-boot.h | 38 +++
> > arch/arm64/include/asm/unaligned.h | 28 ++
> > arch/arm64/include/asm/utils.h | 56 ++++
> > arch/arm64/lib/Makefile | 64 +++++
> > arch/arm64/lib/board.c | 453 +++++++++++++++++++++++++++++++
>
> Instead of this file, it would be good if you could make it use
> generic board - see CONFIG_SYS_GENERIC_BOARD in the README.
>
> > arch/arm64/lib/bootm.c | 211 ++++++++++++++
> > arch/arm64/lib/cache.c | 282 +++++++++++++++++++
> > arch/arm64/lib/crt0.S | 129 +++++++++
> > arch/arm64/lib/interrupts.c | 109 ++++++++
> > arch/arm64/lib/relocate.S | 72 +++++
> > arch/arm64/lib/reset.c | 37 +++
> > arch/arm64/lib/timer.c | 95 +++++++
> > board/armltd/dts/vexpress64.dts | 215 +++++++++++++++
> > board/armltd/vexpress64/Makefile | 43 +++
> > board/armltd/vexpress64/vexpress64.c | 63 +++++
> > boards.cfg | 1 +
> > common/cmd_bdinfo.c | 32 +++
> > common/fdt_support.c | 66 ++---
> > common/image.c | 5 +-
> > doc/README.arm64 | 10 +
> > examples/standalone/stubs.c | 13 +
> > include/configs/vexpress_aemv8a.h | 200 ++++++++++++++
> > include/image.h | 1 +
> > lib/asm-offsets.c | 4 -
> > 52 files changed, 4509 insertions(+), 38 deletions(-)
> > create mode 100644 arch/arm64/config.mk
> > create mode 100644 arch/arm64/cpu/armv8/Makefile
> > create mode 100644 arch/arm64/cpu/armv8/cache.S
> > create mode 100644 arch/arm64/cpu/armv8/config.mk
> > create mode 100644 arch/arm64/cpu/armv8/cpu.c
> > create mode 100644 arch/arm64/cpu/armv8/exceptions.S
> > create mode 100644 arch/arm64/cpu/armv8/start.S
> > create mode 100644 arch/arm64/cpu/armv8/tlb.S
> > create mode 100644 arch/arm64/cpu/u-boot.lds
> > create mode 100644 arch/arm64/dts/aemv8a.dtsi
> > create mode 100644 arch/arm64/include/asm/arch-armv8/mmu.h
> > create mode 100644 arch/arm64/include/asm/atomic.h
> > create mode 100644 arch/arm64/include/asm/bitops.h
> > create mode 100644 arch/arm64/include/asm/byteorder.h
> > create mode 100644 arch/arm64/include/asm/cache.h
> > create mode 100644 arch/arm64/include/asm/config.h
> > create mode 100644 arch/arm64/include/asm/errno.h
> > create mode 100644 arch/arm64/include/asm/global_data.h
> > create mode 100644 arch/arm64/include/asm/gpio.h
> > create mode 100644 arch/arm64/include/asm/io.h
> > create mode 100644 arch/arm64/include/asm/linkage.h
> > create mode 100644 arch/arm64/include/asm/posix_types.h
> > create mode 100644 arch/arm64/include/asm/processor.h
> > create mode 100644 arch/arm64/include/asm/ptrace.h
> > create mode 100644 arch/arm64/include/asm/sections.h
> > create mode 100644 arch/arm64/include/asm/string.h
> > create mode 100644 arch/arm64/include/asm/system.h
> > create mode 100644 arch/arm64/include/asm/types.h
> > create mode 100644 arch/arm64/include/asm/u-boot.h
> > create mode 100644 arch/arm64/include/asm/unaligned.h
> > create mode 100644 arch/arm64/include/asm/utils.h
> > create mode 100644 arch/arm64/lib/Makefile
> > create mode 100644 arch/arm64/lib/board.c
> > create mode 100644 arch/arm64/lib/bootm.c
> > create mode 100644 arch/arm64/lib/cache.c
> > create mode 100644 arch/arm64/lib/crt0.S
> > create mode 100644 arch/arm64/lib/interrupts.c
> > create mode 100644 arch/arm64/lib/relocate.S
> > create mode 100644 arch/arm64/lib/reset.c
> > create mode 100644 arch/arm64/lib/timer.c
> > 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
> >
>
> Regards,
> Simon
More information about the U-Boot
mailing list