All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support
@ 2021-08-30  4:40 Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 1/9] package/elf2flt: add RISC-V 64-bits support Damien Le Moal
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30  4:40 UTC (permalink / raw)
  To: buildroot, Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN

This series adds support for building 64-bits RISC-V NOMMU kernel
bootable images for boards using the dual-core RISC-V 64-bits Cannan
Kendryte K210 SoC.

The first patch adds support for RV64 to the elf2flt package.
Patch 2 changes the base name of the toolchain cross-compilation
executables to avoid build errors. With these preparatory patches in
place, patch 3 makes MMU build optional for RISC-V 64-bits.

The following 5 patches add default build configuration files for
various boards: MAIX-bit, MAIX-go, MAIX-dock (Dan Dock) and MAIXDUINO
from Sipeed and the Canaan KD233 development board.

Finally, patch 9 documents how to build and install images for these
boards.

Note about patch 1: Many comments have been made on the elf2flt pull
request. The elf2flt support needs to be reworked but may take some
time. Until this is rewrite is completed, if acceptable, please take
this patch as a temporary support.

Changes from v3:
* Rebased on latest tree

Changes from v2:
* Reorder patches: former patch 1 is now patch 3.
* Clearly state in the first 3 patch commit messages that the NOMMU
  support introduced is for RISC-V 64-bits only and does not affect
  RV32.
* Modify patch 3 to allow NOMMU builds only for RV64 as opposed to both
  RV32 and RV64 before.
* Add reference to upstream elf2flt pull request in patch 1.
* Simplify the configurations for all boards, keeping default settings
  when a special value is not needed (e.g. gcc version).
* Dropped busybox-tiny-initramfs.config configuration and replaced it
  with a busybox fragment configuration file updating the default
  busybox-minimal.config configuration (used now for all boards).
* Changed common k210 rootfs overlay to replace the default /init script
  with a symbolic link pointing to the overlay provided /sbin/init
  script.

Changes from v1:
* Rebased on latest master
* Simplified patch 3 as suggested by Baruch
* Fixed typos in documentation (patch 9)
* Added reviewed-by tags

Christoph Hellwig (2):
  package/elf2flt: add RISC-V 64-bits support
  package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name

Damien Le Moal (7):
  arch/config: Make RISC-V 64-bits MMU optional
  board: Add Sipeed MAIX-bit support
  board: Add Sipeed MAIX-Go support
  board: Add Sipeed MAIXDUINO support
  board: Add Sipeed MAIX-Dock support
  board: Add Canaan KD233 support
  board: Document Canaan K210 based boards support

 arch/Config.in                                |   1 -
 arch/Config.in.riscv                          |   2 +
 board/canaan/k210-common/README.md            | 318 ++++++++++++++++++
 board/canaan/k210-common/busybox-tiny.config  | 243 +++++++++++++
 board/canaan/k210-common/rootfs_overlay/init  |   1 +
 .../k210-common/rootfs_overlay/sbin/init      |  27 ++
 board/canaan/kd233/README.md                  |   4 +
 board/canaan/kd233/linux-dtb.config           |   2 +
 board/sipeed/maix-bit/README.md               |   4 +
 board/sipeed/maix-bit/linux-dtb.config        |   2 +
 board/sipeed/maix-dock/README.md              |   4 +
 board/sipeed/maix-dock/linux-dtb.config       |   2 +
 board/sipeed/maix-go/README.md                |   4 +
 board/sipeed/maix-go/linux-dtb.config         |   2 +
 board/sipeed/maixduino/README.md              |   4 +
 board/sipeed/maixduino/linux-dtb.config       |   2 +
 configs/canaan_kd233_defconfig                |  15 +
 configs/canaan_kd233_sdcard_defconfig         |  14 +
 configs/sipeed_maix_bit_defconfig             |  15 +
 configs/sipeed_maix_bit_sdcard_defconfig      |  14 +
 configs/sipeed_maix_dock_defconfig            |  15 +
 configs/sipeed_maix_dock_sdcard_defconfig     |  14 +
 configs/sipeed_maix_go_defconfig              |  15 +
 configs/sipeed_maix_go_sdcard_defconfig       |  14 +
 configs/sipeed_maixduino_defconfig            |  15 +
 configs/sipeed_maixduino_sdcard_defconfig     |  14 +
 package/Makefile.in                           |   5 +-
 ...04-elf2flt-add-riscv-64-bits-support.patch | 299 ++++++++++++++++
 package/elf2flt/Config.in.host                |   2 +-
 29 files changed, 1069 insertions(+), 4 deletions(-)
 create mode 100644 board/canaan/k210-common/README.md
 create mode 100644 board/canaan/k210-common/busybox-tiny.config
 create mode 120000 board/canaan/k210-common/rootfs_overlay/init
 create mode 100755 board/canaan/k210-common/rootfs_overlay/sbin/init
 create mode 100644 board/canaan/kd233/README.md
 create mode 100644 board/canaan/kd233/linux-dtb.config
 create mode 100644 board/sipeed/maix-bit/README.md
 create mode 100644 board/sipeed/maix-bit/linux-dtb.config
 create mode 100644 board/sipeed/maix-dock/README.md
 create mode 100644 board/sipeed/maix-dock/linux-dtb.config
 create mode 100644 board/sipeed/maix-go/README.md
 create mode 100644 board/sipeed/maix-go/linux-dtb.config
 create mode 100644 board/sipeed/maixduino/README.md
 create mode 100644 board/sipeed/maixduino/linux-dtb.config
 create mode 100644 configs/canaan_kd233_defconfig
 create mode 100644 configs/canaan_kd233_sdcard_defconfig
 create mode 100644 configs/sipeed_maix_bit_defconfig
 create mode 100644 configs/sipeed_maix_bit_sdcard_defconfig
 create mode 100644 configs/sipeed_maix_dock_defconfig
 create mode 100644 configs/sipeed_maix_dock_sdcard_defconfig
 create mode 100644 configs/sipeed_maix_go_defconfig
 create mode 100644 configs/sipeed_maix_go_sdcard_defconfig
 create mode 100644 configs/sipeed_maixduino_defconfig
 create mode 100644 configs/sipeed_maixduino_sdcard_defconfig
 create mode 100644 package/elf2flt/0004-elf2flt-add-riscv-64-bits-support.patch

-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v4 1/9] package/elf2flt: add RISC-V 64-bits support
  2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
