Repository navigation
feat(boom): add Linux profiles and SPEC2006 configuration - #83
Merged
Merged
Conversation
Select boom_defconfig for boom and boom-* device trees, following the XiangShan/NutShell split. Use RV64GC/LP64D userspace and disable V and KVM through a fragment of the shared Linux configuration. Add boom-mem2g for SimAXIUart at 0x10000000 and boom-fpga-mem2g for the board UART16550 at 0x310b0000. Share the single-hart, 2 GiB DTS setup; the FPGA UART uses reg-shift=2 and mmio32 earlycon accesses. Co-authored-by: klin02 <youkunlin20@mails.ucas.ac.cn>
good-circle
force-pushed
the
draft/boom-linux-profiles-20261027
branch
from
October 27, 2026 02:42
2cbd57c to
a746bbe
Compare
Add a GCC 16 configuration using -march=rv64gc_zba_zbb_zbs for base and peak builds. The default RVA23 config can emit Zbc instructions that BOOM does not implement. Select this cfg for DEFAULT_DTB=boom or boom-* while preserving SPEC2006_CFG overrides and the existing XiangShan/NutShell defaults. Document FPGA builds with SPEC2006_PROFILING=0, the workload-specific form of PROFILING=0, to omit startup markers and retain the final trap. Co-authored-by: klin02 <youkunlin20@mails.ucas.ac.cn>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
BOOM currently inherits the XiangShan Linux and SPEC2006 defaults, which can
enable ISA features the core does not implement. Select a dedicated BOOM
Buildroot configuration with RV64GC/LP64D userspace and a fragment of the shared
Linux configuration that disables V and KVM.
Add single-hart, 2 GiB
boom-mem2gandboom-fpga-mem2gdevice-tree profiles.They share the machine settings and select either the emulation UART at
0x10000000or the FPGA UART16550 at0x310b0000. The FPGA UART usesreg-shift=2, 32-bit accesses andmmio32earlycon. Select the BOOM Buildrootconfiguration for
DEFAULT_DTB=boomandboom-*.Default BOOM SPEC2006 builds to a GCC 16 RV64GC/Zba/Zbb/Zbs configuration so
the compiler does not emit unsupported instructions. Document
SPEC2006_PROFILING=0for FPGA builds to omit startup profiling markers whileretaining the final exit-status trap.
Validation:
TRAP for hello; with NEMU
CONFIG_GUIDED_EXEC=y, mcf entered userspace andran for 600 seconds without mismatch. This was a bounded run; SPEC did not
finish. The retained DTS/kernel/hello/SPEC sources match those builds, but
complete images were not rebuilt for the final commit tree.
/spec/run.shdirectly, omits the 256/257 startup markers and retains the final status trap.
git diff --checkpassed.