From f67b7734f047bf612454e0701e19497e0ec8b88f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 3 Sep 2026 17:04:08 +0200 Subject: [PATCH 1/8] only use half the cores for building/testing PETSc, since in particular the test suite can be quite memory-hungry --- eb_hooks.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index 81fbfc62..b2451392 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -2485,6 +2485,11 @@ def set_maximum(parallel, max_value): '*': (divide_by_factor, 2), CPU_TARGET_A64FX: (set_maximum, 1), }, + 'PETSc': { + # PETSc test suite can be quite memory hungry, + # so reduce parallelism when running tests (also impacts build) + '*': (divide_by_factor, 2), + }, 'QuantumESPRESSO': { CPU_TARGET_A64FX: (set_maximum, 6), }, From 951046ee1680f5e4b3d54c2cd5b9287e758d429c Mon Sep 17 00:00:00 2001 From: Hugo Meiland <32266151+hmeiland@users.noreply.github.com> Date: Thu, 3 Sep 2026 19:04:29 +0200 Subject: [PATCH 2/8] archdetect: detect Granite Rapids via CPU model when flags match Sapphire Rapids eessi_archdetect.sh selects a microarchitecture purely from CPU feature flags. Intel Granite Rapids (Xeon 6) exposes the same visible /proc/cpuinfo flags as Sapphire/Emerald Rapids - its new features such as amx_fp16 are hidden by the kernel - so the flag match lands on x86_64/intel/sapphirerapids. Refine that match using the CPU model number, the only reliable Granite Rapids discriminator on Linux: once the flag match yields sapphirerapids, check the model and prepend x86_64/intel/graniterapids on family 6 / model 173 (0xAD, GNR-SP/AP) or 174 (0xAE, GNR-D). Non-breaking: cpupath -a returns a priority-ordered fallback chain and downstream subdir resolution selects the first path that exists, so Granite Rapids transparently falls back to sapphirerapids until a graniterapids build is shipped. Sapphire Rapids (model 143) and Emerald Rapids (model 207) are unaffected. Add a test fixture captured from a real Azure Standard_D2s_v7 (Intel Xeon 6973P-C, family 6 model 173). Verified on real Granite Rapids silicon and against the full archdetect fixture suite. Bump VERSION to 1.3.0. --- init/eessi_archdetect.sh | 20 +++++++++++++- .../Azure-Ubuntu24-6973P-C.all.output | 1 + .../Azure-Ubuntu24-6973P-C.cpuinfo | 27 +++++++++++++++++++ .../Azure-Ubuntu24-6973P-C.output | 1 + 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.all.output create mode 100644 tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.cpuinfo create mode 100644 tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.output diff --git a/init/eessi_archdetect.sh b/init/eessi_archdetect.sh index 64d4131f..a3631213 100755 --- a/init/eessi_archdetect.sh +++ b/init/eessi_archdetect.sh @@ -17,7 +17,7 @@ else exit 1 fi -VERSION="1.2.0" +VERSION="1.3.0" # default log level: only emit warnings or errors LOG_LEVEL="WARN" @@ -172,6 +172,24 @@ cpupath(){ fi done + # Some Intel microarchitectures are flag-indistinguishable from an older one because their + # new features are not exposed in /proc/cpuinfo. Granite Rapids (Xeon 6) shows the exact same + # visible flags as Sapphire/Emerald Rapids (its extras like amx_fp16 are hidden by the kernel), + # so the flag match above lands on 'sapphirerapids'. Refine using the CPU model number - the + # only reliable discriminator on Linux. If no dedicated graniterapids subdir is shipped yet, + # downstream subdir resolution falls back to the next entry in the chain, so prepending is safe. + if [ "${best_arch_match}" == "x86_64/intel/sapphirerapids" ]; then + local cpu_family=$(get_cpuinfo "cpu[ _]family") + local cpu_model=$(get_cpuinfo "model") + log "DEBUG" "cpupath: refining Sapphire Rapids match (family='$cpu_family', model='$cpu_model')" + # Intel family 6 models: 173 (0xAD) = Granite Rapids-SP/AP, 174 (0xAE) = Granite Rapids-D + if [ "${cpu_family}" == "6" ] && { [ "${cpu_model}" == "173" ] || [ "${cpu_model}" == "174" ]; }; then + best_arch_match="x86_64/intel/graniterapids" + all_arch_matches="$best_arch_match:$all_arch_matches" + log "DEBUG" "cpupath: model $cpu_model identifies Granite Rapids; best match upgraded to $best_arch_match" + fi + fi + if [ "allx" == "${CPUPATH_RESULT}x" ]; then log "INFO" "cpupath: all matches for host CPU: $all_arch_matches" echo "$all_arch_matches" diff --git a/tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.all.output b/tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.all.output new file mode 100644 index 00000000..5b9439a3 --- /dev/null +++ b/tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.all.output @@ -0,0 +1 @@ +x86_64/intel/graniterapids:x86_64/intel/sapphirerapids:x86_64/intel/icelake:x86_64/intel/cascadelake:x86_64/intel/skylake_avx512:x86_64/intel/haswell:x86_64/generic diff --git a/tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.cpuinfo b/tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.cpuinfo new file mode 100644 index 00000000..215ef93b --- /dev/null +++ b/tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.cpuinfo @@ -0,0 +1,27 @@ +processor : 0 +vendor_id : GenuineIntel +cpu family : 6 +model : 173 +model name : Intel(R) Xeon(R) 6973P-C +stepping : 1 +microcode : 0xffffffff +cpu MHz : 4200.428 +cache size : 491520 KB +physical id : 0 +siblings : 2 +core id : 0 +cpu cores : 1 +apicid : 0 +initial apicid : 0 +fpu : yes +fpu_exception : yes +cpuid level : 36 +wp : yes +flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch tpr_shadow ept vpid ept_ad fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves user_shstk avx_vnni avx512_bf16 vnmi avx512vbmi umip waitpkg avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq la57 rdpid cldemote movdiri movdir64b fsrm serialize tsxldtrk ibt amx_bf16 avx512_fp16 amx_tile amx_int8 arch_capabilities +vmx flags : vnmi invvpid ept_x_only ept_ad ept_1gb ept_5level tsc_offset vtpr ept vpid unrestricted_guest ept_mode_based_exec tsc_scaling usr_wait_pause +bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs retbleed bhi spectre_v2_user its +bogomips : 5199.99 +clflush size : 64 +cache_alignment : 64 +address sizes : 48 bits physical, 57 bits virtual +power management: diff --git a/tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.output b/tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.output new file mode 100644 index 00000000..2633f463 --- /dev/null +++ b/tests/archdetect/x86_64/intel/graniterapids/Azure-Ubuntu24-6973P-C.output @@ -0,0 +1 @@ +x86_64/intel/graniterapids From 987faece8c3bd3edbd0db6d1f7d5e5f367e8bc1f Mon Sep 17 00:00:00 2001 From: Hugo Meiland <32266151+hmeiland@users.noreply.github.com> Date: Thu, 3 Sep 2026 19:28:35 +0200 Subject: [PATCH 3/8] archdetect: cite intel-family.h as authoritative source for GNR model numbers Address review feedback from @boegel: document the model-number -> microarch mapping (family 6, models 0xAD/0xAE) with its source - the kernel's arch/x86/include/asm/intel-family.h (INTEL_GRANITERAPIDS_X/_D via IFM()). --- init/eessi_archdetect.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/init/eessi_archdetect.sh b/init/eessi_archdetect.sh index a3631213..1dbe6b51 100755 --- a/init/eessi_archdetect.sh +++ b/init/eessi_archdetect.sh @@ -182,7 +182,11 @@ cpupath(){ local cpu_family=$(get_cpuinfo "cpu[ _]family") local cpu_model=$(get_cpuinfo "model") log "DEBUG" "cpupath: refining Sapphire Rapids match (family='$cpu_family', model='$cpu_model')" - # Intel family 6 models: 173 (0xAD) = Granite Rapids-SP/AP, 174 (0xAE) = Granite Rapids-D + # Intel family 6 model numbers below come from the kernel's authoritative table + # arch/x86/include/asm/intel-family.h (what the kernel itself uses for model dispatch): + # INTEL_GRANITERAPIDS_X = IFM(6, 0xAD) -> family 6, model 173 (Granite Rapids-SP/AP) + # INTEL_GRANITERAPIDS_D = IFM(6, 0xAE) -> family 6, model 174 (Granite Rapids-D) + # (cf. INTEL_SAPPHIRERAPIDS_X = 0x8F/143, INTEL_EMERALDRAPIDS_X = 0xCF/207) if [ "${cpu_family}" == "6" ] && { [ "${cpu_model}" == "173" ] || [ "${cpu_model}" == "174" ]; }; then best_arch_match="x86_64/intel/graniterapids" all_arch_matches="$best_arch_match:$all_arch_matches" From 96ca751290c5b95ed5433017598b8a79737ed213 Mon Sep 17 00:00:00 2001 From: Georgios Kafanas Date: Thu, 3 Sep 2026 23:27:24 +0200 Subject: [PATCH 4/8] [STYLE] Use full path in the configuration command for better logging --- eb_hooks.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/eb_hooks.py b/eb_hooks.py index b2451392..6b284ca7 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -1533,7 +1533,8 @@ def pre_configure_hook_petsc(self, *args, **kwargs): if self.name == 'PETSc': # only necessary for PETSc 3.24.0+ if LooseVersion(self.version) >= LooseVersion('3.24.0'): - self.cfg.update('configopts', '--with-zlib-dir=${EESSI_EPREFIX}/usr') + compat_layer_topdir = get_eessi_envvar('EESSI_EPREFIX') + self.cfg.update('configopts', f'--with-zlib-dir={compat_layer_topdir}/usr') else: raise EasyBuildError("PETSc-specific hook triggered for non-PETSc easyconfig?!") From 7026949ad34c5bb0a1ea419ad2df0dcc13e68e54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Fri, 4 Sep 2026 11:05:14 +0200 Subject: [PATCH 5/8] update scorecards workflow --- .github/workflows/scorecards.yml | 63 ++++++++++++-------------------- 1 file changed, 24 insertions(+), 39 deletions(-) diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index e13367f8..60f3fa12 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -1,71 +1,56 @@ -# This workflow uses actions that are not certified by GitHub. They are provided -# by a third-party and are governed by separate terms of service, privacy -# policy, and support documentation. - -name: Scorecards supply-chain security +name: Scorecard analysis workflow on: - # To guarantee Maintained check is occasionally updated. See - # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained - schedule: - - cron: '25 15 * * 3' push: + # Only the default branch is supported. branches: - - 'main' - -# Declare default permissions as read only. + - main + schedule: + # Weekly on Saturdays. + - cron: '30 1 * * 6' permissions: read-all jobs: analysis: if: github.repository_owner == 'EESSI' # Prevent running on forks - name: Scorecards analysis - runs-on: ubuntu-24.04 + name: Scorecard analysis + runs-on: ubuntu-latest permissions: - # Needed to upload the results to code-scanning dashboard. + # Needed for Code scanning upload security-events: write - # Needed to publish results and get a badge (see publish_results below). + # Needed for GitHub OIDC token if publish_results is true id-token: write - # Uncomment the permissions below if installing in a private repository. - # contents: read - # actions: read steps: - name: "Checkout code" - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: "Run analysis" - uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3 + uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc # v2.4.4 with: results_file: results.sarif results_format: sarif - # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: - # - you want to enable the Branch-Protection check on a *public* repository, or - # - you are installing Scorecards on a *private* repository - # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat. - # repo_token: ${{ secrets.SCORECARD_TOKEN }} - - # Public repositories: - # - Publish results to OpenSSF REST API for easy access by consumers - # - Allows the repository to include the Scorecard badge. - # - See https://github.com/ossf/scorecard-action#publishing-results. - # For private repositories: - # - `publish_results` will always be set to `false`, regardless - # of the value entered here. + # Scorecard team runs a weekly scan of public GitHub repos, + # see https://github.com/ossf/scorecard#public-data. + # Setting `publish_results: true` helps us scale by leveraging your workflow to + # extract the results instead of relying on our own infrastructure to run scans. + # And it's free for you! publish_results: true - # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF - # format to the repository Actions tab. + # Upload the results as artifacts (optional). Commenting out will disable + # uploads of run results in SARIF format to the repository Actions tab. + # https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts - name: "Upload artifact" - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: SARIF file path: results.sarif retention-days: 5 - # Upload the results to GitHub's code scanning dashboard. + # Upload the results to GitHub's code scanning dashboard (optional). + # Commenting out will disable upload of results to your repo's Code Scanning dashboard - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6 + uses: github/codeql-action/upload-sarif@f205ea1c3313d32999d8d6a48b4f6530d4437b38 # v4.37.4 with: sarif_file: results.sarif From db67a422663b48725a6d711e442f45023eefa116 Mon Sep 17 00:00:00 2001 From: julianmorillo Date: Thu, 10 Sep 2026 11:20:19 +0200 Subject: [PATCH 6/8] Update architecture targets in tests_archdetect.yml --- .github/workflows/tests_archdetect.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests_archdetect.yml b/.github/workflows/tests_archdetect.yml index 04fd37f0..43598e70 100644 --- a/.github/workflows/tests_archdetect.yml +++ b/.github/workflows/tests_archdetect.yml @@ -29,8 +29,9 @@ jobs: - aarch64/google/axion/GCP-axion - riscv64/sifive/p550/premier-Ubuntu24 - riscv64/sifive/u74-mc/starvision-Ubuntu24 - - riscv64/spacemit/bananaf3-Armbian - - riscv64/spacemit/bananaf3-k6.6 + - riscv64/spacemit/x60/bananaf3-Armbian + - riscv64/spacemit/x60/bananaf3-k6.6 + - riscv64/spacemit/x100/fireflyk3-Ubuntu26 - riscv64/rva20u64 - riscv64/rva22u64 - riscv64/rva23u64 From 80659c232bcbb00c0e7d7f6e4cfe4dd0f62a7079 Mon Sep 17 00:00:00 2001 From: julianmorillo Date: Thu, 10 Sep 2026 15:15:13 +0200 Subject: [PATCH 7/8] Intermediate step towards adding fireflyk3 support --- init/arch_specs/eessi_arch_riscv.spec | 2 ++ .../fireflyk3-Ubuntu26.all.output} | 0 .../fireflyk3-Ubuntu26.cpuinfo} | 0 .../fireflyk3-Ubuntu26.output} | 0 .../riscv64/spacemit/x60/bananaf3-Armbian.all.output | 1 + .../riscv64/spacemit/x60/bananaf3-Armbian.cpuinfo | 9 +++++++++ .../riscv64/spacemit/x60/bananaf3-Armbian.output | 1 + .../riscv64/spacemit/{ => x60}/bananaf3-k6.6.all.output | 0 .../riscv64/spacemit/{ => x60}/bananaf3-k6.6.cpuinfo | 0 .../riscv64/spacemit/{ => x60}/bananaf3-k6.6.output | 0 10 files changed, 13 insertions(+) rename tests/archdetect/riscv64/spacemit/{bananaf3-Armbian.all.output => x100/fireflyk3-Ubuntu26.all.output} (100%) rename tests/archdetect/riscv64/spacemit/{bananaf3-Armbian.cpuinfo => x100/fireflyk3-Ubuntu26.cpuinfo} (100%) rename tests/archdetect/riscv64/spacemit/{bananaf3-Armbian.output => x100/fireflyk3-Ubuntu26.output} (100%) create mode 100644 tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.all.output create mode 100644 tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.cpuinfo create mode 100644 tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.output rename tests/archdetect/riscv64/spacemit/{ => x60}/bananaf3-k6.6.all.output (100%) rename tests/archdetect/riscv64/spacemit/{ => x60}/bananaf3-k6.6.cpuinfo (100%) rename tests/archdetect/riscv64/spacemit/{ => x60}/bananaf3-k6.6.output (100%) diff --git a/init/arch_specs/eessi_arch_riscv.spec b/init/arch_specs/eessi_arch_riscv.spec index b1cb04f2..c5685e74 100644 --- a/init/arch_specs/eessi_arch_riscv.spec +++ b/init/arch_specs/eessi_arch_riscv.spec @@ -40,6 +40,7 @@ # sifive/u74-mc <- tests/.../sifive/u74-mc/starvision-Ubuntu24.cpuinfo # spacemit/x60 <- tests/.../spacemit/bananaf3-Armbian.cpuinfo # spacemit/x60-k6.6 <- tests/.../spacemit/bananaf3-k6.6.cpuinfo +# spacemit/x100 <- tests/.../spacemit/x100/fireflyk3-Ubuntu26.cpuinfo # Software path in EESSI | Vendor ID | List of defining CPU features "riscv64/rva20u64" "" "rv64imafdc zicsr zicntr zifencei" @@ -49,3 +50,4 @@ "riscv64/sifive/u74-mc" "0x489" "rv64imafdc zicntr zicsr zifencei zihpm zca zcd zba zbb" # full measured VisionFive 2 isa "riscv64/spacemit/x60" "0x710" "rv64imafdcv sscofpmf sstc svpbmt zicbom zicboz zicbop zihintpause" # full Armbian-short isa "riscv64/spacemit/x60-k6.6" "0x710" "rv64imafdcv zicbom zicboz zicntr zicond zicsr zifencei zihintpause zihpm zfh zfhmin zca zcd zba zbb zbc zbs zkt zve32f zve32x zve64d zve64f zve64x zvfh zvfhmin zvkt sscofpmf sstc svinval svnapot svpbmt" # full k6.6 isa +"riscv64/spacemit/x100" "0x710" "rv64imafdcvh zicbom zicbop zicboz zicntr zicond zicsr zifencei zihintntl zihintpause zihpm zimop zaamo zalrsc zawrs zfa zfh zfhmin zca zcb zcd zcmop zba zbb zbc zbs zkt zvbb zvbc zve32f zve32x zve64d zve64f zve64x zvfh zvfhmin zvkb zvkg zvkned zvknha zvknhb zvksed zvksh zvkt smaia smstateen ssaia sscofpmf sstc svinval svnapot svpbmt sdtrig" diff --git a/tests/archdetect/riscv64/spacemit/bananaf3-Armbian.all.output b/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.all.output similarity index 100% rename from tests/archdetect/riscv64/spacemit/bananaf3-Armbian.all.output rename to tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.all.output diff --git a/tests/archdetect/riscv64/spacemit/bananaf3-Armbian.cpuinfo b/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.cpuinfo similarity index 100% rename from tests/archdetect/riscv64/spacemit/bananaf3-Armbian.cpuinfo rename to tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.cpuinfo diff --git a/tests/archdetect/riscv64/spacemit/bananaf3-Armbian.output b/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.output similarity index 100% rename from tests/archdetect/riscv64/spacemit/bananaf3-Armbian.output rename to tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.output diff --git a/tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.all.output b/tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.all.output new file mode 100644 index 00000000..f00000a8 --- /dev/null +++ b/tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.all.output @@ -0,0 +1 @@ +riscv64/spacemit/x60:riscv64/generic diff --git a/tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.cpuinfo b/tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.cpuinfo new file mode 100644 index 00000000..11c32f92 --- /dev/null +++ b/tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.cpuinfo @@ -0,0 +1,9 @@ +processor : 0 +hart : 0 +model name : Spacemit(R) X60 +isa : rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause +mmu : sv39 +mvendorid : 0x710 +marchid : 0x8000000058000001 +mimpid : 0x1000000049772200 + diff --git a/tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.output b/tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.output new file mode 100644 index 00000000..f4e3facf --- /dev/null +++ b/tests/archdetect/riscv64/spacemit/x60/bananaf3-Armbian.output @@ -0,0 +1 @@ +riscv64/spacemit/x60 diff --git a/tests/archdetect/riscv64/spacemit/bananaf3-k6.6.all.output b/tests/archdetect/riscv64/spacemit/x60/bananaf3-k6.6.all.output similarity index 100% rename from tests/archdetect/riscv64/spacemit/bananaf3-k6.6.all.output rename to tests/archdetect/riscv64/spacemit/x60/bananaf3-k6.6.all.output diff --git a/tests/archdetect/riscv64/spacemit/bananaf3-k6.6.cpuinfo b/tests/archdetect/riscv64/spacemit/x60/bananaf3-k6.6.cpuinfo similarity index 100% rename from tests/archdetect/riscv64/spacemit/bananaf3-k6.6.cpuinfo rename to tests/archdetect/riscv64/spacemit/x60/bananaf3-k6.6.cpuinfo diff --git a/tests/archdetect/riscv64/spacemit/bananaf3-k6.6.output b/tests/archdetect/riscv64/spacemit/x60/bananaf3-k6.6.output similarity index 100% rename from tests/archdetect/riscv64/spacemit/bananaf3-k6.6.output rename to tests/archdetect/riscv64/spacemit/x60/bananaf3-k6.6.output From 328d7677febe04803faf5c5bd2503d1084760a10 Mon Sep 17 00:00:00 2001 From: Julian Morillo Date: Thu, 10 Sep 2026 15:23:28 +0200 Subject: [PATCH 8/8] Full support for fireflyk3 CPU in archdetect --- .../spacemit/x100/fireflyk3-Ubuntu26.all.output | 2 +- .../riscv64/spacemit/x100/fireflyk3-Ubuntu26.cpuinfo | 10 +++++----- .../riscv64/spacemit/x100/fireflyk3-Ubuntu26.output | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.all.output b/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.all.output index f00000a8..838eb200 100644 --- a/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.all.output +++ b/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.all.output @@ -1 +1 @@ -riscv64/spacemit/x60:riscv64/generic +riscv64/spacemit/x100:riscv64/spacemit/x60-k6.6:riscv64/spacemit/x60:riscv64/rva23u64:riscv64/rva22u64:riscv64/rva20u64:riscv64/generic diff --git a/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.cpuinfo b/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.cpuinfo index 11c32f92..d977c83b 100644 --- a/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.cpuinfo +++ b/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.cpuinfo @@ -1,9 +1,9 @@ processor : 0 hart : 0 -model name : Spacemit(R) X60 -isa : rv64imafdcv_sscofpmf_sstc_svpbmt_zicbom_zicboz_zicbop_zihintpause +model name : Spacemit(R) X100 +isa : rv64imafdcvh_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintntl_zihintpause_zihpm_zimop_zaamo_zalrsc_zawrs_zfa_zfh_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbc_zbs_zkt_zvbb_zvbc_zve32f_zve32x_zve64d_zve64f_zve64x_zvfh_zvfhmin_zvkb_zvkg_zvkned_zvknha_zvknhb_zvksed_zvksh_zvkt_smaia_smstateen_ssaia_sscofpmf_sstc_svinval_svnapot_svpbmt_sdtrig mmu : sv39 mvendorid : 0x710 -marchid : 0x8000000058000001 -mimpid : 0x1000000049772200 - +marchid : 0x8000000058000002 +mimpid : 0x33d8a600 +hart isa : rv64imafdcvh_zicbom_zicbop_zicboz_zicntr_zicond_zicsr_zifencei_zihintntl_zihintpause_zihpm_zimop_zaamo_zalrsc_zawrs_zfa_zfh_zfhmin_zca_zcb_zcd_zcmop_zba_zbb_zbc_zbs_zkt_zvbb_zvbc_zve32f_zve32x_zve64d_zve64f_zve64x_zvfh_zvfhmin_zvkb_zvkg_zvkned_zvknha_zvknhb_zvksed_zvksh_zvkt_smaia_smstateen_ssaia_sscofpmf_sstc_svinval_svnapot_svpbmt_sdtrig diff --git a/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.output b/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.output index f4e3facf..d6213dab 100644 --- a/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.output +++ b/tests/archdetect/riscv64/spacemit/x100/fireflyk3-Ubuntu26.output @@ -1 +1 @@ -riscv64/spacemit/x60 +riscv64/spacemit/x100