@ 2021-08-30  4:40 ` Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 2/9] package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name Damien Le Moal
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30  4:40 UTC (permalink / raw)
  To: buildroot, Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN

From: Christoph Hellwig <hch@lst.de>

Enable selecting elf2flt for RISC-V 64-bits no MMU builds and add
support for it in the form of an additional patch (upstream pull request
https://github.com/uclinux-dev/elf2flt/pull/19).

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
---
 ...04-elf2flt-add-riscv-64-bits-support.patch | 299 ++++++++++++++++++
 package/elf2flt/Config.in.host                |   2 +-
 2 files changed, 300 insertions(+), 1 deletion(-)
 create mode 100644 package/elf2flt/0004-elf2flt-add-riscv-64-bits-support.patch

diff --git a/package/elf2flt/0004-elf2flt-add-riscv-64-bits-support.patch b/package/elf2flt/0004-elf2flt-add-riscv-64-bits-support.patch
new file mode 100644
index 0000000000..11e8df2d87
--- /dev/null
+++ b/package/elf2flt/0004-elf2flt-add-riscv-64-bits-support.patch
@@ -0,0 +1,299 @@
+From 45d27f1e2ec2a5ec793bb3cf9e326160a85e5bac Mon Sep 17 00:00:00 2001
+From: Christoph Hellwig <hch@lst.de>
+Date: Wed, 9 Sep 2020 17:31:33 +0900
+Subject: [PATCH] elf2flt: add riscv 64-bits support
+
+Upstream pull request https://github.com/uclinux-dev/elf2flt/pull/19
+
+Add support for riscv 64bits ISA by defining the relocation types
+R_RISCV_32_PCREL, R_RISCV_ADD32, R_RISCV_SUB32 and R_RISCV_64.
+riscv64 support also needs a new linker script as the global_pointer
+variable __global_pointer$ needs to be defined right after the
+relocation tables in the data section and section ordering changes are
+needed. With these changes, buildroot/busybox builds and run on NOMMU
+systems with kernel 5.13. Tested on Canaan Kendryte K210 boards.
+
+Signed-off-by: Christoph Hellwig <hch@lst.de>
+Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
+---
+ Makefile.in        |   4 +-
+ elf2flt.c          |  22 +++++
+ riscv64-elf2flt.ld | 197 +++++++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 222 insertions(+), 1 deletion(-)
+ create mode 100644 riscv64-elf2flt.ld
+
+diff --git a/Makefile.in b/Makefile.in
+index 0529c7f..121a2a7 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -44,7 +44,9 @@ endif
+ LDFILE= elf2flt.ld
+ ifeq ($(strip $(CPU)),e1)
+ SRC_LDFILE= $(srcdir)/$(CPU)-elf2flt.ld
+-else 
++else ifeq ($(strip $(CPU)),riscv64)
++SRC_LDFILE= $(srcdir)/$(CPU)-elf2flt.ld
++else
+ SRC_LDFILE= elf2flt.ld
+ endif
+ 
+diff --git a/elf2flt.c b/elf2flt.c
+index b93aecd..62d4c50 100644
+--- a/elf2flt.c
++++ b/elf2flt.c
+@@ -81,6 +81,8 @@ const char *elf2flt_progname;
+ #include <elf/v850.h>
+ #elif defined(TARGET_xtensa)
+ #include <elf/xtensa.h>
++#elif defined(TARGET_riscv64)
++#include <elf/riscv.h>
+ #endif
+ 
+ #if defined(__MINGW32__)
+@@ -123,6 +125,8 @@ const char *elf2flt_progname;
+ #define ARCH	"nios2"
+ #elif defined(TARGET_xtensa)
+ #define ARCH	"xtensa"
++#elif defined(TARGET_riscv64)
++#define ARCH	"riscv64"
+ #else
+ #error "Don't know how to support your CPU architecture??"
+ #endif
+@@ -811,6 +815,15 @@ output_relocs (
+ 					goto good_32bit_resolved_reloc;
+ 				default:
+ 					goto bad_resolved_reloc;
++#elif defined(TARGET_riscv64)
++				case R_RISCV_32_PCREL:
++				case R_RISCV_ADD32:
++				case R_RISCV_SUB32:
++					break;
++				case R_RISCV_64:
++					goto good_32bit_resolved_reloc;
++				default:
++					goto bad_resolved_reloc;
+ #else
+ 				default:
+ 					/* The default is to assume that the
+@@ -1831,6 +1844,15 @@ int main(int argc, char *argv[])
+   if (!load_to_ram && !pfile)
+     load_to_ram = 1;
+ 
++#if defined(TARGET_riscv64)
++  /*
++   * riscv only supports loading text and data contiguously.
++   * So fail if load_to_ram is false.
++   */
++  if (!load_to_ram)
++    fatal("Loading to RAM ('-r' option) is required");
++#endif
++
+   fname = argv[argc-1];
+ 
+   if (pfile) {
+diff --git a/riscv64-elf2flt.ld b/riscv64-elf2flt.ld
+new file mode 100644
+index 0000000..5861f95
+--- /dev/null
++++ b/riscv64-elf2flt.ld
+@@ -0,0 +1,197 @@
++ENTRY (_start)
++
++MEMORY {
++	flatmem : ORIGIN = 0x0, LENGTH = 0xfffffff
++}
++
++PHDRS {
++	text PT_LOAD ;
++	data PT_LOAD ;
++}
++
++SECTIONS {
++
++	.text 0x0 : {
++		. = . + 4;
++		. = ALIGN(0x4) ;
++		_stext = . ;
++		*(.literal .text)
++		*(.literal.* .text.*)
++		*(.gnu.warning)
++		*(.stub)
++		*(.gnu.linkonce.literal.*)
++		*(.gnu.linkonce.t*)
++		*(.glue_7t)
++		*(.glue_7)
++		*(.jcr)
++		*(.init.literal)
++		KEEP (*(.init))
++		*(.fini.literal)
++		KEEP (*(.fini))
++
++W_RODAT		*(.rodata)
++W_RODAT		*(.rodata1)
++W_RODAT		*(.rodata.*)
++W_RODAT		*(.gnu.linkonce.r*)
++
++		/* This is special code area at the end of the normal
++		   text section.  It contains a small lookup table at
++		   the start followed by the code pointed to by entries
++		   in the lookup table.  */
++		. = ALIGN (4) ;
++		PROVIDE(__ctbp = .);
++		*(.call_table_data)
++		*(.call_table_text)
++
++		. = ALIGN(0x10) ;
++		_etext = . ;
++	} > flatmem :text
++
++	.data : {
++		. = ALIGN(0x20) ;
++		_sdata = . ;
++		__data_start = . ;
++		data_start = . ;
++		*(.got)
++		*(.got.plt)
++		*(.igot)
++		*(.igot.plt)
++		FILL(0) ;
++		. = ALIGN(0x20) ;
++		LONG(-1)
++		. = ALIGN(0x20) ;
++
++		__global_pointer$ = . + 0x800;
++
++R_RODAT		*(.rodata)
++R_RODAT		*(.rodata1)
++R_RODAT		*(.rodata.*)
++R_RODAT		*(.gnu.linkonce.r*)
++		*(.data)
++		*(.data1)
++		*(.data.*)
++		*(.gnu.linkonce.d*)
++
++		*(.gnu.linkonce.s.*)
++		*(__libc_atexit)
++		*(__libc_subinit)
++		*(__libc_subfreeres)
++
++		. = ALIGN(4) ;
++TOR:		__CTOR_LIST__ = .;
++TOR:		LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
++SINGLE_LINK:	/* gcc uses crtbegin.o to find the start of
++SINGLE_LINK:	   the constructors, so we make sure it is
++SINGLE_LINK:	   first.  Because this is a wildcard, it
++SINGLE_LINK:	   doesn't matter if the user does not
++SINGLE_LINK:	   actually link against crtbegin.o; the
++SINGLE_LINK:	   linker won't look for a file to match a
++SINGLE_LINK:	   wildcard.  The wildcard also means that it
++SINGLE_LINK:	   doesn't matter which directory crtbegin.o
++SINGLE_LINK:	   is in.  */
++SINGLE_LINK:	KEEP (*crtbegin*.o(.ctors))
++SINGLE_LINK:	/* We don't want to include the .ctor section from
++SINGLE_LINK:	   from the crtend.o file until after the sorted ctors.
++SINGLE_LINK:	   The .ctor section from the crtend file contains the
++SINGLE_LINK:	   end of ctors marker and it must be last */
++SINGLE_LINK:	KEEP (*(EXCLUDE_FILE (*crtend*.o ) .ctors))
++SINGLE_LINK:	KEEP (*(SORT(.ctors.*)))
++		KEEP (*(.ctors))
++TOR:		LONG(0)
++TOR:		__CTOR_END__ = .;
++TOR:		__DTOR_LIST__ = .;
++TOR:		LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
++SINGLE_LINK:	KEEP (*crtbegin*.o(.dtors))
++SINGLE_LINK:	KEEP (*(EXCLUDE_FILE (*crtend*.o ) .dtors))
++SINGLE_LINK:	KEEP (*(SORT(.dtors.*)))
++		KEEP (*(.dtors))
++TOR:		LONG(0)
++TOR:		__DTOR_END__ = .;
++
++		PROVIDE (__preinit_array_start = .);
++		KEEP (*(.preinit_array))
++		PROVIDE (__preinit_array_end = .);
++
++		PROVIDE (__init_array_start = .);
++		KEEP (*(SORT(.init_array.*)))
++		KEEP (*(.init_array))
++		PROVIDE (__init_array_end = .);
++
++		PROVIDE (__fini_array_start = .);
++		KEEP (*(.fini_array))
++		KEEP (*(SORT(.fini_array.*)))
++		PROVIDE (__fini_array_end = .);
++
++		. = ALIGN(0x10) ;
++		_edata = . ;
++	} > flatmem :data
++
++	.note.ABI-tag : { *(.note.ABI-tag) } > flatmem
++	.eh_frame_hdr : { *(.eh_frame_hdr) } > flatmem
++	.eh_frame : { KEEP(*(.eh_frame)) } > flatmem
++	.gcc_except_table : {
++		KEEP(*(.gcc_except_table))
++		KEEP(*(.gcc_except_table.*))
++	} > flatmem
++
++	.bss : {
++		. = ALIGN(0x4) ;
++		_sbss = ALIGN(0x4) ;
++		__bss_start = . ;
++		*(.dynsbss)
++		*(.sbss)
++		*(.sbss.*)
++		*(.scommon)
++		*(.dynbss)
++		*(.bss)
++		*(.bss.*)
++		*(.bss*)
++		*(.gnu.linkonce.b*)
++		*(COMMON)
++		. = ALIGN(0x10) ;
++		_ebss = . ;
++		_end = . ;
++		end = . ;
++	} > flatmem
++
++	.stack : {
++		. = ALIGN(0x4);
++		_stack_start = .;
++	} > flatmem
++
++	.junk 0 : { *(.rel*) *(.rela*) }
++	/DISCARD/ : { *(.note.GNU-stack) }
++	/* Stabs debugging sections.    */
++	.stab 0 : { *(.stab) }
++	.stabstr 0 : { *(.stabstr) }
++	.stab.excl 0 : { *(.stab.excl) }
++	.stab.exclstr 0 : { *(.stab.exclstr) }
++	.stab.index 0 : { *(.stab.index) }
++	.stab.indexstr 0 : { *(.stab.indexstr) }
++	.comment 0 : { *(.comment) }
++	/* DWARF debug sections.
++	   Symbols in the DWARF debugging sections are relative to the beginning
++	   of the section so we begin them at 0.  */
++	/* DWARF 1 */
++	.debug          0 : { *(.debug) }
++	.line           0 : { *(.line) }
++	/* GNU DWARF 1 extensions */
++	.debug_srcinfo  0 : { *(.debug_srcinfo) }
++	.debug_sfnames  0 : { *(.debug_sfnames) }
++	/* DWARF 1.1 and DWARF 2 */
++	.debug_aranges  0 : { *(.debug_aranges) }
++	.debug_pubnames 0 : { *(.debug_pubnames) }
++	/* DWARF 2 */
++	.debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
++	.debug_abbrev   0 : { *(.debug_abbrev) }
++	.debug_line     0 : { *(.debug_line) }
++	.debug_frame    0 : { *(.debug_frame) }
++	.debug_str      0 : { *(.debug_str) }
++	.debug_loc      0 : { *(.debug_loc) }
++	.debug_macinfo  0 : { *(.debug_macinfo) }
++	/* SGI/MIPS DWARF 2 extensions */
++	.debug_weaknames 0 : { *(.debug_weaknames) }
++	.debug_funcnames 0 : { *(.debug_funcnames) }
++	.debug_typenames 0 : { *(.debug_typenames) }
++	.debug_varnames  0 : { *(.debug_varnames) }
++}
+-- 
+2.31.1
+
diff --git a/package/elf2flt/Config.in.host b/package/elf2flt/Config.in.host
index d6685a7ff6..2bab0095c2 100644
--- a/package/elf2flt/Config.in.host
+++ b/package/elf2flt/Config.in.host
@@ -1,6 +1,6 @@
 config BR2_PACKAGE_HOST_ELF2FLT
 	bool "Enable elf2flt support?"
-	depends on BR2_arm || BR2_sh || BR2_sparc || BR2_xtensa
+	depends on BR2_arm || BR2_sh || BR2_sparc || BR2_xtensa || BR2_RISCV_64
 	depends on !BR2_USE_MMU
 	help
 	  uCLinux uses a Binary Flat format commonly known as BFLT. It
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v4 2/9] package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name
  2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 1/9] package/elf2flt: add RISC-V 64-bits support Damien Le Moal
@ 2021-08-30  4:40 ` Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 3/9] arch/config: Make RISC-V 64-bits MMU optional Damien Le Moal
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30  4:40 UTC (permalink / raw)
  To: buildroot, Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN

