Files
retroSoC/app/ports/linux/README.md
T
maksyuki 0e36b6a82f feat: introduce RV64 support and related tooling for HP workloads
- Added build_hp_rtthread.py for building the RT-Thread kernel with RV64 support.
- Updated build_hp_smoke.py to target RV64 architecture and modified output filenames.
- Modified generate_vexiiriscv.py to reflect RV64 configuration and memory management.
- Created hp_tools.py for shared utilities related to RV64 builds.
- Enhanced package_hp_boot.py to package RV64 workloads and updated versioning.
- Implemented run_hp_sim.py for executing and validating HP workloads with specific markers.
- Developed setup_hp_rtthread.py for installing RT-Thread source and environment setup.
- Updated GenerateRetroSocHp.scala to generate RV64 application cores.
- Enhanced tests for HP boot bundles, platform specifications, and tool utilities to accommodate RV64 changes.
- Adjusted test cases to validate new workload types and ensure compatibility with RV64 architecture.
2026-09-26 15:47:26 +08:00

2.0 KiB

HP Linux Port

This directory owns the Buildroot external tree, device tree, kernel config, and integration metadata for the fixed RV64 VexiiRiscv HP core. Linux, OpenSBI, Buildroot, toolchains, and all generated images remain below .cache/ or build/ and are not tracked.

The MVP uses OpenSBI FW_JUMP without U-Boot. Its fixed SDRAM layout is:

Artifact Address Maximum size
OpenSBI 0x38000000 512 KiB
DTB 0x38080000 64 KiB
Linux Image 0x38400000 12 MiB
initramfs 0x39000000 8 MiB

Run make setup-hp-linux to install the locked sources, then use the hp-linux target from an HAVE_HP=YES committed profile. The initial Linux console uses SBI; the UART1 and mailbox nodes reserve their stable platform ABI for the native drivers.

The RV64/Sv39 acceptance image uses musl and static BusyBox with a dedicated /init. It mounts procfs, sysfs, devtmpfs and tmpfs, verifies file I/O and child execution, then publishes the Linux-ready mailbox message. The kernel effective configuration and all executable ELF classes are checked during the build. rootfs.cpio is a small uncompressed archive; the DTB uses its actual length. The DT reserves the resident 512 KiB OpenSBI window with no-map; Linux must not allocate it. The custom platform does not apply the generic OpenSBI FDT fixups. It does not start the full Buildroot service sequence.

make CONFIG=configs/ci/ihp130-hp.mk hp-linux
make CONFIG=configs/ci/ihp130-hp.mk SIMU=VERILATOR hp-linux-sim

The V2 bundle uses workload 1 and four typed payloads. V1 images must be rebuilt. Linux success goes directly to LP TEST_STATUS; GA2D/cache lifecycle is tested by hp-smoke-sim. Logs and verdicts live in sim/verilator/hp-linux/ below the selected variant. HP_LINUX_SIM_TIME=0 means no emulator wall-clock timeout; successful TEST_STATUS ends the run. Interrupted/running results are not passes.

See HP platform for the ABI and RT-Thread BSP for the separate M-mode workload.