lupyuen opened a new pull request, #10069: URL: https://github.com/apache/nuttx/pull/10069
## Summary This PR adds support for the StarFive JH7110 RISC-V SoC. This will be used by the upcoming port of NuttX for PINE64 Star64 SBC. [The source files are explained in the articles here](https://github.com/lupyuen/nuttx-star64) ### Modified Files in arch/risc-v `Kconfig`: Added ARCH_CHIP_JH7110 for JH7110 SoC ### New Files in arch/risc-v `include/jh7110/chip.h`: JH7110 Definitions `include/jh7110/irq.h`: Support 127 External Interrupts `src/jh7110/chip.h`: Interrupt Stack Macro `src/jh7110/jh7110_allocateheap.c`: Kernel Heap `src/jh7110/jh7110_head.S`: Linux Header and Boot Code `src/jh7110/jh7110_irq.c`: Configure Interrupts `src/jh7110/jh7110_irq_dispatch.c`: Dispatch Interrupts `src/jh7110/jh7110_memorymap.h`: Memory Map `src/jh7110/jh7110_mm_init.c`, `jh7110_mm_init.h`: Memory Mgmt `src/jh7110/jh7110_pgalloc.c`: Page Allocator `src/jh7110/jh7110_start.c`: Startup Code `src/jh7110/jh7110_timerisr.c`: Timer Interrupt `src/jh7110/hardware/jh7110_memorymap.h`: PLIC Base Address `src/jh7110/hardware/jh7110_plic.h`: PLIC Register Addresses `src/jh7110/Kconfig`: JH7110 Config `src/jh7110/Make.defs`: Makefile ## Impact This PR is needed for the upcoming port of NuttX for PINE64 Star64 SBC. No impact on existing code, since the JH7110 source files are not used by existing code. ## Testing We tested the JH7110 source files on PINE64 Star64 SBC. NuttX boots correctly to NSH Shell: - [NuttX Log for Star64 JH7110](https://gist.github.com/lupyuen/427843f1de298e1a916d58c9a37bc7cb) ```text Starting kernel ... clk u5_dw_i2c_clk_core already disabled clk u5_dw_i2c_clk_apb already disabled BCnx_start: Entry uart_register: Registering /dev/console uart_register: Registering /dev/ttyS0 work_start_lowpri: Starting low-priority kernel worker thread(s) nx_start_application: Starting init task: /system/bin/init elf_symname: Symbol has no name elf_symvalue: SHN_UNDEF: Failed to get symbol name: -3 elf_relocateadd: Section 2 reloc 2: Undefined symbol[0] has no name: -3 up_exit: TCB=0x40409890 exiting nx_start: CPU0: Beginning Idle Loop NuttShell (NSH) NuttX-12.0.3 nsh> uname -a posix_spawn: pid=0xc0202978 path=uname file_actions=0xc0202980 attr=0xc0202988 argv=0xc0202a28 exec_spawn: ERROR: Failed to load program 'uname': -2 nxposix_spawn_exec: ERROR: exec failed: 2 NuttX 12.0.3 7a92743-dirty Aug 3 2023 18:06:04 risc-v star64 nsh> free posix_spawn: pid=0xc0202978 path=free file_actions=0xc0202980 attr=0xc0202988 argv=0xc0202a28 exec_spawn: ERROR: Failed to load program 'free': -2 nxposix_spawn_exec: ERROR: exec failed: 2 total used free largest nused nfree Kmem: 2065400 14600 2050800 2049440 50 3 Page: 20971520 643072 20328448 20328448 nsh> ls -l posix_spawn: pid=0xc0202978 path=ls file_actions=0xc0202980 attr=0xc0202988 argv=0xc0202a28 exec_spawn: ERROR: Failed to load program 'ls': -2 nxposix_spawn_exec: ERROR: exec failed: 2 /: dr--r--r-- 0 dev/ dr--r--r-- 0 proc/ dr--r--r-- 0 system/ nsh> ``` We may ignore the `exec_spawn` messages, they are caused by NSH attempting to load the app binaries from the NuttX Apps Filesystem (initrd), when they are actually built-in NSH Commands. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org