From: Christoph Hellwig <hch@lst.de>

Using *-uclinux-* seems like an only partially followed convention.
And at least RISC-V 64-bits gcc does not know about uclinux tuples.
So switch back to the normal "linux" one for now.

Signed-off-by: Christoph Hellwig <hch@lst.de>

[Damien]
* Make the change conditional on BR2_RISCV_64 being "y".

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
---
 package/Makefile.in | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/package/Makefile.in b/package/Makefile.in
index 86db62ba5b..5b25ea7c7a 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -39,8 +39,9 @@ endif
 # Compute GNU_TARGET_NAME
 GNU_TARGET_NAME = $(ARCH)-$(TARGET_VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI)
 
-# FLAT binary format needs uclinux
-ifeq ($(BR2_BINFMT_FLAT),y)
+# FLAT binary format needs uclinux, except RISC-V 64-bits which needs
+# the regular linux name.
+ifeq ($(BR2_BINFMT_FLAT):$(BR2_RISCV_64),y:)
 TARGET_OS = uclinux
 else
 TARGET_OS = linux
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v4 3/9] arch/config: Make RISC-V 64-bits MMU optional
  2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 1/9] package/elf2flt: add RISC-V 64-bits support Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 2/9] package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name Damien Le Moal
@ 2021-08-30  4:40 ` Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 4/9] board: Add Sipeed MAIX-bit support Damien Le Moal
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30  4:40 UTC (permalink / raw)
  To: buildroot, Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN

Linux supports No-MMU RISC-V 64-bits since kernel version 5.8. Make
MMU optional to enable building for RISC-V 64-bits boards that do not
have one. MMU use of RISC-V 32-bits builds remains mandatory for now.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
---
 arch/Config.in       | 1 -
 arch/Config.in.riscv | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/Config.in b/arch/Config.in
index 1853e26bb4..2e95b6e76c 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -210,7 +210,6 @@ config BR2_powerpc64le
 
 config BR2_riscv
 	bool "RISCV"
-	select BR2_ARCH_HAS_MMU_MANDATORY
 	select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
 	help
 	  RISC-V is an open, free Instruction Set Architecture created
diff --git a/arch/Config.in.riscv b/arch/Config.in.riscv
index 1fc20e5de7..e6436d7c39 100644
--- a/arch/Config.in.riscv
+++ b/arch/Config.in.riscv
@@ -71,10 +71,12 @@ choice
 
 config BR2_RISCV_32
 	bool "32-bit"
+	select BR2_ARCH_HAS_MMU_MANDATORY
 
 config BR2_RISCV_64
 	bool "64-bit"
 	select BR2_ARCH_IS_64
+	select BR2_ARCH_HAS_MMU_OPTIONAL
 
 endchoice
 
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v4 4/9] board: Add Sipeed MAIX-bit support
  2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
                   ` (2 preceding siblings ...)
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 3/9] arch/config: Make RISC-V 64-bits MMU optional Damien Le Moal
@ 2021-08-30  4:40 ` Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 5/9] board: Add Sipeed MAIX-Go support Damien Le Moal
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30  4:40 UTC (permalink / raw)
  To: buildroot, Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN

Add two configuration files to support the dual-core RV64 Canaan K210
SoC based Sipeed MAIX-bit board.

The first configuration file, sipeed_maix_bit_defconfig, enables
building a bootable kernel 5.13 image with the root file system
initramfs linked with the kernel. This configuration modifies the
default busybox configuration busybox-minimal.config using the fragment
file board/canaan/k210-common/busybox-tiny.config. This reduces the
size of the busybox executable to save memory when executing shell
commands.

The second configuration file (sipeed_maix_bit_sdcard_defconfig) builds
a bootable kernel 5.13 image that uses the board SD card for the root
file system. This configuration uses the default busybox minimal
configuration.

Both configurations share the same device tree which is provided by and
built-in the kernel. This configuration is set with the kernel
configuration snippet provided by the configuration file
board/sipeed/maix-bit/linux-dtb.config.

Both configurations also share the same init script provided using the
rootfs_overlay root file system overlay. This provides the /sbin/init
script which replaces the default init process as it causes failures
due to excessive memory usage.

busybox-tiny.config and the rootfs overlay will be reused for all
Canaan K210 SoC based boards. These 2 files are thus placed in the
directory board/canaan/k210-common while the Sipeed MAIX-bit board
specific kernel config snippet is added under the directory
board/sipeed/maix-bit.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
---
 board/canaan/k210-common/busybox-tiny.config  | 243 ++++++++++++++++++
 board/canaan/k210-common/rootfs_overlay/init  |   1 +
 .../k210-common/rootfs_overlay/sbin/init      |  27 ++
 board/sipeed/maix-bit/linux-dtb.config        |   2 +
 configs/sipeed_maix_bit_defconfig             |  15 ++
 configs/sipeed_maix_bit_sdcard_defconfig      |  14 +
 6 files changed, 302 insertions(+)
 create mode 100644 board/canaan/k210-common/busybox-tiny.config
 create mode 120000 board/canaan/k210-common/rootfs_overlay/init
 create mode 100755 board/canaan/k210-common/rootfs_overlay/sbin/init
 create mode 100644 board/sipeed/maix-bit/linux-dtb.config
 create mode 100644 configs/sipeed_maix_bit_defconfig
 create mode 100644 configs/sipeed_maix_bit_sdcard_defconfig

diff --git a/board/canaan/k210-common/busybox-tiny.config b/board/canaan/k210-common/busybox-tiny.config
new file mode 100644
index 0000000000..f78b837b2a
--- /dev/null
+++ b/board/canaan/k210-common/busybox-tiny.config
@@ -0,0 +1,243 @@
+#
+# Additional config changes for busybox-minimal.config
+# to reduce the size of the busybox executable.
+#
+
+#
+# Settings
+#
+# CONFIG_INCLUDE_SUSv2 is not set
+# CONFIG_LONG_OPTS is not set
+# CONFIG_LFS is not set
+# CONFIG_FEATURE_DEVPTS is not set
+# CONFIG_FEATURE_SYSLOG_INFO is not set
+# CONFIG_FEATURE_SYSLOG is not set
+
+#
+# Build Options
+#
+CONFIG_NOMMU=y
+CONFIG_EXTRA_CFLAGS="-Os -fPIC"
+CONFIG_EXTRA_LDFLAGS="-Os -static -Wl,-elf2flt=-r"
+# CONFIG_STACK_OPTIMIZATION_386 is not set
+
+#
+# Library Tuning
+#
+# CONFIG_FEATURE_RTMINMAX is not set
+# CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS is not set
+# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
+CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y
+# CONFIG_FEATURE_EDITING_VI is not set
+# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
+# CONFIG_FEATURE_REVERSE_SEARCH is not set
+# CONFIG_FEATURE_EDITING_WINCH is not set
+# CONFIG_FEATURE_HWIB is not set
+
+#
+# Applets
+#
+
+#
+# Archival Utilities
+#
+# CONFIG_ZCAT is not set
+# CONFIG_BZCAT is not set
+# CONFIG_LZCAT is not set
+# CONFIG_XZCAT is not set
+# CONFIG_UNLZOP is not set
+# CONFIG_LZOPCAT is not set
+
+#
+# Coreutils
+#
+# CONFIG_CKSUM is not set
+# CONFIG_DOS2UNIX is not set
+# CONFIG_UNIX2DOS is not set
+# CONFIG_DU is not set
+# CONFIG_FACTOR is not set
+# CONFIG_FOLD is not set
+# CONFIG_HEAD is not set
+# CONFIG_INSTALL is not set
+# CONFIG_LINK is not set
+# CONFIG_LOGNAME is not set
+# CONFIG_MD5SUM is not set
+# CONFIG_SHA1SUM is not set
+# CONFIG_SHA256SUM is not set
+# CONFIG_SHA512SUM is not set
+# CONFIG_SHA3SUM is not set
+# CONFIG_MKFIFO is not set
+# CONFIG_NICE is not set
+# CONFIG_NL is not set
+# CONFIG_NOHUP is not set
+# CONFIG_OD is not set
+# CONFIG_PASTE is not set
+# CONFIG_SHRED is not set
+# CONFIG_SORT is not set
+# CONFIG_TAIL is not set
+# CONFIG_TEE is not set
+# CONFIG_TIMEOUT is not set
+# CONFIG_TR is not set
+# CONFIG_UNIQ is not set
+# CONFIG_UUDECODE is not set
+# CONFIG_BASE32 is not set
+# CONFIG_UUENCODE is not set
+# CONFIG_WC is not set
+# CONFIG_WHOAMI is not set
+# CONFIG_WHO is not set
+# CONFIG_W is not set
+# CONFIG_USERS is not set
+# CONFIG_YES is not set
+
+#
+# Common options
+#
+# CONFIG_FEATURE_VERBOSE is not set
+
+#
+# Debian Utilities
+#
+# CONFIG_RUN_PARTS is not set
+# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
+# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
+# CONFIG_START_STOP_DAEMON is not set
+# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
+# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
+# CONFIG_WHICH is not set
+
+#
+# klibc-utils
+#
+# CONFIG_NUKE is not set
+# CONFIG_RESUME is not set
+# CONFIG_RUN_INIT is not set
+
+#
+# Editors
+#
+# CONFIG_SED is not set
+CONFIG_VI=y
+CONFIG_FEATURE_VI_MAX_LEN=4096
+CONFIG_FEATURE_VI_COLON=y
+CONFIG_FEATURE_VI_YANKMARK=y
+CONFIG_FEATURE_VI_USE_SIGNALS=y
+CONFIG_FEATURE_VI_DOT_CMD=y
+CONFIG_FEATURE_VI_READONLY=y
+CONFIG_FEATURE_VI_SETOPTS=y
+CONFIG_FEATURE_VI_SET=y
+CONFIG_FEATURE_VI_WIN_RESIZE=y
+CONFIG_FEATURE_VI_ASK_TERMINAL=y
+CONFIG_FEATURE_VI_UNDO=y
+
+#
+# Finding Utilities
+#
+CONFIG_GREP=y
+# CONFIG_EGREP is not set
+# CONFIG_FGREP is not set
+# CONFIG_XARGS is not set
+
+#
+# Init Utilities
+#
+# CONFIG_HALT is not set
+# CONFIG_POWEROFF is not set
+# CONFIG_FEATURE_WAIT_FOR_INIT is not set
+# CONFIG_FEATURE_CALL_TELINIT is not set
+# CONFIG_INIT is not set
+# CONFIG_LINUXRC is not set
+
+#
+# Login/Password Management Utilities
+#
+# CONFIG_FEATURE_SHADOWPASSWDS is not set
+# CONFIG_USE_BB_CRYPT is not set
+# CONFIG_USE_BB_CRYPT_SHA is not set
+# CONFIG_ADDUSER is not set
+# CONFIG_GETTY is not set
+# CONFIG_LOGIN is not set
+# CONFIG_PASSWD is not set
+
+#
+# Linux System Utilities
+#
+# CONFIG_FALLOCATE is not set
+# CONFIG_FREERAMDISK is not set
+# CONFIG_FSFREEZE is not set
+# CONFIG_GETOPT is not set
+# CONFIG_XXD is not set
+# CONFIG_MESG is not set
+# CONFIG_MKE2FS is not set
+# CONFIG_MKDOSFS is not set
+# CONFIG_FEATURE_MOUNT_CIFS is not set
+# CONFIG_FEATURE_MOUNT_FSTAB is not set
+# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
+# CONFIG_NOLOGIN is not set
+# CONFIG_LINUX32 is not set
+# CONFIG_LINUX64 is not set
+# CONFIG_SETPRIV is not set
+
+#
+# Common options for mount/umount
+#
+# CONFIG_FEATURE_MOUNT_LOOP is not set
+# CONFIG_FEATURE_MOUNT_LOOP_CREATE is not set
+
+#
+# Miscellaneous Utilities
+#
+# CONFIG_BC is not set
+# CONFIG_HEXEDIT is not set
+# CONFIG_I2CTRANSFER is not set
+# CONFIG_LSSCSI is not set
+# CONFIG_MIM is not set
+# CONFIG_PARTPROBE is not set
+# CONFIG_SETFATTR is not set
+# CONFIG_SETSERIAL is not set
+# CONFIG_TS is not set
+
+#
+# Networking Utilities
+#
+# CONFIG_HOSTNAME is not set
+# CONFIG_DNSDOMAINNAME is not set
+# CONFIG_IFCONFIG is not set
+# CONFIG_IFUP is not set
+# CONFIG_IFDOWN is not set
+# CONFIG_IP is not set
+# CONFIG_IPADDR is not set
+# CONFIG_IPLINK is not set
+# CONFIG_IPROUTE is not set
+# CONFIG_NC is not set
+# CONFIG_NETSTAT is not set
+# CONFIG_PING is not set
+# CONFIG_ROUTE is not set
+# CONFIG_TC is not set
+# CONFIG_TELNET is not set
+# CONFIG_WGET is not set
+# CONFIG_UDHCPC is not set
+
+#
+# Process Utilities
+#
+# CONFIG_KILLALL is not set
+# CONFIG_KILLALL5 is not set
+
+#
+# Runit Utilities
+#
+# CONFIG_SVC is not set
+# CONFIG_SVOK is not set
+
+#
+# Shells
+#
+CONFIG_BASH_IS_HUSH=y
+# CONFIG_BASH_IS_NONE is not set
+# CONFIG_HUSH_SAVEHISTORY is not set
+
+#
+# Options common to all shells
+#
+# CONFIG_FEATURE_SH_READ_FRAC is not set
+# CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS is not set
diff --git a/board/canaan/k210-common/rootfs_overlay/init b/board/canaan/k210-common/rootfs_overlay/init
new file mode 120000
index 0000000000..a0b71977c0
--- /dev/null
+++ b/board/canaan/k210-common/rootfs_overlay/init
@@ -0,0 +1 @@
+/sbin/init
\ No newline at end of file
diff --git a/board/canaan/k210-common/rootfs_overlay/sbin/init b/board/canaan/k210-common/rootfs_overlay/sbin/init
new file mode 100755
index 0000000000..6ec4748c03
--- /dev/null
+++ b/board/canaan/k210-common/rootfs_overlay/sbin/init
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# Mount sysfs and procfs
+/bin/mount -t sysfs sysfs /sys
+/bin/mount -t proc proc /proc
+
+# Use the /dev/console device node from devtmpfs if possible to not
+# confuse glibc's ttyname_r().
+# This may fail (E.G. booted with console=), and errors from exec will
+# terminate the shell, so use a subshell for the test
+if (exec 0</dev/console) 2>/dev/null; then
+    exec 0</dev/console
+    exec 1>/dev/console
+    exec 2>/dev/console
+fi
+
+# Print a fun logo :)
+echo "          __  _"
+echo "         / / (_) ____   _   _ __  __"
+echo "        / /  | ||  _ \\ | | | |\\ \\/ /"
+echo "       / /___| || | | || |_| | >  < "
+echo "      /_____/|_||_| |_| \\____|/_/\\_\\"
+echo "    64-bits RISC-V Kendryte K210 NOMMU"
+echo ""
+
+# Start interactive shell
+exec /bin/sh
diff --git a/board/sipeed/maix-bit/linux-dtb.config b/board/sipeed/maix-bit/linux-dtb.config
new file mode 100644
index 0000000000..de2f8fd074
--- /dev/null
+++ b/board/sipeed/maix-bit/linux-dtb.config
@@ -0,0 +1,2 @@
+CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y
+CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maix_bit"
diff --git a/configs/sipeed_maix_bit_defconfig b/configs/sipeed_maix_bit_defconfig
new file mode 100644
index 0000000000..1d3934e927
--- /dev/null
+++ b/configs/sipeed_maix_bit_defconfig
@@ -0,0 +1,15 @@
+BR2_riscv=y
+BR2_KERNEL_HEADERS_5_13=y
+BR2_PACKAGE_HOST_ELF2FLT=y
+# BR2_USE_MMU is not set
+BR2_INIT_NONE=y
+BR2_ROOTFS_OVERLAY="board/canaan/k210-common/rootfs_overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maix-bit/linux-dtb.config"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-common/busybox-tiny.config"
+# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
+BR2_TARGET_ROOTFS_INITRAMFS=y
diff --git a/configs/sipeed_maix_bit_sdcard_defconfig b/configs/sipeed_maix_bit_sdcard_defconfig
new file mode 100644
index 0000000000..0c787143a8
--- /dev/null
+++ b/configs/sipeed_maix_bit_sdcard_defconfig
@@ -0,0 +1,14 @@
+BR2_riscv=y
+BR2_KERNEL_HEADERS_5_13=y
+BR2_PACKAGE_HOST_ELF2FLT=y
+# BR2_USE_MMU is not set
+BR2_INIT_NONE=y
+BR2_ROOTFS_OVERLAY="board/canaan/k210-common/rootfs_overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210_sdcard"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maix-bit/linux-dtb.config"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
+# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
+BR2_TARGET_ROOTFS_EXT2=y
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v4 5/9] board: Add Sipeed MAIX-Go support
  2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
                   ` (3 preceding siblings ...)
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 4/9] board: Add Sipeed MAIX-bit support Damien Le Moal
@ 2021-08-30  4:40 ` Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 6/9] board: Add Sipeed MAIXDUINO support Damien Le Moal
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30  4:40 UTC (permalink / raw)
  To: buildroot, Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN

Add two configuration files to support the dual-core RV64 Canaan K210
SoC based Sipeed MAIX-Go board. These configurations are similar to
the Sipeed MAIX-bit board configurations, differing only by the
built-in kernel device tree used.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
---
 board/sipeed/maix-go/linux-dtb.config   |  2 ++
 configs/sipeed_maix_go_defconfig        | 15 +++++++++++++++
 configs/sipeed_maix_go_sdcard_defconfig | 14 ++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 100644 board/sipeed/maix-go/linux-dtb.config
 create mode 100644 configs/sipeed_maix_go_defconfig
 create mode 100644 configs/sipeed_maix_go_sdcard_defconfig

diff --git a/board/sipeed/maix-go/linux-dtb.config b/board/sipeed/maix-go/linux-dtb.config
new file mode 100644
index 0000000000..ea8c30e266
--- /dev/null
+++ b/board/sipeed/maix-go/linux-dtb.config
@@ -0,0 +1,2 @@
+CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y
+CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maix_go"
diff --git a/configs/sipeed_maix_go_defconfig b/configs/sipeed_maix_go_defconfig
new file mode 100644
index 0000000000..8ce2258e96
--- /dev/null
+++ b/configs/sipeed_maix_go_defconfig
@@ -0,0 +1,15 @@
+BR2_riscv=y
+BR2_KERNEL_HEADERS_5_13=y
+BR2_PACKAGE_HOST_ELF2FLT=y
+# BR2_USE_MMU is not set
+BR2_INIT_NONE=y
+BR2_ROOTFS_OVERLAY="board/canaan/k210-common/rootfs_overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maix-go/linux-dtb.config"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-common/busybox-tiny.config"
+# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
+BR2_TARGET_ROOTFS_INITRAMFS=y
diff --git a/configs/sipeed_maix_go_sdcard_defconfig b/configs/sipeed_maix_go_sdcard_defconfig
new file mode 100644
index 0000000000..6f1c2316d2
--- /dev/null
+++ b/configs/sipeed_maix_go_sdcard_defconfig
@@ -0,0 +1,14 @@
+BR2_riscv=y
+BR2_KERNEL_HEADERS_5_13=y
+BR2_PACKAGE_HOST_ELF2FLT=y
+# BR2_USE_MMU is not set
+BR2_INIT_NONE=y
+BR2_ROOTFS_OVERLAY="board/canaan/k210-common/rootfs_overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210_sdcard"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maix-go/linux-dtb.config"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
+# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
+BR2_TARGET_ROOTFS_EXT2=y
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v4 6/9] board: Add Sipeed MAIXDUINO support
  2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
                   ` (4 preceding siblings ...)
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 5/9] board: Add Sipeed MAIX-Go support Damien Le Moal
@ 2021-08-30  4:40 ` Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 7/9] board: Add Sipeed MAIX-Dock support Damien Le Moal
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30  4:40 UTC (permalink / raw)
  To: buildroot, Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN

Add two configuration files to support the dual-core RV64 Canaan K210
SoC based Sipeed MAIXDUINO board. These configurations are similar to
the Sipeed MAIX-bit board configurations, differing only by the
built-in kernel device tree used.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
---
 board/sipeed/maixduino/linux-dtb.config   |  2 ++
 configs/sipeed_maixduino_defconfig        | 15 +++++++++++++++
 configs/sipeed_maixduino_sdcard_defconfig | 14 ++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 100644 board/sipeed/maixduino/linux-dtb.config
 create mode 100644 configs/sipeed_maixduino_defconfig
 create mode 100644 configs/sipeed_maixduino_sdcard_defconfig

diff --git a/board/sipeed/maixduino/linux-dtb.config b/board/sipeed/maixduino/linux-dtb.config
new file mode 100644
index 0000000000..049a2550c5
--- /dev/null
+++ b/board/sipeed/maixduino/linux-dtb.config
@@ -0,0 +1,2 @@
+CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y
+CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maixduino"
diff --git a/configs/sipeed_maixduino_defconfig b/configs/sipeed_maixduino_defconfig
new file mode 100644
index 0000000000..8d83fdf6ad
--- /dev/null
+++ b/configs/sipeed_maixduino_defconfig
@@ -0,0 +1,15 @@
+BR2_riscv=y
+BR2_KERNEL_HEADERS_5_13=y
+BR2_PACKAGE_HOST_ELF2FLT=y
+# BR2_USE_MMU is not set
+BR2_INIT_NONE=y
+BR2_ROOTFS_OVERLAY="board/canaan/k210-common/rootfs_overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maixduino/linux-dtb.config"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-common/busybox-tiny.config"
+# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
+BR2_TARGET_ROOTFS_INITRAMFS=y
diff --git a/configs/sipeed_maixduino_sdcard_defconfig b/configs/sipeed_maixduino_sdcard_defconfig
new file mode 100644
index 0000000000..47eb6fc7ae
--- /dev/null
+++ b/configs/sipeed_maixduino_sdcard_defconfig
@@ -0,0 +1,14 @@
+BR2_riscv=y
+BR2_KERNEL_HEADERS_5_13=y
+BR2_PACKAGE_HOST_ELF2FLT=y
+# BR2_USE_MMU is not set
+BR2_INIT_NONE=y
+BR2_ROOTFS_OVERLAY="board/canaan/k210-common/rootfs_overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210_sdcard"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maixduino/linux-dtb.config"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
+# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
+BR2_TARGET_ROOTFS_EXT2=y
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v4 7/9] board: Add Sipeed MAIX-Dock support
  2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
                   ` (5 preceding siblings ...)
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 6/9] board: Add Sipeed MAIXDUINO support Damien Le Moal
@ 2021-08-30  4:40 ` Damien Le Moal
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 8/9] board: Add Canaan KD233 support Damien Le Moal
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30  4:40 UTC (permalink / raw)
  To: buildroot, Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN

Add two configuration files to support the dual-core RV64 Canaan K210
SoC based Sipeed MAIX-Dock board. These configurations are similar to
the Sipeed MAIX-bit board configurations, differing only by the
built-in kernel device tree used.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
---
 board/sipeed/maix-dock/linux-dtb.config   |  2 ++
 configs/sipeed_maix_dock_defconfig        | 15 +++++++++++++++
 configs/sipeed_maix_dock_sdcard_defconfig | 14 ++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 100644 board/sipeed/maix-dock/linux-dtb.config
 create mode 100644 configs/sipeed_maix_dock_defconfig
 create mode 100644 configs/sipeed_maix_dock_sdcard_defconfig

diff --git a/board/sipeed/maix-dock/linux-dtb.config b/board/sipeed/maix-dock/linux-dtb.config
new file mode 100644
index 0000000000..b1ca3166f8
--- /dev/null
+++ b/board/sipeed/maix-dock/linux-dtb.config
@@ -0,0 +1,2 @@
+CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y
+CONFIG_SOC_CANAAN_K210_DTB_SOURCE="sipeed_maix_dock"
diff --git a/configs/sipeed_maix_dock_defconfig b/configs/sipeed_maix_dock_defconfig
new file mode 100644
index 0000000000..253ba2690d
--- /dev/null
+++ b/configs/sipeed_maix_dock_defconfig
@@ -0,0 +1,15 @@
+BR2_riscv=y
+BR2_KERNEL_HEADERS_5_13=y
+BR2_PACKAGE_HOST_ELF2FLT=y
+# BR2_USE_MMU is not set
+BR2_INIT_NONE=y
+BR2_ROOTFS_OVERLAY="board/canaan/k210-common/rootfs_overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maix-dock/linux-dtb.config"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-common/busybox-tiny.config"
+# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
+BR2_TARGET_ROOTFS_INITRAMFS=y
diff --git a/configs/sipeed_maix_dock_sdcard_defconfig b/configs/sipeed_maix_dock_sdcard_defconfig
new file mode 100644
index 0000000000..3e6b9b1026
--- /dev/null
+++ b/configs/sipeed_maix_dock_sdcard_defconfig
@@ -0,0 +1,14 @@
+BR2_riscv=y
+BR2_KERNEL_HEADERS_5_13=y
+BR2_PACKAGE_HOST_ELF2FLT=y
+# BR2_USE_MMU is not set
+BR2_INIT_NONE=y
+BR2_ROOTFS_OVERLAY="board/canaan/k210-common/rootfs_overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210_sdcard"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/sipeed/maix-dock/linux-dtb.config"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
+# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
+BR2_TARGET_ROOTFS_EXT2=y
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v4 8/9] board: Add Canaan KD233 support
  2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
                   ` (6 preceding siblings ...)
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 7/9] board: Add Sipeed MAIX-Dock support Damien Le Moal
@ 2021-08-30  4:40 ` Damien Le Moal
  2021-08-30  4:41 ` [Buildroot] [PATCH v4 9/9] board: Document Canaan K210 based boards support Damien Le Moal
  2021-08-30 21:32 ` [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Thomas Petazzoni
  9 siblings, 0 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30  4:40 UTC (permalink / raw)
  To: buildroot, Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN

Add two configuration files to support the dual-core RV64 Canaan K210
SoC based KD233 development board. These configurations are similar to
the configurations defined for the Sipeed boards, differing only by the
built-in kernel device tree used.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
---
 board/canaan/kd233/linux-dtb.config   |  2 ++
 configs/canaan_kd233_defconfig        | 15 +++++++++++++++
 configs/canaan_kd233_sdcard_defconfig | 14 ++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 100644 board/canaan/kd233/linux-dtb.config
 create mode 100644 configs/canaan_kd233_defconfig
 create mode 100644 configs/canaan_kd233_sdcard_defconfig

diff --git a/board/canaan/kd233/linux-dtb.config b/board/canaan/kd233/linux-dtb.config
new file mode 100644
index 0000000000..d5b107124a
--- /dev/null
+++ b/board/canaan/kd233/linux-dtb.config
@@ -0,0 +1,2 @@
+CONFIG_SOC_CANAAN_K210_DTB_BUILTIN=y
+CONFIG_SOC_CANAAN_K210_DTB_SOURCE="canaan_kd233"
diff --git a/configs/canaan_kd233_defconfig b/configs/canaan_kd233_defconfig
new file mode 100644
index 0000000000..cabb6aa4f8
--- /dev/null
+++ b/configs/canaan_kd233_defconfig
@@ -0,0 +1,15 @@
+BR2_riscv=y
+BR2_KERNEL_HEADERS_5_13=y
+BR2_PACKAGE_HOST_ELF2FLT=y
+# BR2_USE_MMU is not set
+BR2_INIT_NONE=y
+BR2_ROOTFS_OVERLAY="board/canaan/k210-common/rootfs_overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/canaan/kd233/linux-dtb.config"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
+BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="board/canaan/k210-common/busybox-tiny.config"
+# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
+BR2_TARGET_ROOTFS_INITRAMFS=y
diff --git a/configs/canaan_kd233_sdcard_defconfig b/configs/canaan_kd233_sdcard_defconfig
new file mode 100644
index 0000000000..c57418674f
--- /dev/null
+++ b/configs/canaan_kd233_sdcard_defconfig
@@ -0,0 +1,14 @@
+BR2_riscv=y
+BR2_KERNEL_HEADERS_5_13=y
+BR2_PACKAGE_HOST_ELF2FLT=y
+# BR2_USE_MMU is not set
+BR2_INIT_NONE=y
+BR2_ROOTFS_OVERLAY="board/canaan/k210-common/rootfs_overlay"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_DEFCONFIG="nommu_k210_sdcard"
+BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/canaan/kd233/linux-dtb.config"
+BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y
+BR2_LINUX_KERNEL_IMAGE_NAME="loader.bin"
+BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox-minimal.config"
+# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
+BR2_TARGET_ROOTFS_EXT2=y
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH v4 9/9] board: Document Canaan K210 based boards support
  2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
                   ` (7 preceding siblings ...)
  2021-08-30  4:40 ` [Buildroot] [PATCH v4 8/9] board: Add Canaan KD233 support Damien Le Moal
@ 2021-08-30  4:41 ` Damien Le Moal
  2021-08-30 21:32 ` [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Thomas Petazzoni
  9 siblings, 0 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30  4:41 UTC (permalink / raw)
  To: buildroot, Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN

Add a generic board/canaan/k210-common/README.md file documenting how to
generate and install buildroot images for boards based on the dual-core
RV64 Canaan K210 SoC. A simple README.md file pointing to this generic
documentation is also added under each K210 SoC board directory.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
---
 board/canaan/k210-common/README.md | 318 +++++++++++++++++++++++++++++
 board/canaan/kd233/README.md       |   4 +
 board/sipeed/maix-bit/README.md    |   4 +
 board/sipeed/maix-dock/README.md   |   4 +
 board/sipeed/maix-go/README.md     |   4 +
 board/sipeed/maixduino/README.md   |   4 +
 6 files changed, 338 insertions(+)
 create mode 100644 board/canaan/k210-common/README.md
 create mode 100644 board/canaan/kd233/README.md
 create mode 100644 board/sipeed/maix-bit/README.md
 create mode 100644 board/sipeed/maix-dock/README.md
 create mode 100644 board/sipeed/maix-go/README.md
 create mode 100644 board/sipeed/maixduino/README.md

diff --git a/board/canaan/k210-common/README.md b/board/canaan/k210-common/README.md
new file mode 100644
index 0000000000..b9a4eca3b0
--- /dev/null
+++ b/board/canaan/k210-common/README.md
@@ -0,0 +1,318 @@
+# Canaan Kendryte K210 SoC Based Board Support
+
+Buildroot provides support for Canaan RISC-V Kendryte K210 SoC based boards.
+Configurations for different K210 Soc board variants are available. The boards
+supported are as follows.
+
+* From Sipeed: MAIX Bit, MAIX Dock (Dan Dock), MAIX Go and MAIXDUINO boards.
+
+* From Canaan: KD233 development board.
+
+For each board, two configurations are provided:
+
+* Configuration to build a bootable kernel image with built-in initramfs root
+file system (SD card is not used)
+
+* Configuration to build a bootable kernel image with the root file system
+on the board SD card.
+
+In all cases, the build process generates a bootable kernel image that can be
+directly flashed to the board boot flash. A boot loader (e.g. U-Boot) and
+OpenSBI are not necessary.
+
+## Bootable Kernel Image With A Built-In Initramfs Root File System
+
+The following table lists the default configuration provided for each board
+supported.
+
+| Board vendor and model | configuration name          |
+| ---------------------- | --------------------------- |
+| Canaan KD233           | canaan_kd233_defconfig      |
+| Sipeed MAIX bit        | sipeed_maix_bit_defconfig   |
+| Sipeed MAIX Go         | sipeed_maix_go_defconfig    |
+| Sipeed MAIX dock       | sipeed_maix_dock_defconfig  |
+| Sipeed MAIXDUINO       | sipeed_maixduino_defconfig  |
+
+The build procedure is similar for all boards. The steps to create the kernel
+bootable image are as follows:
+
+```
+$ make <config name>
+$ make
+```
+
+The build process will generate the bootable binary image file
+*output/images/loader.bin*. This image file must be written to the board boot
+flash using the
+[Sipeed kflash python utility](https://github.com/sipeed/kflash.py).
+
+```
+$ sudo python3 kflash.py -p /dev/ttyUSB0 -b 1500000 -t output/images/loader.bin
+```
+
+The above command will open a terminal console and reboot the board once the
+image is written. The output will be similar to the following (example obtained
+with the Sipeed MAIX Bit board).
+
+```
+[INFO] COM Port Selected Manually:  /dev/ttyUSB0
+[INFO] Default baudrate is 115200 , later it may be changed to the value you set.
+[INFO] Trying to Enter the ISP Mode...
+._
+[INFO] Automatically detected goE/kd233
+
+[INFO] Greeting Message Detected, Start Downloading ISP
+Downloading ISP: |=================================================================| 100.0% 10kiB/s
+[INFO] Booting From 0x80000000
+[INFO] Wait For 0.1 second for ISP to Boot
+[INFO] Boot to Flashmode Successfully
+[INFO] Selected Baudrate:  1500000
+[INFO] Baudrate changed, greeting with ISP again ...
+[INFO] Boot to Flashmode Successfully
+[INFO] Selected Flash:  On-Board
+[INFO] Initialization flash Successfully
+Programming BIN: |=================================================================| 100.0% 50kiB/s
+[INFO] Rebooting...
+--- forcing DTR inactive
+--- forcing RTS inactive
+--- Miniterm on /dev/ttyUSB0  115200,8,N,1 ---
+--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+[    0.000000] Linux version 5.13.0 (xxx@yyy.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2021.05-rc3-447-g26fab79296-dirty) 11.1.0, GNU ld (GNU Binutils) 2.32) #2 SMP Fri Jul 9 10:59:05 JST 2021
+[    0.000000] Machine model: SiPeed MAIX BiT
+[    0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8')
+[    0.000000] printk: bootconsole [sifive0] enabled
+[    0.000000] Zone ranges:
+[    0.000000]   DMA32    [mem 0x0000000080000000-0x00000000807fffff]
+[    0.000000]   Normal   empty
+[    0.000000] Movable zone start for each node
+[    0.000000] Early memory node ranges
+[    0.000000]   node   0: [mem 0x0000000080000000-0x00000000807fffff]
+[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff]
+[    0.000000] riscv: ISA extensions acdfim
+[    0.000000] riscv: ELF capabilities acdfim
+[    0.000000] percpu: max_distance=0x18000 too large for vmalloc space 0x0
+[    0.000000] percpu: Embedded 12 pages/cpu s19360 r0 d29792 u49152
+[    0.000000] Built 1 zonelists, mobility grouping off.  Total pages: 2020
+[    0.000000] Kernel command line: earlycon console=ttySIF0
+[    0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
+[    0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
+[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
+[    0.000000] Memory: 6052K/8192K available (950K kernel code, 140K rwdata, 200K rodata, 480K init, 66K bss, 2140K reserved, 0K cma-reserved)
+[    0.000000] rcu: Hierarchical RCU implementation.
+[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
+[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
+[    0.000000] riscv-intc: 64 local interrupts mapped
+[    0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 2 contexts.
+[    0.000000] k210-clk: clock-controller: CPU running at 390 MHz
+[    0.000000] clint: timer@2000000: timer running at 7800000 Hz
+[    0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns
+[    0.000002] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns
+[    0.008183] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200)
+[    0.018250] pid_max: default: 4096 minimum: 301
+[    0.022865] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
+[    0.029971] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
+[    0.040316] rcu: Hierarchical SRCU implementation.
+[    0.045151] smp: Bringing up secondary CPUs ...
+[    0.050271] smp: Brought up 1 node, 2 CPUs
+[    0.054355] devtmpfs: initialized
+[    0.071852] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
+[    0.080926] pinctrl core: initialized pinctrl subsystem
+[    0.117980] clocksource: Switched to clocksource clint_clocksource
+[    0.130392] workingset: timestamp_bits=62 max_order=11 bucket_order=0
+[    0.162498] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller
+[    0.175231] k210-sysctl 50440000.syscon: K210 system controller
+[    0.182048] k210-rst 50440000.syscon:reset-controller: K210 reset controller
+[    0.189335] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0
+[    0.198258] printk: console [ttySIF0] enabled
+[    0.198258] printk: console [ttySIF0] enabled
+[    0.206899] printk: bootconsole [sifive0] disabled
+[    0.206899] printk: bootconsole [sifive0] disabled
+[    0.218821] cacheinfo: Unable to detect cache hierarchy for CPU 0
+[    0.236193] i2c /dev entries driver
+[    0.240804] random: get_random_bytes called from 0x000000008000586e with crng_init=0
+[    0.253005] Freeing unused kernel memory: 476K
+[    0.256754] This architecture does not have kernel memory protection.
+[    0.263177] Run /init as init process
+          __  _
+         / / (_) ____   _   _ __  __
+        / /  | ||  _ \ | | | |\ \/ /
+       / /___| || | | || |_| | >  <
+      /_____/|_||_| |_| \____|/_/\_\
+        RISC-V Kendryte K210 NOMMU
+
+
+BusyBox v1.33.1 (2021-07-09 10:58:24 JST) hush - the humble shell
+Enter 'help' for a list of built-in commands.
+
+/ #
+```
+
+To open a console without re-flashing the board, *miniterm.py* can be used.
+```
+sudo miniterm.py --raw --eol=LF /dev/ttyUSB0 115200
+```
+
+The options *--raw --eol=LF* are added here to avoid a double carriage return
+each time a command is entered.
+
+## Bootable Kernel Image With the Root File System On SD Card
+
+The following table lists the default configurations provided for the supported
+boards.
+
+| Board vendor and model | configuration name                 |
+| ---------------------- | ---------------------------------- |
+| Canaan KD233           | canaan_kd233_sdcard_defconfig      |
+| Sipeed MAIX bit        | sipeed_maix_bit_sdcard_defconfig   |
+| Sipeed MAIX Go         | sipeed_maix_go_sdcard_defconfig    |
+| Sipeed MAIX dock       | sipeed_maix_dock_sdcard_defconfig  |
+| Sipeed MAIXDUINO       | sipeed_maixduino_sdcard_defconfig  |
+
+The build procedure is similar to the built-in initramfs case.
+
+```
+$ make <config name>
+$ make
+```
+
+The build process will generate two files under the *output/images* directory.
+
+* *loader.bin*: This bootable kernel image file.
+
+* *rootfs.ext2*: ext2 (rev1) SD card image.
+
+Before flashing the kernel bootable image, the SD card must be prepared.
+
+```
+$ sudo dd if=output/images/rootfs.ext2 of=/dev/sdX1 bs=1M
+$ sync
+$ eject /dev/sdX
+```
+
+Where */dev/sdX* is the device file name of the SD card. The SD card must have
+at least one partition of at least 60 MB. Once completed, the SD card can be
+inserted into the board and the kernel bootable image file written to the board
+boot flash, using
+[Sipeed kflash python utility](https://github.com/sipeed/kflash.py).
+
+```
+$ sudo python3 kflash.py -p /dev/ttyUSB0 -b 1500000 -t output/image/loader.bin
+```
+
+The above command will open a terminal console and reboot the board once the
+image is written. The output will be similar to the following (example obtained
+with the Sipeed MAIX Bit board).
+
+```
+[INFO] COM Port Selected Manually:  /dev/ttyUSB0 
+[INFO] Default baudrate is 115200 , later it may be changed to the value you set. 
+[INFO] Trying to Enter the ISP Mode... 
+._
+[INFO] Automatically detected goE/kd233 
+
+[INFO] Greeting Message Detected, Start Downloading ISP 
+Downloading ISP: |=================================================================| 100.0% 10kiB/s
+[INFO] Booting From 0x80000000 
+[INFO] Wait For 0.1 second for ISP to Boot 
+[INFO] Boot to Flashmode Successfully 
+[INFO] Selected Baudrate:  1500000 
+[INFO] Baudrate changed, greeting with ISP again ...  
+[INFO] Boot to Flashmode Successfully 
+[INFO] Selected Flash:  On-Board 
+[INFO] Initialization flash Successfully 
+Programming BIN: |=================================================================| 100.0% 50kiB/s
+[INFO] Rebooting... 
+--- forcing DTR inactive
+--- forcing RTS inactive
+--- Miniterm on /dev/ttyUSB0  115200,8,N,1 ---
+--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
+[    0.000000] Linux version 5.13.0 (damien@twashi.fujisawa.hgst.com) (riscv64-buildroot-linux-uclibc-gcc.br_real (Buildroot 2021.05-rc3-447-g26fab79296-dirty) 11.1.0, GNU ld (GNU Binutils) 2.32) #1 SMP Fri Jul 9 14:50:18 JST 2021
+[    0.000000] Machine model: SiPeed MAIX BiT
+[    0.000000] earlycon: sifive0 at MMIO 0x0000000038000000 (options '115200n8')
+[    0.000000] printk: bootconsole [sifive0] enabled
+[    0.000000] Zone ranges:
+[    0.000000]   DMA32    [mem 0x0000000080000000-0x00000000807fffff]
+[    0.000000]   Normal   empty
+[    0.000000] Movable zone start for each node
+[    0.000000] Early memory node ranges
+[    0.000000]   node   0: [mem 0x0000000080000000-0x00000000807fffff]
+[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000807fffff]
+[    0.000000] riscv: ISA extensions acdfim
+[    0.000000] riscv: ELF capabilities acdfim
+[    0.000000] percpu: max_distance=0x18000 too large for vmalloc space 0x0
+[    0.000000] percpu: Embedded 12 pages/cpu s19488 r0 d29664 u49152
+[    0.000000] Built 1 zonelists, mobility grouping off.  Total pages: 2020
+[    0.000000] Kernel command line: earlycon console=ttySIF0 rootdelay=2 root=/dev/mmcblk0p1 ro
+[    0.000000] Dentry cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
+[    0.000000] Inode-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
+[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
+[    0.000000] Memory: 6184K/8192K available (1149K kernel code, 151K rwdata, 232K rodata, 105K init, 69K bss, 2008K reserved, 0K cma-reserved)
+[    0.000000] rcu: Hierarchical RCU implementation.
+[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
+[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
+[    0.000000] riscv-intc: 64 local interrupts mapped
+[    0.000000] plic: interrupt-controller@c000000: mapped 65 interrupts with 2 handlers for 2 contexts.
+[    0.000000] k210-clk: clock-controller: CPU running at 390 MHz
+[    0.000000] clint: timer@2000000: timer running at 7800000 Hz
+[    0.000000] clocksource: clint_clocksource: mask: 0xffffffffffffffff max_cycles: 0x3990be68b, max_idle_ns: 881590404272 ns
+[    0.000001] sched_clock: 64 bits at 7MHz, resolution 128ns, wraps every 4398046511054ns
+[    0.008179] Calibrating delay loop (skipped), value calculated using timer frequency.. 15.60 BogoMIPS (lpj=31200)
+[    0.018252] pid_max: default: 4096 minimum: 301
+[    0.022859] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
+[    0.029972] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
+[    0.040382] rcu: Hierarchical SRCU implementation.
+[    0.045234] smp: Bringing up secondary CPUs ...
+[    0.050345] smp: Brought up 1 node, 2 CPUs
+[    0.054419] devtmpfs: initialized
+[    0.071317] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
+[    0.080392] pinctrl core: initialized pinctrl subsystem
+[    0.119377] clocksource: Switched to clocksource clint_clocksource
+[    0.131238] workingset: timestamp_bits=62 max_order=11 bucket_order=0
+[    0.159389] k210-fpioa 502b0000.pinmux: K210 FPIOA pin controller
+[    0.171494] k210-sysctl 50440000.syscon: K210 system controller
+[    0.178193] k210-rst 50440000.syscon:reset-controller: K210 reset controller
+[    0.186800] 38000000.serial: ttySIF0 at MMIO 0x38000000 (irq = 1, base_baud = 115200) is a SiFive UART v0
+[    0.195764] printk: console [ttySIF0] enabled
+[    0.195764] printk: console [ttySIF0] enabled
+[    0.204377] printk: bootconsole [sifive0] disabled
+[    0.204377] printk: bootconsole [sifive0] disabled
+[    0.216056] cacheinfo: Unable to detect cache hierarchy for CPU 0
+[    0.232882] i2c /dev entries driver
+[    0.263551] mmc_spi spi2.0: SD/MMC host mmc0, no WP, no poweroff, cd polling
+[    0.271167] random: get_random_bytes called from 0x0000000080005d60 with crng_init=0
+[    0.289511] Waiting 2 sec before mounting root device...
+[    0.312217] mmc0: host does not support reading read-only switch, assuming write-enable
+[    0.319565] mmc0: new SDHC card on SPI
+[    0.326205] mmcblk0: mmc0:0000 SA16G 14.5 GiB 
+[    0.333339] random: fast init done
+[    0.337935]  mmcblk0: p1 p2
+[    2.311900] VFS: Mounted root (ext2 filesystem) readonly on device 179:1.
+[    2.321555] devtmpfs: mounted
+[    2.324099] Freeing unused kernel memory: 100K
+[    2.328227] This architecture does not have kernel memory protection.
+[    2.334652] Run /sbin/init as init process
+[    2.491565] random: crng init done
+          __  _
+         / / (_) ____   _   _ __  __
+        / /  | ||  _ \ | | | |\ \/ /
+       / /___| || | | || |_| | >  < 
+      /_____/|_||_| |_| \____|/_/\_\
+        RISC-V Kendryte K210 NOMMU
+
+
+BusyBox v1.33.1 (2021-07-09 10:58:24 JST) hush - the humble shell
+Enter 'help' for a list of built-in commands.
+
+/ # 
+```
+
+Of note is that the kernel command line arguments, specified in the kernel
+*nommu_k210_sdcard* default configuration, mount the SD card as read-only to
+avoid corruptions of the ext2 root file system. This is recommended as this
+board does not isupport clean shutdown or halt.
+
+Similarly to the initramfs build case, a console can be open without
+re-flashing the board using *miniterm.py*.
+```
+sudo miniterm.py --raw --eol=LF /dev/ttyUSB0 115200
+```
diff --git a/board/canaan/kd233/README.md b/board/canaan/kd233/README.md
new file mode 100644
index 0000000000..e622d121c2
--- /dev/null
+++ b/board/canaan/kd233/README.md
@@ -0,0 +1,4 @@
+# Canaan KD233 Board
+
+See the common documentation for
+[Canaan K210 SoC based boards](../k210-common/README.md).
diff --git a/board/sipeed/maix-bit/README.md b/board/sipeed/maix-bit/README.md
new file mode 100644
index 0000000000..c9132bcc76
--- /dev/null
+++ b/board/sipeed/maix-bit/README.md
@@ -0,0 +1,4 @@
+# Sipeed MAIX-Bit Board
+
+See the common documentation for
+[Canaan K210 SoC based boards](../../canaan/k210-common/README.md).
diff --git a/board/sipeed/maix-dock/README.md b/board/sipeed/maix-dock/README.md
new file mode 100644
index 0000000000..fec6fb9939
--- /dev/null
+++ b/board/sipeed/maix-dock/README.md
@@ -0,0 +1,4 @@
+# Sipeed MAIX-Dock Board
+
+See the common documentation for
+[Canaan K210 SoC based boards](../../canaan/k210-common/README.md).
diff --git a/board/sipeed/maix-go/README.md b/board/sipeed/maix-go/README.md
new file mode 100644
index 0000000000..1f14f65410
--- /dev/null
+++ b/board/sipeed/maix-go/README.md
@@ -0,0 +1,4 @@
+# Sipeed MAIX-Go Board
+
+See the common documentation for
+[Canaan K210 SoC based boards](../../canaan/k210-common/README.md).
diff --git a/board/sipeed/maixduino/README.md b/board/sipeed/maixduino/README.md
new file mode 100644
index 0000000000..daf0f763c9
--- /dev/null
+++ b/board/sipeed/maixduino/README.md
@@ -0,0 +1,4 @@
+# Sipeed MAIXDUINO Board
+
+See the common documentation for
+[Canaan K210 SoC based boards](../../canaan/k210-common/README.md).
-- 
2.31.1

_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support
  2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
                   ` (8 preceding siblings ...)
  2021-08-30  4:41 ` [Buildroot] [PATCH v4 9/9] board: Document Canaan K210 based boards support Damien Le Moal
@ 2021-08-30 21:32 ` Thomas Petazzoni
  2021-08-30 21:42   ` Damien Le Moal
  2021-08-30 21:52   ` Thomas Petazzoni
  9 siblings, 2 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2021-08-30 21:32 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: Alistair Francis, Yann E . MORIN, buildroot

Hello Damien,

On Mon, 30 Aug 2021 13:40:51 +0900
Damien Le Moal <damien.lemoal@wdc.com> wrote:

> Christoph Hellwig (2):
>   package/elf2flt: add RISC-V 64-bits support
>   package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name
> 
> Damien Le Moal (7):
>   arch/config: Make RISC-V 64-bits MMU optional

Just tested with the first 3 patches applied the following defconfig:

BR2_riscv=y
# BR2_USE_MMU is not set

It fails to build with:

/home/thomas/buildroot/buildroot/output/host/riscv64-buildroot-linux-uclibc/bin/elf2flt: Loading to RAM ('-r' option) 
is required

This is using the default Busybox configuration, i.e
package/busybox/busybox.config. I haven't tested if other noMMU
architectures exhibit the same issue.

The package/busybox/busybox-minimal.config causes the same issue.

I'm gonna try on ARM noMMU and see.

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support
  2021-08-30 21:32 ` [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Thomas Petazzoni
@ 2021-08-30 21:42   ` Damien Le Moal
  2021-08-30 21:55     ` Thomas Petazzoni
  2021-08-30 21:52   ` Thomas Petazzoni
  1 sibling, 1 reply; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30 21:42 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN, buildroot

On 2021/08/31 6:32, Thomas Petazzoni wrote:
> Hello Damien,
> 
> On Mon, 30 Aug 2021 13:40:51 +0900
> Damien Le Moal <damien.lemoal@wdc.com> wrote:
> 
>> Christoph Hellwig (2):
>>   package/elf2flt: add RISC-V 64-bits support
>>   package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name
>>
>> Damien Le Moal (7):
>>   arch/config: Make RISC-V 64-bits MMU optional
> 
> Just tested with the first 3 patches applied the following defconfig:
> 
> BR2_riscv=y
> # BR2_USE_MMU is not set
> 
> It fails to build with:
> 
> /home/thomas/buildroot/buildroot/output/host/riscv64-buildroot-linux-uclibc/bin/elf2flt: Loading to RAM ('-r' option) 
> is required

Yes, this option is mandatory for rv64. The elf2flt patch checks for it, but
only for rv64. Other architectures should not be affected.
The following patch that adds the Sipeed MAIX bit board support adds that option
to busybox build. So I guess that build option should be moved to this patch ?

To be frank, I did not test generic nommu rv64 builds. I should have...

> 
> This is using the default Busybox configuration, i.e
> package/busybox/busybox.config. I haven't tested if other noMMU
> architectures exhibit the same issue.
> 
> The package/busybox/busybox-minimal.config causes the same issue.
> 
> I'm gonna try on ARM noMMU and see.
> 
> Best regards,
> 
> Thomas
> 


-- 
Damien Le Moal
Western Digital Research
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support
  2021-08-30 21:32 ` [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Thomas Petazzoni
  2021-08-30 21:42   ` Damien Le Moal
@ 2021-08-30 21:52   ` Thomas Petazzoni
  1 sibling, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2021-08-30 21:52 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: Alistair Francis, Yann E . MORIN, buildroot

Hello Damien,

On Mon, 30 Aug 2021 23:32:04 +0200
Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:

> I'm gonna try on ARM noMMU and see.

Everything builds fine in ARM noMMU, i.e the following defconfig builds fine:

BR2_arm=y
BR2_cortex_m7=y
BR2_ARM_ENABLE_VFP=y

So there is really a RISC-V noMMU specific issue it seems.

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support
  2021-08-30 21:42   ` Damien Le Moal
@ 2021-08-30 21:55     ` Thomas Petazzoni
  2021-08-30 21:59       ` Damien Le Moal
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2021-08-30 21:55 UTC (permalink / raw)
  To: Damien Le Moal; +Cc: Alistair Francis, Yann E . MORIN, buildroot

Hello Damien,

On Mon, 30 Aug 2021 21:42:02 +0000
Damien Le Moal <Damien.LeMoal@wdc.com> wrote:

> On 2021/08/31 6:32, Thomas Petazzoni wrote:
> > Hello Damien,
> > 
> > On Mon, 30 Aug 2021 13:40:51 +0900
> > Damien Le Moal <damien.lemoal@wdc.com> wrote:
> >   
> >> Christoph Hellwig (2):
> >>   package/elf2flt: add RISC-V 64-bits support
> >>   package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name
> >>
> >> Damien Le Moal (7):
> >>   arch/config: Make RISC-V 64-bits MMU optional  
> > 
> > Just tested with the first 3 patches applied the following defconfig:
> > 
> > BR2_riscv=y
> > # BR2_USE_MMU is not set
> > 
> > It fails to build with:
> > 
> > /home/thomas/buildroot/buildroot/output/host/riscv64-buildroot-linux-uclibc/bin/elf2flt: Loading to RAM ('-r' option) 
> > is required  
> 
> Yes, this option is mandatory for rv64. The elf2flt patch checks for it, but
> only for rv64. Other architectures should not be affected.
> The following patch that adds the Sipeed MAIX bit board support adds that option
> to busybox build. So I guess that build option should be moved to this patch ?

I see:

+CONFIG_EXTRA_LDFLAGS="-Os -static -Wl,-elf2flt=-r"

in your Busybox configuration file indeed. But what about other
packages ?

If this is needed for all packages built for RISC-V 64-bit noMMU, then
we need to have it set as part of the toolchain wrapper. Actually, the
toolchain wrapper already passes -Wl,-elf2flt, so it would only have to
be tweaked to pass -Wl,-elf2flt=-r instead.

See:

#ifdef BR_BINFMT_FLAT
        "-Wl,-elf2flt",
#endif

in toolchain/toolchain-wrapper.c

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support
  2021-08-30 21:55     ` Thomas Petazzoni
@ 2021-08-30 21:59       ` Damien Le Moal
  0 siblings, 0 replies; 15+ messages in thread
From: Damien Le Moal @ 2021-08-30 21:59 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Alistair Francis, Yann E . MORIN, buildroot

On 2021/08/31 6:56, Thomas Petazzoni wrote:
> Hello Damien,
> 
> On Mon, 30 Aug 2021 21:42:02 +0000
> Damien Le Moal <Damien.LeMoal@wdc.com> wrote:
> 
>> On 2021/08/31 6:32, Thomas Petazzoni wrote:
>>> Hello Damien,
>>>
>>> On Mon, 30 Aug 2021 13:40:51 +0900
>>> Damien Le Moal <damien.lemoal@wdc.com> wrote:
>>>   
>>>> Christoph Hellwig (2):
>>>>   package/elf2flt: add RISC-V 64-bits support
>>>>   package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name
>>>>
>>>> Damien Le Moal (7):
>>>>   arch/config: Make RISC-V 64-bits MMU optional  
>>>
>>> Just tested with the first 3 patches applied the following defconfig:
>>>
>>> BR2_riscv=y
>>> # BR2_USE_MMU is not set
>>>
>>> It fails to build with:
>>>
>>> /home/thomas/buildroot/buildroot/output/host/riscv64-buildroot-linux-uclibc/bin/elf2flt: Loading to RAM ('-r' option) 
>>> is required  
>>
>> Yes, this option is mandatory for rv64. The elf2flt patch checks for it, but
>> only for rv64. Other architectures should not be affected.
>> The following patch that adds the Sipeed MAIX bit board support adds that option
>> to busybox build. So I guess that build option should be moved to this patch ?
> 
> I see:
> 
> +CONFIG_EXTRA_LDFLAGS="-Os -static -Wl,-elf2flt=-r"
> 
> in your Busybox configuration file indeed. But what about other
> packages ?
> 
> If this is needed for all packages built for RISC-V 64-bit noMMU, then
> we need to have it set as part of the toolchain wrapper. Actually, the
> toolchain wrapper already passes -Wl,-elf2flt, so it would only have to
> be tweaked to pass -Wl,-elf2flt=-r instead.
> 
> See:
> 
> #ifdef BR_BINFMT_FLAT
>         "-Wl,-elf2flt",
> #endif
> 
> in toolchain/toolchain-wrapper.c

OK. Got it. Re-spinning with this.
Thanks !

> 
> Best regards,
> 
> Thomas
> 


-- 
Damien Le Moal
Western Digital Research
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-08-30 21:59 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-30  4:40 [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Damien Le Moal
2021-08-30  4:40 ` [Buildroot] [PATCH v4 1/9] package/elf2flt: add RISC-V 64-bits support Damien Le Moal
2021-08-30  4:40 ` [Buildroot] [PATCH v4 2/9] package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name Damien Le Moal
2021-08-30  4:40 ` [Buildroot] [PATCH v4 3/9] arch/config: Make RISC-V 64-bits MMU optional Damien Le Moal
2021-08-30  4:40 ` [Buildroot] [PATCH v4 4/9] board: Add Sipeed MAIX-bit support Damien Le Moal
2021-08-30  4:40 ` [Buildroot] [PATCH v4 5/9] board: Add Sipeed MAIX-Go support Damien Le Moal
2021-08-30  4:40 ` [Buildroot] [PATCH v4 6/9] board: Add Sipeed MAIXDUINO support Damien Le Moal
2021-08-30  4:40 ` [Buildroot] [PATCH v4 7/9] board: Add Sipeed MAIX-Dock support Damien Le Moal
2021-08-30  4:40 ` [Buildroot] [PATCH v4 8/9] board: Add Canaan KD233 support Damien Le Moal
2021-08-30  4:41 ` [Buildroot] [PATCH v4 9/9] board: Document Canaan K210 based boards support Damien Le Moal
2021-08-30 21:32 ` [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support Thomas Petazzoni
2021-08-30 21:42   ` Damien Le Moal
2021-08-30 21:55     ` Thomas Petazzoni
2021-08-30 21:59       ` Damien Le Moal
2021-08-30 21:52   ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.