From f750a9f3695796e15f53ef6e0390b7cd75e6c33d Mon Sep 17 00:00:00 2001 From: Yinan Xu Date: Wed, 13 May 2026 00:37:50 +0800 Subject: [PATCH] fix(spec2017): split rate/speed image export dirs Export MODE=rate to build/images/spec2017rate and MODE=speed to build/images/spec2017speed, while keeping MODE=all under build/images/spec2017. --- workloads/linux/spec2017/README.md | 8 +++++++- workloads/linux/spec2017/rules.mk | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/workloads/linux/spec2017/README.md b/workloads/linux/spec2017/README.md index 6ada17a..bd45504 100644 --- a/workloads/linux/spec2017/README.md +++ b/workloads/linux/spec2017/README.md @@ -58,10 +58,14 @@ Export reference speed images: make spec2017-images SPEC2017_ISO=/path/to/cpu2017.iso MODE=speed -jN ``` +By default, rate images are exported under `build/images/spec2017rate/` and +speed images under `build/images/spec2017speed/`. `SPEC2017_IMAGE_MODE=all` +keeps the combined export under `build/images/spec2017/`. + The export tree is: ```text -build/images/spec2017/ +build/images// bin/.fw_payload.bin kernel/.Image elf/.elf @@ -72,6 +76,8 @@ build/images/spec2017/ cfg/riscv-gcc15.cfg ``` +`` is `spec2017rate` for rate and `spec2017speed` for speed. + When SPEC generates multiple run commands for a case, `spec2017-images` exports one firmware image, one rootfs, and one `cmd/.run.sh` per command, plus one shared ELF for the base case. Variants are named with the base case, diff --git a/workloads/linux/spec2017/rules.mk b/workloads/linux/spec2017/rules.mk index 994bef8..78891fb 100644 --- a/workloads/linux/spec2017/rules.mk +++ b/workloads/linux/spec2017/rules.mk @@ -10,7 +10,7 @@ SPEC2017_EXPLICIT_CFG := $(if $(filter undefined,$(origin SPEC2017_CFG)),,1) SPEC2017_RATE_CFG ?= $(SPEC2017_WORKLOAD_DIR)/riscv-gcc15.cfg SPEC2017_SPEED_CFG ?= $(SPEC2017_WORKLOAD_DIR)/riscv-gcc15.cfg SPEC2017_HELPER := $(SPEC2017_WORKLOAD_DIR)/spec2017-package.py -SPEC2017_IMAGE_DIR ?= $(SPEC2017_REPO_ROOT)/build/images/spec2017 +SPEC2017_IMAGE_DIR ?= $(SPEC2017_REPO_ROOT)/build/images/$(if $(filter rate,$(SPEC2017_IMAGE_MODE)),spec2017rate,$(if $(filter speed,$(SPEC2017_IMAGE_MODE)),spec2017speed,spec2017)) SPEC2017_SOURCE_SPEC_ISO := $(SPEC2017_ISO) SPEC2017_PREPARED_SPEC_ROOT := $(SPEC2017_BUILD_DIR)/spec-src SPEC2017_SOURCE_SPEC_HASH := $(shell if [ -n "$(SPEC2017_SOURCE_SPEC_ISO)" ] && [ -f "$(SPEC2017_SOURCE_SPEC_ISO)" ]; then stat -c '%n:%s:%Y' "$(SPEC2017_SOURCE_SPEC_ISO)"; else printf '%s\n' "$(SPEC2017_SOURCE_SPEC_ISO)"; fi | sha256sum | cut -d ' ' -f 1)