[PATCH 0/6] Add visionfive2 support.

  • Done
  • quality assurance status badge
Details
3 participants
  • ???
  • Vagrant Cascadian
  • Zheng Junjie
Owner
unassigned
Submitted by
Zheng Junjie
Severity
normal
Z
Z
Zheng Junjie wrote on 12 May 13:00 +0200
(address . guix-patches@gnu.org)
cover.1715508730.git.zhengjunjie@iscas.ac.cn
hello!, this patchset add support for visionfive2.
for now, must boot from spl's uboot and set fdtfile to starfive/jh7110-starfive-visionfive-2-v1.3b.dtb

uboot> setenv fdtfile starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
uboot> savenv

Zheng Junjie (6):
gnu: linux-libre-6.8: add riscv config.
image: raise error when use both grub-efi* bootloader and not gpt
image.
gnu: shepherd-0.10: When target riscv64, use guile-fibers-1.1.
gnu: Add u-boot-starfive-visionfive2.
bootloader: Add u-boot-starfive-visionfive2-bootloader.
system: images: Add visionfive2 module.

Makefile.am | 1 +
gnu/bootloader/u-boot.scm | 17 +
gnu/local.mk | 1 +
gnu/packages/admin.scm | 5 +-
.../aux-files/linux-libre/6.8-riscv.conf | 7681 +++++++++++++++++
gnu/packages/bootloaders.scm | 31 +
gnu/system/image.scm | 6 +-
gnu/system/images/visionfive2.scm | 121 +
8 files changed, 7858 insertions(+), 5 deletions(-)
create mode 100644 gnu/packages/aux-files/linux-libre/6.8-riscv.conf
create mode 100644 gnu/system/images/visionfive2.scm


base-commit: 56980ea500a1db3c8586972b8abfaf5c4e24f82d
--
2.41.0
Z
Z
Zheng Junjie wrote on 12 May 13:09 +0200
[PATCH 2/6] image: raise error when use both grub-efi* bootloader and not gpt image.
(address . 70892@debbugs.gnu.org)
3acf1c91714e59bcae87b9fea60062ba183e2542.1715508730.git.zhengjunjie@iscas.ac.cn
* gnu/system/image.scm: Switch Inversion logic, it allow we use customize
bootloader with gpt image.

Change-Id: I801327f6e826a37588b8f0f5246ca820e742f721
---
gnu/system/image.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (20 lines)
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 3082bcff46..b0c96c60f0 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -534,10 +534,10 @@ (define* (system-disk-image image
(image-partition-table-type image)))
(else "")))
- (when (and (gpt-image? image)
+ (when (and (memq (bootloader-name bootloader)
+ '(grub-efi grub-efi32 grub-efi-removable-bootloader))
(not
- (memq (bootloader-name bootloader)
- '(grub-efi grub-efi32 grub-efi-removable-bootloader))))
+ (gpt-image? image)))
(raise
(formatted-message
(G_ "EFI bootloader required with GPT partitioning"))))
--
2.41.0
Z
Z
Zheng Junjie wrote on 12 May 13:09 +0200
[PATCH 1/6] gnu: linux-libre-6.8: add riscv config.
(address . 70892@debbugs.gnu.org)
bab0d33209b6d93e4dc2d3a197bd935afd07853a.1715508730.git.zhengjunjie@iscas.ac.cn
gnu/packages/aux-files/linux-libre/6.8-riscv.conf: New files.
Change-Id: Ia5c5911214e9a95dea71e774acc4ce9e5ed213fc

Change-Id: I293912d4f7fe09e281432b0f973999d9d8db582a
---
Makefile.am | 1 +
.../aux-files/linux-libre/6.8-riscv.conf | 7681 +++++++++++++++++
2 files changed, 7682 insertions(+)
create mode 100644 gnu/packages/aux-files/linux-libre/6.8-riscv.conf

Toggle diff (755 lines)
diff --git a/Makefile.am b/Makefile.am
index 77c05ff63b..bb4e56835d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -431,6 +431,7 @@ AUX_FILES = \
gnu/packages/aux-files/linux-libre/6.8-arm64.conf \
gnu/packages/aux-files/linux-libre/6.8-i686.conf \
gnu/packages/aux-files/linux-libre/6.8-x86_64.conf \
+ gnu/packages/aux-files/linux-libre/6.8-riscv.conf \
gnu/packages/aux-files/linux-libre/6.6-arm.conf \
gnu/packages/aux-files/linux-libre/6.6-arm64.conf \
gnu/packages/aux-files/linux-libre/6.6-i686.conf \
diff --git a/gnu/packages/aux-files/linux-libre/6.8-riscv.conf b/gnu/packages/aux-files/linux-libre/6.8-riscv.conf
new file mode 100644
index 0000000000..4430e4d3e1
--- /dev/null
+++ b/gnu/packages/aux-files/linux-libre/6.8-riscv.conf
@@ -0,0 +1,7681 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/riscv 6.8.9 Kernel Configuration
+#
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.3.0"
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=110300
+CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=23800
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=23800
+CONFIG_LLD_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
+CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=0
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+CONFIG_HAVE_KERNEL_ZSTD=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+# CONFIG_KERNEL_ZSTD is not set
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+# CONFIG_WATCH_QUEUE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+CONFIG_AUDIT=y
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+CONFIG_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_IRQ_IPI=y
+CONFIG_GENERIC_IRQ_IPI_MUX=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# CONFIG_GENERIC_IRQ_DEBUGFS is not set
+# end of IRQ subsystem
+
+CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+# end of Timers subsystem
+
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+# CONFIG_BPF_JIT is not set
+# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
+# CONFIG_BPF_PRELOAD is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_BUILD=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PREEMPTION=y
+# CONFIG_PREEMPT_DYNAMIC is not set
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+CONFIG_CPU_ISOLATION=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_TREE_SRCU=y
+CONFIG_TASKS_RCU_GENERIC=y
+CONFIG_TASKS_RCU=y
+CONFIG_TASKS_TRACE_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+# end of RCU Subsystem
+
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+# CONFIG_PRINTK_INDEX is not set
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# CONFIG_UCLAMP_TASK is not set
+# end of Scheduler features
+
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC10_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
+CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
+CONFIG_CC_NO_STRINGOP_OVERFLOW=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
+CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_SCHED_MM_CID=y
+CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_BPF=y
+# CONFIG_CGROUP_MISC is not set
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_SOCK_CGROUP_DATA=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_CHECKPOINT_RESTORE=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+CONFIG_RD_ZSTD=y
+# CONFIG_BOOT_CONFIG is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
+# CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is not set
+CONFIG_LD_ORPHAN_WARN=y
+CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
+CONFIG_SYSCTL=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW=y
+CONFIG_EXPERT=y
+CONFIG_MULTIUSER=y
+# CONFIG_SGETMASK_SYSCALL is not set
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+# CONFIG_BUG is not set
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KCMP=y
+CONFIG_RSEQ=y
+# CONFIG_DEBUG_RSEQ is not set
+CONFIG_CACHESTAT_SYSCALL=y
+# CONFIG_PC104 is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_SELFTEST is not set
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+# end of Kernel Performance Events And Counters
+
+CONFIG_SYSTEM_DATA_VERIFICATION=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+
+#
+# Kexec and crash features
+#
+CONFIG_CRASH_CORE=y
+CONFIG_KEXEC_CORE=y
+CONFIG_KEXEC=y
+# CONFIG_KEXEC_FILE is not set
+CONFIG_CRASH_DUMP=y
+# end of Kexec and crash features
+# end of General setup
+
+CONFIG_64BIT=y
+CONFIG_RISCV=y
+CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE=y
+CONFIG_RISCV_USE_LINKER_RELAXATION=y
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
+CONFIG_ARCH_MMAP_RND_BITS_MAX=24
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17
+CONFIG_RISCV_SBI=y
+CONFIG_MMU=y
+CONFIG_PAGE_OFFSET=0xff60000000000000
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=5
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RISCV_DMA_NONCOHERENT=y
+CONFIG_RISCV_NONSTANDARD_CACHE_OPS=y
+CONFIG_AS_HAS_INSN=y
+CONFIG_AS_HAS_OPTION_ARCH=y
+
+#
+# SoC selection
+#
+# CONFIG_SOC_MICROCHIP_POLARFIRE is not set
+# CONFIG_ARCH_RENESAS is not set
+CONFIG_ARCH_SIFIVE=y
+CONFIG_SOC_SIFIVE=y
+CONFIG_ARCH_SOPHGO=y
+CONFIG_ARCH_STARFIVE=y
+CONFIG_SOC_STARFIVE=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_ARCH_THEAD=y
+CONFIG_ARCH_VIRT=y
+CONFIG_SOC_VIRT=y
+# end of SoC selection
+
+#
+# CPU errata selection
+#
+# CONFIG_ERRATA_ANDES is not set
+CONFIG_ERRATA_SIFIVE=y
+CONFIG_ERRATA_SIFIVE_CIP_453=y
+CONFIG_ERRATA_SIFIVE_CIP_1200=y
+CONFIG_ERRATA_THEAD=y
+CONFIG_ERRATA_THEAD_PBMT=y
+CONFIG_ERRATA_THEAD_CMO=y
+CONFIG_ERRATA_THEAD_PMU=y
+# end of CPU errata selection
+
+#
+# Platform type
+#
+# CONFIG_NONPORTABLE is not set
+CONFIG_ARCH_RV64I=y
+# CONFIG_CMODEL_MEDLOW is not set
+CONFIG_CMODEL_MEDANY=y
+CONFIG_MODULE_SECTIONS=y
+CONFIG_SMP=y
+# CONFIG_SCHED_MC is not set
+CONFIG_NR_CPUS=8
+CONFIG_HOTPLUG_CPU=y
+CONFIG_TUNE_GENERIC=y
+# CONFIG_NUMA is not set
+CONFIG_RISCV_ALTERNATIVE=y
+CONFIG_RISCV_ALTERNATIVE_EARLY=y
+CONFIG_RISCV_ISA_C=y
+CONFIG_RISCV_ISA_SVNAPOT=y
+CONFIG_RISCV_ISA_SVPBMT=y
+CONFIG_TOOLCHAIN_HAS_V=y
+CONFIG_RISCV_ISA_V=y
+CONFIG_RISCV_ISA_V_DEFAULT_ENABLE=y
+CONFIG_RISCV_ISA_V_UCOPY_THRESHOLD=768
+CONFIG_RISCV_ISA_V_PREEMPTIVE=y
+CONFIG_RISCV_ISA_ZICBOM=y
+CONFIG_RISCV_ISA_ZICBOZ=y
+CONFIG_TOOLCHAIN_HAS_ZIHINTPAUSE=y
+CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI=y
+CONFIG_FPU=y
+CONFIG_IRQ_STACKS=y
+CONFIG_THREAD_SIZE_ORDER=2
+CONFIG_RISCV_MISALIGNED=y
+# end of Platform type
+
+#
+# Kernel features
+#
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_SCHED_HRTICK=y
+CONFIG_RISCV_SBI_V01=y
+CONFIG_RISCV_BOOT_SPINWAIT=y
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SELECTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION=y
+# CONFIG_COMPAT is not set
+# CONFIG_PARAVIRT is not set
+# CONFIG_RELOCATABLE is not set
+# CONFIG_RANDOMIZE_BASE is not set
+# end of Kernel features
+
+#
+# Boot options
+#
+CONFIG_CMDLINE=""
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
+CONFIG_STACKPROTECTOR_PER_TASK=y
+CONFIG_RISCV_ISA_FALLBACK=y
+# end of Boot options
+
+CONFIG_PORTABLE=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+
+#
+# Power management options
+#
+# CONFIG_SUSPEND is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
+# CONFIG_ENERGY_MODEL is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# end of Power management options
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_CPU_IDLE_GOV_TEO is not set
+CONFIG_DT_IDLE_STATES=y
+CONFIG_DT_IDLE_GENPD=y
+
+#
+# RISC-V CPU Idle Drivers
+#
+CONFIG_RISCV_SBI_CPUIDLE=y
+# end of RISC-V CPU Idle Drivers
+# end of CPU Idle
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_CPUFREQ_DT=y
+CONFIG_CPUFREQ_DT_PLATDEV=y
+# end of CPU Frequency scaling
+# end of CPU Power Management
+
+CONFIG_KVM_COMMON=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_KVM_MMIO=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_HAVE_KVM_VCPU_ASYNC_IOCTL=y
+CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
+CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+CONFIG_ARCH_SUPPORTS_ACPI=y
+# CONFIG_ACPI is not set
+CONFIG_CPU_MITIGATIONS=y
+
+#
+# General architecture-dependent options
+#
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
+CONFIG_GENERIC_ENTRY=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+CONFIG_UPROBES=y
+CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_ARCH_MMAP_RND_BITS=18
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+# CONFIG_COMPAT_32BIT_TIME is not set
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
+# CONFIG_LOCK_EVENT_COUNTS is not set
+CONFIG_ARCH_HAS_VDSO_DATA=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_DYNAMIC_SIGFRAME=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# end of GCOV-based kernel profiling
+
+CONFIG_HAVE_GCC_PLUGINS=y
+CONFIG_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
+CONFIG_FUNCTION_ALIGNMENT=0
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_DEBUG is not set
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_MODULE_COMPRESS_NONE=y
+# CONFIG_MODULE_COMPRESS_GZIP is not set
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+# CONFIG_TRIM_UNUSED_KSYMS is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_CGROUP_RWSTAT=y
+CONFIG_BLK_CGROUP_PUNT_BIO=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_WRITE_MOUNTED=y
+# CONFIG_BLK_DEV_ZONED is not set
+CONFIG_BLK_DEV_THROTTLING=y
+# CONFIG_BLK_DEV_THROTTLING_LOW is not set
+# CONFIG_BLK_WBT is not set
+# CONFIG_BLK_CGROUP_IOLATENCY is not set
+# CONFIG_BLK_CGROUP_IOCOST is not set
+# CONFIG_BLK_CGROUP_IOPRIO is not set
+CONFIG_BLK_DEBUG_FS=y
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# end of Partition Types
+
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
+CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=y
+CONFIG_MQ_IOSCHED_KYBER=y
+# CONFIG_IOSCHED_BFQ is not set
+# end of IO Schedulers
+
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_MMIOWB=y
+CONFIG_MMIOWB=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+CONFIG_FREEZER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ELFCORE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_ARCH_HAS_BINFMT_FLAT=y
+# CONFIG_BINFMT_FLAT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_SWAP=y
+# CONFIG_ZSWAP is not set
+
+#
+# Slab allocator options
+#
+CONFIG_SLUB=y
+# CONFIG_SLUB_TINY is not set
+CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
+# end of Slab allocator options
+
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
+CONFIG_COMPAT_BRK=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
+CONFIG_MEMORY_ISOLATION=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_MEMORY_BALLOON=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_PAGE_REPORTING=y
+CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
+CONFIG_CONTIG_ALLOC=y
+CONFIG_PCP_BATCH_SCALE_MAX=5
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_WANTS_THP_SWAP=y
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_CMA=y
+# CONFIG_CMA_DEBUG is not set
+CONFIG_CMA_DEBUGFS=y
+# CONFIG_CMA_SYSFS is not set
+CONFIG_CMA_AREAS=16
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ZONE_DMA32=y
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_PERCPU_STATS is not set
+# CONFIG_GUP_TEST is not set
+# CONFIG_DMAPOOL_TEST is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+# CONFIG_USERFAULTFD is not set
+# CONFIG_LRU_GEN is not set
+CONFIG_ARCH_SUPPORTS_PER
This message was truncated. Download the full message here.
Z
Z
Zheng Junjie wrote on 12 May 13:09 +0200
[PATCH 3/6] gnu: shepherd-0.10: When target riscv64, use guile-fibers-1.1.
(address . 70892@debbugs.gnu.org)
60ac675ba43b808c4fb704b54d391b910ab84c36.1715508730.git.zhengjunjie@iscas.ac.cn
* gnu/packages/admin.scm (shepherd-0.10)[native-inputs]: When target-riscv64?
is true, use guile-fibers-1.1.

Change-Id: I89d2e1a7bd6cbc69d19230d9b1c45ce6e339a13d
---
gnu/packages/admin.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 46b4e78a39..7d7b9ff4de 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -36,7 +36,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2021, 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2021, 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org>
@@ -397,7 +397,8 @@ (define-public shepherd-0.10
;; affects any system without a functional real-time
;; clock (RTC), but in practice these are typically Arm
;; single-board computers.
- (if (target-arm?)
+ (if (or (target-arm?)
+ (target-riscv64?))
guile-fibers-1.1
guile-fibers))))
(inputs (modify-inputs (package-inputs shepherd-0.9)
--
2.41.0
Z
Z
Zheng Junjie wrote on 12 May 13:09 +0200
[PATCH 4/6] gnu: Add u-boot-starfive-visionfive2.
(address . 70892@debbugs.gnu.org)
7c3b72a45a1c5d6adfb6ccd586ab68d587cfc420.1715508730.git.zhengjunjie@iscas.ac.cn
* gnu/packages/bootloaders.scm (u-boot-starfive-visionfive2): New variable.

Change-Id: I2a7d2275b1a0f4253ffc3152c892687aae11a471
---
gnu/packages/bootloaders.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index cfe8046731..1d52e961fd 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1343,6 +1344,36 @@ (define-public u-boot-sifive-unmatched
(modify-inputs (package-inputs base)
(append opensbi-generic))))))
+(define-public u-boot-starfive-visionfive2
+ (let ((opensbi (package
+ (inherit opensbi-generic)
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments opensbi-generic)
+ ((#:make-flags flags)
+ `(cons* "FW_TEXT_START=0x40000000"
+ "FW_OPTIONS=0"
+ ,flags))))))
+ (base (make-u-boot-package "starfive_visionfive2" "riscv64-linux-gnu")))
+ (package
+ (inherit base)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "OPENSBI" (search-input-file inputs
+ "fw_dynamic.bin"))))
+ (add-after 'install 'install-u-boot-spl.bin.normal.out
+ (lambda _
+ (install-file "spl/u-boot-spl.bin.normal.out"
+ (string-append #$output
+ "/libexec/spl"))))))))
+ (inputs
+ (modify-inputs (package-inputs base)
+ (append opensbi))))))
+
(define-public u-boot-rock64-rk3328
(let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu")))
(package
--
2.41.0
Z
Z
Zheng Junjie wrote on 12 May 13:09 +0200
[PATCH 5/6] bootloader: Add u-boot-starfive-visionfive2-bootloader.
(address . 70892@debbugs.gnu.org)
5bfd31610d97b7771fdcd6c2aa5c860fa3ad94ee.1715508730.git.zhengjunjie@iscas.ac.cn
* gnu/bootloader/u-boot.scm (u-boot-starfive-visionfive2-bootloader): New variable.

Change-Id: I4b73906fe18d481644102c271f5e0883167b3a50
---
gnu/bootloader/u-boot.scm | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 8e7cc05191..b5a9662573 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -49,6 +49,7 @@ (define-module (gnu bootloader u-boot)
u-boot-rockpro64-rk3399-bootloader
u-boot-sifive-unmatched-bootloader
u-boot-qemu-riscv64-bootloader
+ u-boot-starfive-visionfive2-bootloader
u-boot-ts7970-q-2g-1000mhz-c-bootloader
u-boot-wandboard-bootloader))
@@ -159,6 +160,16 @@ (define install-sifive-unmatched-u-boot
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 2082 512)))))
+(define install-starfive-visionfive2-u-boot
+ #~(lambda (bootloader root-index image)
+ (let ((spl (string-append
+ bootloader "/libexec/spl/u-boot-spl.bin.normal.out"))
+ (u-boot (string-append bootloader "/libexec/u-boot.itb")))
+ (write-file-on-device spl (stat:size (stat spl))
+ image (* 34 512))
+ (write-file-on-device u-boot (stat:size (stat u-boot))
+ image (* 2082 512)))))
+
(define install-qemu-riscv64-u-boot
#~(lambda (bootloader device mount-point)
(let ((u-boot.bin (string-append bootloader "/libexec/u-boot.bin"))
@@ -316,6 +327,12 @@ (define u-boot-sifive-unmatched-bootloader
(package u-boot-sifive-unmatched)
(disk-image-installer install-sifive-unmatched-u-boot)))
+(define u-boot-starfive-visionfive2-bootloader
+ (bootloader
+ (inherit u-boot-bootloader)
+ (package u-boot-starfive-visionfive2)
+ (disk-image-installer install-starfive-visionfive2-u-boot)))
+
(define u-boot-qemu-riscv64-bootloader
(bootloader
(inherit u-boot-bootloader)
--
2.41.0
Z
Z
Zheng Junjie wrote on 12 May 13:09 +0200
[PATCH 6/6] system: images: Add visionfive2 module.
(address . 70892@debbugs.gnu.org)
ba042e0da84979ba7611c68044384184ad359cc6.1715508730.git.zhengjunjie@iscas.ac.cn
* gnu/system/images/visionfive2.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Change-Id: I8831f1148bcddb0d604e1174034fca85cd2887a1
---
gnu/local.mk | 1 +
gnu/system/images/visionfive2.scm | 121 ++++++++++++++++++++++++++++++
2 files changed, 122 insertions(+)
create mode 100644 gnu/system/images/visionfive2.scm

Toggle diff (141 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 439fe587b0..ac3aa9fcc8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -778,6 +778,7 @@ GNU_SYSTEM_MODULES = \
%D%/system/images/pinebook-pro.scm \
%D%/system/images/rock64.scm \
%D%/system/images/unmatched.scm \
+ %D%/system/images/visionfive2.scm \
%D%/system/images/wsl2.scm \
\
%D%/machine.scm \
diff --git a/gnu/system/images/visionfive2.scm b/gnu/system/images/visionfive2.scm
new file mode 100644
index 0000000000..31d1948ab9
--- /dev/null
+++ b/gnu/system/images/visionfive2.scm
@@ -0,0 +1,121 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu system images visionfive2)
+ #:use-module (gnu bootloader)
+ #:use-module (gnu bootloader u-boot)
+ #:use-module (gnu services dbus)
+ #:use-module (gnu services dns)
+ #:use-module (gnu services avahi)
+ #:use-module (gnu services shepherd)
+ #:use-module (gnu services ssh)
+ #:use-module (gnu services networking)
+ #:use-module (gnu image)
+ #:use-module (gnu packages linux)
+ #:use-module (guix packages)
+
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages guile-xyz)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu services)
+ #:use-module (gnu services base)
+ #:use-module (gnu services networking)
+ #:use-module (gnu system)
+ #:use-module (gnu system file-systems)
+ #:use-module (gnu system image)
+ #:use-module (guix platforms riscv)
+ #:use-module (srfi srfi-26)
+ #:export (visionfive2-barebones-os
+ visionfive2-image-type
+ visionfive2-barebones-raw-image))
+
+;;; Commentary:
+;;;
+;;; for now, must boot from spl, mmc boot fail.
+;;; so must set fdtfile.
+;;; uboot> setenv fdtfile starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
+;;; uboot> savenv
+;;;
+;;; ./pre-inst-env guix system image gnu/system/images/visionfive2.scm \
+;;; --target=riscv64-linux-gnu --no-grafts
+;;;
+;;; Code:
+
+(define visionfive2-barebones-os
+ (operating-system
+ (host-name "visionfive2")
+ (timezone "Etc/UTC")
+ (locale "en_US.utf8")
+ (bootloader (bootloader-configuration
+ (bootloader u-boot-starfive-visionfive2-bootloader)
+ (targets '("/dev/mmcblk0"))))
+ (file-systems (cons (file-system
+ (device (file-system-label "my-root"))
+ (mount-point "/")
+ (type "ext4"))
+ %base-file-systems))
+ (kernel-arguments
+ (append (list "console=ttyS0,115200"
+ "rootwait"
+ "earlycon"
+ "clk_ignore_unused")
+ %default-kernel-arguments))
+ (firmware '())
+ (packages (append (list cloud-utils neofetch) %base-packages))
+ (services
+ (append (list (service openssh-service-type
+ (openssh-configuration
+ (openssh openssh-sans-x)
+ (permit-root-login #t)
+ (allow-empty-passwords? #t)))
+ (service dhcp-client-service-type))
+ %base-services))))
+
+(define visionfive2-disk-image
+ (image-without-os
+ (format 'disk-image)
+ (partition-table-type 'gpt)
+ (partitions (list
+ (partition
+ (size (* 1 (expt 2 20)))
+ (label "spl")
+ (offset (* 34 512))
+ (file-system "unformatted")
+ (uuid (uuid "2E54B353-1271-4842-806F-E436D6AF6985")))
+ (partition
+ (size (* 4 (expt 2 20)))
+ (label "uboot")
+ (offset (* 2082 512))
+ (file-system "unformatted")
+ (uuid (uuid "BC13C2FF-59E6-4262-A352-B275FD6F7172")))
+ root-partition))))
+
+(define visionfive2-image-type
+ (image-type
+ (name 'visionfive2-raw)
+ (constructor (cut image-with-os visionfive2-disk-image <>))))
+
+(define visionfive2-barebones-raw-image
+ (image
+ (inherit
+ (os+platform->image visionfive2-barebones-os riscv64-linux
+ #:type visionfive2-image-type))
+ (name 'visionfive2-barebones-raw-image)))
+
+;; Return the default image.
+visionfive2-barebones-raw-image
--
2.41.0
V
V
Vagrant Cascadian wrote on 15 May 19:59 +0200
Re: [bug#70892] [PATCH 4/6] gnu: Add u-boot-starfive-visionfive2.
(name . Efraim Flashner)(address . efraim@flashner.co.il)
87o797rm6y.fsf@wireframe
On 2024-05-12, Zheng Junjie wrote:
Toggle quote (4 lines)
> diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
> index cfe8046731..1d52e961fd 100644
> --- a/gnu/packages/bootloaders.scm
> +++ b/gnu/packages/bootloaders.scm
...
Toggle quote (16 lines)
> @@ -1343,6 +1344,36 @@ (define-public u-boot-sifive-unmatched
> (modify-inputs (package-inputs base)
> (append opensbi-generic))))))
>
> +(define-public u-boot-starfive-visionfive2
> + (let ((opensbi (package
> + (inherit opensbi-generic)
> + (arguments
> + (substitute-keyword-arguments
> + (package-arguments opensbi-generic)
> + ((#:make-flags flags)
> + `(cons* "FW_TEXT_START=0x40000000"
> + "FW_OPTIONS=0"
> + ,flags))))))
> + (base (make-u-boot-package "starfive_visionfive2" "riscv64-linux-gnu")))

I would not want to block this patch on this, but...

Curious about the advantages and disadvantages of making this an
on-the-fly opensbi package variant... as so far I think most u-boot
packages just pull in inputs of other packages
(e.g. arm-trusted-firmware-*) rather than modifying them as part of the
u-boot-* package.

If this seems to be a good approach overall, maybe we should switch more
packages to use this approach ... or if there are significant downsides,
perhaps this patch series should just create another opensbi variant and
add it to inputs or whatever?

Thoughts?


That aside, looks good to me. :)

Thanks!

live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCZkT35QAKCRDcUY/If5cW
qtT3AP4zp/3ZFL6JIkTI/yjjDG33Na9ttRZsCHJKcVQg2VlmTAD7BwEen64qZ3T8
amN+0POwur8Rgww0uz8FFvoExmWl7QQ=
=eenE
-----END PGP SIGNATURE-----

V
V
Vagrant Cascadian wrote on 15 May 20:02 +0200
Re: [bug#70892] [PATCH 0/6] Add visionfive2 support.
87jzjvrm1b.fsf@wireframe
On 2024-05-12, Zheng Junjie wrote:
Toggle quote (6 lines)
> hello!, this patchset add support for visionfive2.
> for now, must boot from spl's uboot and set fdtfile to starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
>
> uboot> setenv fdtfile starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
> uboot> savenv

Are there patches submitted to upstream u-boot to fix this? Are they
present in newer versions? If so, I think it would be worth backporting
those patches until a newer u-boot version is merged into guix...

Having it only half-work is kind of silly :)

live well,
vagrant
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCZkT4sAAKCRDcUY/If5cW
qlDyAQC6NR3UTKOpVUmD0ltnSAiUSWR8vvyPSdYUx7fF69vIfAD/b3YgM9lnwFmm
p6GkUrVnnP20gIlG5pn5vFCQYI9qjAk=
=rXlO
-----END PGP SIGNATURE-----

Z
Z
Zheng Junjie wrote on 18 May 19:42 +0200
[PATCH v2 1/7] gnu: linux-libre-6.8: add riscv config.
(address . 70892@debbugs.gnu.org)
ee2e917083d26788e06185d5031ae633cc4da0f4.1716054087.git.zhengjunjie@iscas.ac.cn
gnu/packages/aux-files/linux-libre/6.8-riscv.conf: New files.
Change-Id: Ia5c5911214e9a95dea71e774acc4ce9e5ed213fc

Change-Id: I293912d4f7fe09e281432b0f973999d9d8db582a
---
Makefile.am | 1 +
.../aux-files/linux-libre/6.8-riscv.conf | 7681 +++++++++++++++++
2 files changed, 7682 insertions(+)
create mode 100644 gnu/packages/aux-files/linux-libre/6.8-riscv.conf

Toggle diff (755 lines)
diff --git a/Makefile.am b/Makefile.am
index 77c05ff63b..bb4e56835d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -431,6 +431,7 @@ AUX_FILES = \
gnu/packages/aux-files/linux-libre/6.8-arm64.conf \
gnu/packages/aux-files/linux-libre/6.8-i686.conf \
gnu/packages/aux-files/linux-libre/6.8-x86_64.conf \
+ gnu/packages/aux-files/linux-libre/6.8-riscv.conf \
gnu/packages/aux-files/linux-libre/6.6-arm.conf \
gnu/packages/aux-files/linux-libre/6.6-arm64.conf \
gnu/packages/aux-files/linux-libre/6.6-i686.conf \
diff --git a/gnu/packages/aux-files/linux-libre/6.8-riscv.conf b/gnu/packages/aux-files/linux-libre/6.8-riscv.conf
new file mode 100644
index 0000000000..4430e4d3e1
--- /dev/null
+++ b/gnu/packages/aux-files/linux-libre/6.8-riscv.conf
@@ -0,0 +1,7681 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/riscv 6.8.9 Kernel Configuration
+#
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.3.0"
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=110300
+CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=23800
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=23800
+CONFIG_LLD_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
+CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=0
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+CONFIG_HAVE_KERNEL_ZSTD=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+# CONFIG_KERNEL_ZSTD is not set
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+# CONFIG_WATCH_QUEUE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+CONFIG_AUDIT=y
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+CONFIG_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_IRQ_IPI=y
+CONFIG_GENERIC_IRQ_IPI_MUX=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# CONFIG_GENERIC_IRQ_DEBUGFS is not set
+# end of IRQ subsystem
+
+CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+# end of Timers subsystem
+
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+# CONFIG_BPF_JIT is not set
+# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
+# CONFIG_BPF_PRELOAD is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_BUILD=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PREEMPTION=y
+# CONFIG_PREEMPT_DYNAMIC is not set
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+CONFIG_CPU_ISOLATION=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_TREE_SRCU=y
+CONFIG_TASKS_RCU_GENERIC=y
+CONFIG_TASKS_RCU=y
+CONFIG_TASKS_TRACE_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+# end of RCU Subsystem
+
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+# CONFIG_PRINTK_INDEX is not set
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# CONFIG_UCLAMP_TASK is not set
+# end of Scheduler features
+
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC10_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
+CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
+CONFIG_CC_NO_STRINGOP_OVERFLOW=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
+CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_SCHED_MM_CID=y
+CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_BPF=y
+# CONFIG_CGROUP_MISC is not set
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_SOCK_CGROUP_DATA=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_CHECKPOINT_RESTORE=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+CONFIG_RD_ZSTD=y
+# CONFIG_BOOT_CONFIG is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
+# CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is not set
+CONFIG_LD_ORPHAN_WARN=y
+CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
+CONFIG_SYSCTL=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW=y
+CONFIG_EXPERT=y
+CONFIG_MULTIUSER=y
+# CONFIG_SGETMASK_SYSCALL is not set
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+# CONFIG_BUG is not set
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KCMP=y
+CONFIG_RSEQ=y
+# CONFIG_DEBUG_RSEQ is not set
+CONFIG_CACHESTAT_SYSCALL=y
+# CONFIG_PC104 is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_SELFTEST is not set
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+# end of Kernel Performance Events And Counters
+
+CONFIG_SYSTEM_DATA_VERIFICATION=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+
+#
+# Kexec and crash features
+#
+CONFIG_CRASH_CORE=y
+CONFIG_KEXEC_CORE=y
+CONFIG_KEXEC=y
+# CONFIG_KEXEC_FILE is not set
+CONFIG_CRASH_DUMP=y
+# end of Kexec and crash features
+# end of General setup
+
+CONFIG_64BIT=y
+CONFIG_RISCV=y
+CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE=y
+CONFIG_RISCV_USE_LINKER_RELAXATION=y
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
+CONFIG_ARCH_MMAP_RND_BITS_MAX=24
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17
+CONFIG_RISCV_SBI=y
+CONFIG_MMU=y
+CONFIG_PAGE_OFFSET=0xff60000000000000
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=5
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RISCV_DMA_NONCOHERENT=y
+CONFIG_RISCV_NONSTANDARD_CACHE_OPS=y
+CONFIG_AS_HAS_INSN=y
+CONFIG_AS_HAS_OPTION_ARCH=y
+
+#
+# SoC selection
+#
+# CONFIG_SOC_MICROCHIP_POLARFIRE is not set
+# CONFIG_ARCH_RENESAS is not set
+CONFIG_ARCH_SIFIVE=y
+CONFIG_SOC_SIFIVE=y
+CONFIG_ARCH_SOPHGO=y
+CONFIG_ARCH_STARFIVE=y
+CONFIG_SOC_STARFIVE=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_ARCH_THEAD=y
+CONFIG_ARCH_VIRT=y
+CONFIG_SOC_VIRT=y
+# end of SoC selection
+
+#
+# CPU errata selection
+#
+# CONFIG_ERRATA_ANDES is not set
+CONFIG_ERRATA_SIFIVE=y
+CONFIG_ERRATA_SIFIVE_CIP_453=y
+CONFIG_ERRATA_SIFIVE_CIP_1200=y
+CONFIG_ERRATA_THEAD=y
+CONFIG_ERRATA_THEAD_PBMT=y
+CONFIG_ERRATA_THEAD_CMO=y
+CONFIG_ERRATA_THEAD_PMU=y
+# end of CPU errata selection
+
+#
+# Platform type
+#
+# CONFIG_NONPORTABLE is not set
+CONFIG_ARCH_RV64I=y
+# CONFIG_CMODEL_MEDLOW is not set
+CONFIG_CMODEL_MEDANY=y
+CONFIG_MODULE_SECTIONS=y
+CONFIG_SMP=y
+# CONFIG_SCHED_MC is not set
+CONFIG_NR_CPUS=8
+CONFIG_HOTPLUG_CPU=y
+CONFIG_TUNE_GENERIC=y
+# CONFIG_NUMA is not set
+CONFIG_RISCV_ALTERNATIVE=y
+CONFIG_RISCV_ALTERNATIVE_EARLY=y
+CONFIG_RISCV_ISA_C=y
+CONFIG_RISCV_ISA_SVNAPOT=y
+CONFIG_RISCV_ISA_SVPBMT=y
+CONFIG_TOOLCHAIN_HAS_V=y
+CONFIG_RISCV_ISA_V=y
+CONFIG_RISCV_ISA_V_DEFAULT_ENABLE=y
+CONFIG_RISCV_ISA_V_UCOPY_THRESHOLD=768
+CONFIG_RISCV_ISA_V_PREEMPTIVE=y
+CONFIG_RISCV_ISA_ZICBOM=y
+CONFIG_RISCV_ISA_ZICBOZ=y
+CONFIG_TOOLCHAIN_HAS_ZIHINTPAUSE=y
+CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI=y
+CONFIG_FPU=y
+CONFIG_IRQ_STACKS=y
+CONFIG_THREAD_SIZE_ORDER=2
+CONFIG_RISCV_MISALIGNED=y
+# end of Platform type
+
+#
+# Kernel features
+#
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_SCHED_HRTICK=y
+CONFIG_RISCV_SBI_V01=y
+CONFIG_RISCV_BOOT_SPINWAIT=y
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SELECTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION=y
+# CONFIG_COMPAT is not set
+# CONFIG_PARAVIRT is not set
+# CONFIG_RELOCATABLE is not set
+# CONFIG_RANDOMIZE_BASE is not set
+# end of Kernel features
+
+#
+# Boot options
+#
+CONFIG_CMDLINE=""
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
+CONFIG_STACKPROTECTOR_PER_TASK=y
+CONFIG_RISCV_ISA_FALLBACK=y
+# end of Boot options
+
+CONFIG_PORTABLE=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+
+#
+# Power management options
+#
+# CONFIG_SUSPEND is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
+# CONFIG_ENERGY_MODEL is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# end of Power management options
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_CPU_IDLE_GOV_TEO is not set
+CONFIG_DT_IDLE_STATES=y
+CONFIG_DT_IDLE_GENPD=y
+
+#
+# RISC-V CPU Idle Drivers
+#
+CONFIG_RISCV_SBI_CPUIDLE=y
+# end of RISC-V CPU Idle Drivers
+# end of CPU Idle
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_CPUFREQ_DT=y
+CONFIG_CPUFREQ_DT_PLATDEV=y
+# end of CPU Frequency scaling
+# end of CPU Power Management
+
+CONFIG_KVM_COMMON=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_KVM_MMIO=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_HAVE_KVM_VCPU_ASYNC_IOCTL=y
+CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
+CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+CONFIG_ARCH_SUPPORTS_ACPI=y
+# CONFIG_ACPI is not set
+CONFIG_CPU_MITIGATIONS=y
+
+#
+# General architecture-dependent options
+#
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
+CONFIG_GENERIC_ENTRY=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+CONFIG_UPROBES=y
+CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_ARCH_MMAP_RND_BITS=18
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+# CONFIG_COMPAT_32BIT_TIME is not set
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
+# CONFIG_LOCK_EVENT_COUNTS is not set
+CONFIG_ARCH_HAS_VDSO_DATA=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_DYNAMIC_SIGFRAME=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# end of GCOV-based kernel profiling
+
+CONFIG_HAVE_GCC_PLUGINS=y
+CONFIG_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
+CONFIG_FUNCTION_ALIGNMENT=0
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_DEBUG is not set
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_MODULE_COMPRESS_NONE=y
+# CONFIG_MODULE_COMPRESS_GZIP is not set
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+# CONFIG_TRIM_UNUSED_KSYMS is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_CGROUP_RWSTAT=y
+CONFIG_BLK_CGROUP_PUNT_BIO=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_WRITE_MOUNTED=y
+# CONFIG_BLK_DEV_ZONED is not set
+CONFIG_BLK_DEV_THROTTLING=y
+# CONFIG_BLK_DEV_THROTTLING_LOW is not set
+# CONFIG_BLK_WBT is not set
+# CONFIG_BLK_CGROUP_IOLATENCY is not set
+# CONFIG_BLK_CGROUP_IOCOST is not set
+# CONFIG_BLK_CGROUP_IOPRIO is not set
+CONFIG_BLK_DEBUG_FS=y
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# end of Partition Types
+
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
+CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=y
+CONFIG_MQ_IOSCHED_KYBER=y
+# CONFIG_IOSCHED_BFQ is not set
+# end of IO Schedulers
+
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_MMIOWB=y
+CONFIG_MMIOWB=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+CONFIG_FREEZER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ELFCORE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_ARCH_HAS_BINFMT_FLAT=y
+# CONFIG_BINFMT_FLAT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_SWAP=y
+# CONFIG_ZSWAP is not set
+
+#
+# Slab allocator options
+#
+CONFIG_SLUB=y
+# CONFIG_SLUB_TINY is not set
+CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
+# end of Slab allocator options
+
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
+CONFIG_COMPAT_BRK=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
+CONFIG_MEMORY_ISOLATION=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_MEMORY_BALLOON=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_PAGE_REPORTING=y
+CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
+CONFIG_CONTIG_ALLOC=y
+CONFIG_PCP_BATCH_SCALE_MAX=5
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_WANTS_THP_SWAP=y
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_CMA=y
+# CONFIG_CMA_DEBUG is not set
+CONFIG_CMA_DEBUGFS=y
+# CONFIG_CMA_SYSFS is not set
+CONFIG_CMA_AREAS=16
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ZONE_DMA32=y
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_PERCPU_STATS is not set
+# CONFIG_GUP_TEST is not set
+# CONFIG_DMAPOOL_TEST is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+# CONFIG_USERFAULTFD is not set
+# CONFIG_LRU_GEN is not set
+CONFIG_ARCH_SUPPORTS_PER
This message was truncated. Download the full message here.
Z
Z
Zheng Junjie wrote on 18 May 19:43 +0200
[PATCH v2 5/7] gnu: Add u-boot-starfive-visionfive2.
(address . 70892@debbugs.gnu.org)
4f2ba35a8fb7b7188a728720f1be55a8ef050427.1716054087.git.zhengjunjie@iscas.ac.cn
* gnu/packages/bootloaders.scm (u-boot-starfive-visionfive2): New variable.

Change-Id: I2a7d2275b1a0f4253ffc3152c892687aae11a471
---
gnu/packages/bootloaders.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index cfe8046731..20af6fcee1 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1343,6 +1344,30 @@ (define-public u-boot-sifive-unmatched
(modify-inputs (package-inputs base)
(append opensbi-generic))))))
+(define-public u-boot-starfive-visionfive2
+ (let ((base (make-u-boot-package "starfive_visionfive2" "riscv64-linux-gnu"
+ ;; Allow kernel-arguments pass more content.
+ ;; If out of range, boot will fail.
+ #:configs '("CONFIG_SYS_CBSIZE=1024"))))
+ (package
+ (inherit base)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "OPENSBI" (search-input-file inputs
+ "fw_dynamic.bin"))))
+ (add-after 'install 'install-u-boot-spl.bin.normal.out
+ (lambda _
+ (install-file "spl/u-boot-spl.bin.normal.out"
+ (string-append #$output
+ "/libexec/spl"))))))))
+ (inputs
+ (modify-inputs (package-inputs base)
+ (append opensbi-for-visionfive2))))))
+
(define-public u-boot-rock64-rk3328
(let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu")))
(package
--
2.41.0
Z
Z
Zheng Junjie wrote on 18 May 19:43 +0200
[PATCH v2 7/7] system: images: Add visionfive2 module.
(address . 70892@debbugs.gnu.org)
f2a4299c1dd7a8c0d8a53a6a85492d6cbe9157ed.1716054087.git.zhengjunjie@iscas.ac.cn
* gnu/system/images/visionfive2.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Change-Id: I8831f1148bcddb0d604e1174034fca85cd2887a1
---
gnu/local.mk | 1 +
gnu/system/images/visionfive2.scm | 126 ++++++++++++++++++++++++++++++
2 files changed, 127 insertions(+)
create mode 100644 gnu/system/images/visionfive2.scm

Toggle diff (146 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 89839f799e..ee1dc2b41c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -778,6 +778,7 @@ GNU_SYSTEM_MODULES = \
%D%/system/images/pinebook-pro.scm \
%D%/system/images/rock64.scm \
%D%/system/images/unmatched.scm \
+ %D%/system/images/visionfive2.scm \
%D%/system/images/wsl2.scm \
\
%D%/machine.scm \
diff --git a/gnu/system/images/visionfive2.scm b/gnu/system/images/visionfive2.scm
new file mode 100644
index 0000000000..cc2667c7e3
--- /dev/null
+++ b/gnu/system/images/visionfive2.scm
@@ -0,0 +1,126 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu system images visionfive2)
+ #:use-module (gnu bootloader)
+ #:use-module (gnu bootloader u-boot)
+ #:use-module (gnu services dbus)
+ #:use-module (gnu services dns)
+ #:use-module (gnu services avahi)
+ #:use-module (gnu services shepherd)
+ #:use-module (gnu services ssh)
+ #:use-module (gnu services networking)
+ #:use-module (gnu image)
+ #:use-module (gnu packages linux)
+ #:use-module (guix packages)
+
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages guile-xyz)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu services)
+ #:use-module (gnu services base)
+ #:use-module (gnu services networking)
+ #:use-module (gnu system)
+ #:use-module (gnu system file-systems)
+ #:use-module (gnu system image)
+ #:use-module (guix platforms riscv)
+ #:use-module (srfi srfi-26)
+ #:export (visionfive2-barebones-os
+ visionfive2-image-type
+ visionfive2-barebones-raw-image))
+
+;;; Commentary:
+;;;
+;;; If trying to boot from MMC2, and see
+;;; "No FDT memory address configured. Please configure",
+;;; please boot from spl and do the following.
+;;;
+;;; uboot> setenv fdtfile starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
+;;; uboot> savenv
+;;;
+;;; and then try again boot from MMC2.
+;;;
+;;; ./pre-inst-env guix system image gnu/system/images/visionfive2.scm \
+;;; --target=riscv64-linux-gnu --no-grafts
+;;;
+;;; Code:
+
+(define visionfive2-barebones-os
+ (operating-system
+ (host-name "visionfive2")
+ (timezone "Etc/UTC")
+ (locale "en_US.utf8")
+ (bootloader (bootloader-configuration
+ (bootloader u-boot-starfive-visionfive2-bootloader)
+ (targets '("/dev/mmcblk0"))))
+ (file-systems (cons (file-system
+ (device (file-system-label "my-root"))
+ (mount-point "/")
+ (type "ext4"))
+ %base-file-systems))
+ (kernel-arguments (list "earlycon" "clk_ignore_unused"))
+ (firmware '())
+ (packages (append (list cloud-utils neofetch) %base-packages))
+ (services
+ (append (list (service openssh-service-type
+ (openssh-configuration
+ (openssh openssh-sans-x)
+ (permit-root-login #t)
+ (allow-empty-passwords? #t)))
+ (service agetty-service-type
+ (agetty-configuration
+ (extra-options '("-L"))
+ (baud-rate "115200")
+ (term "vt100")
+ (tty "ttyS0")))
+ (service dhcp-client-service-type))
+ %base-services))))
+
+(define visionfive2-disk-image
+ (image-without-os
+ (format 'disk-image)
+ (partition-table-type 'gpt)
+ (partitions (list
+ (partition
+ (size (* 1 (expt 2 20)))
+ (label "spl")
+ (offset (* 34 512))
+ (file-system "unformatted")
+ (uuid (uuid "2E54B353-1271-4842-806F-E436D6AF6985")))
+ (partition
+ (size (* 4 (expt 2 20)))
+ (label "uboot")
+ (offset (* 2082 512))
+ (file-system "unformatted")
+ (uuid (uuid "BC13C2FF-59E6-4262-A352-B275FD6F7172")))
+ root-partition))))
+
+(define visionfive2-image-type
+ (image-type
+ (name 'visionfive2-raw)
+ (constructor (cut image-with-os visionfive2-disk-image <>))))
+
+(define visionfive2-barebones-raw-image
+ (image
+ (inherit
+ (os+platform->image visionfive2-barebones-os riscv64-linux
+ #:type visionfive2-image-type))
+ (name 'visionfive2-barebones-raw-image)))
+
+;; Return the default image.
+visionfive2-barebones-raw-image
--
2.41.0
Z
Z
Zheng Junjie wrote on 18 May 19:43 +0200
[PATCH v2 4/7] gnu: Add opensbi-for-visionfive2.
(address . 70892@debbugs.gnu.org)
339689ed72e2ded6d7ebc1de584073b6a3437a37.1716054087.git.zhengjunjie@iscas.ac.cn
* gnu/packages/firmware.scm (opensbi-for-visionfive2): New variable.

Change-Id: I27963937410a3900a63193ce2a1033ac20a79919
---
gnu/packages/firmware.scm | 12 ++++++++++++
1 file changed, 12 insertions(+)

Toggle diff (25 lines)
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 6f0c2da806..2309d12fed 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -585,6 +585,18 @@ (define-public opensbi-qemu
(description
"This package contains OpenSBI firmware files for use with QEMU.")))
+(define-public opensbi-for-visionfive2
+ (package
+ (inherit opensbi-generic)
+ (name "opensbi-for-visionfive2")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments opensbi-generic)
+ ((#:make-flags flags)
+ #~(cons* "FW_TEXT_START=0x40000000"
+ "FW_OPTIONS=0"
+ #$flags))))))
+
(define-public seabios
(package
(name "seabios")
--
2.41.0
Z
Z
Zheng Junjie wrote on 18 May 19:43 +0200
[PATCH v2 3/7] gnu: shepherd-0.10: When target riscv64, use guile-fibers-1.1.
(address . 70892@debbugs.gnu.org)
270398253551f114dc963326d7776d3b845f09f0.1716054087.git.zhengjunjie@iscas.ac.cn
* gnu/packages/admin.scm (shepherd-0.10)[native-inputs]: When target-riscv64?
is true, use guile-fibers-1.1.

Change-Id: I89d2e1a7bd6cbc69d19230d9b1c45ce6e339a13d
---
gnu/packages/admin.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 22a2c12244..60ccbe08d2 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -36,7 +36,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2021, 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2021, 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org>
@@ -398,7 +398,8 @@ (define-public shepherd-0.10
;; affects any system without a functional real-time
;; clock (RTC), but in practice these are typically Arm
;; single-board computers.
- (if (target-arm?)
+ (if (or (target-arm?)
+ (target-riscv64?))
guile-fibers-1.1
guile-fibers))))
(inputs (modify-inputs (package-inputs shepherd-0.9)
--
2.41.0
Z
Z
Zheng Junjie wrote on 18 May 19:42 +0200
[PATCH v2 0/7] Add visionfive2 support.
(address . 70892@debbugs.gnu.org)
cover.1716054087.git.zhengjunjie@iscas.ac.cn
hello, this is v2 version,
1. split opensbi-for-visionfive2 from u-boot-starfive-visionfive2,
2. allow kernel-arguments pass more content.
3. move kernel-arguments's tty setting to agetty-service-type.
4. install uEnv.txt to set u-boot's fdt name.
5. more comments.

Zheng Junjie (7):
gnu: linux-libre-6.8: add riscv config.
image: raise error when use both grub-efi* bootloader and not gpt
image.
gnu: shepherd-0.10: When target riscv64, use guile-fibers-1.1.
gnu: Add opensbi-for-visionfive2.
gnu: Add u-boot-starfive-visionfive2.
bootloader: Add u-boot-starfive-visionfive2-bootloader.
system: images: Add visionfive2 module.

Makefile.am | 1 +
gnu/bootloader/u-boot.scm | 29 +
gnu/local.mk | 1 +
gnu/packages/admin.scm | 5 +-
.../aux-files/linux-libre/6.8-riscv.conf | 7681 +++++++++++++++++
gnu/packages/bootloaders.scm | 25 +
gnu/packages/firmware.scm | 12 +
gnu/system/image.scm | 6 +-
gnu/system/images/visionfive2.scm | 126 +
9 files changed, 7881 insertions(+), 5 deletions(-)
create mode 100644 gnu/packages/aux-files/linux-libre/6.8-riscv.conf
create mode 100644 gnu/system/images/visionfive2.scm


base-commit: 56980ea500a1db3c8586972b8abfaf5c4e24f82d
prerequisite-patch-id: 2594060f4840db34ac1620037cae257564e478a6
prerequisite-patch-id: 96b0d5eb0ddea5e15ee008767974e5e3e5c827ec
prerequisite-patch-id: 78233f86ba274a41c4a499fc4c8d21822a7beaa7
prerequisite-patch-id: 2ef841fb5c8add626eba42baf9ae5111cec094a1
prerequisite-patch-id: 6fa253cdf33e0cff14e1d8cd877e1597e90467a6
prerequisite-patch-id: 67f4d0f8005a1c2935a2919c94f37a3fe22f0792
prerequisite-patch-id: cedcbd82ee4036ae6daee4945d4049b2cefc7de0
prerequisite-patch-id: 50337a8e2c178e055e77e7631eea549915f24d92
prerequisite-patch-id: ebe20aaa902dd2b3d1fbae2584281d6cabf5001e
prerequisite-patch-id: 60f07cf3a71da05faeebf3737b570267430b9f78
prerequisite-patch-id: 050cc008096475efce19aaf2ec3b38045d27fcde
prerequisite-patch-id: e71a0f696cce4e74764f72937bf91dbcf8bb40db
prerequisite-patch-id: 5c8721e7771985f52a2291a87a88e080d0a8323b
prerequisite-patch-id: 57de09263d128280db18a14f840464d0a7433707
prerequisite-patch-id: da1ceadec65acb384021c29d3a051d68d8313470
prerequisite-patch-id: 0e489e9a43f5ededbc252516a8bbc932afe8b831
prerequisite-patch-id: e2502c39fcc4b6063fc43d130b6aaa87565b0dcc
prerequisite-patch-id: a9026dca376d0c13413ab38ef46e1375b892cd5c
prerequisite-patch-id: 8a16725291bcbbadd73c44805ac4b98034bc0ef9
prerequisite-patch-id: 66a62bf1576ccb2abac98e67847c4a55ed61b64e
prerequisite-patch-id: 88f5f0ef1fa1e2948026346777fb5ada68a81d36
prerequisite-patch-id: 5dcef06c46998447763dd3ecf612b7d1aa50223c
prerequisite-patch-id: 817e7c63be1c5e6c296e95ddfbb0fe38aecf65e4
prerequisite-patch-id: adc9de2754d107c4e44295d230afc5a09beee509
prerequisite-patch-id: 63ccb9d7bc9c58b9d0f6360abcc7e1d39068cf5f
prerequisite-patch-id: 1bf945e48c2ac93854d402a12dd983de0a47a33e
prerequisite-patch-id: 5719399df24f733ffa3e2ffe16ecc4dab4b484ba
prerequisite-patch-id: 89a407fc2be66f42dd7f736c6005910494445e38
prerequisite-patch-id: 6c910c0a46cc2fd3824c5cf7df06b5aed73bbfb2
prerequisite-patch-id: 0b629e63baa5a0f49a263b0ecc7cd0dd70cbc964
prerequisite-patch-id: ab3d077163c81cdf6d1bd74371b02d012271db88
prerequisite-patch-id: 755e89b3c98dae56d90b8f3f4a5b47734deb5df1
prerequisite-patch-id: 36f6cc36be4de8efdab946609aab5da5723669ad
prerequisite-patch-id: d8bba00096da859406891bd37598a708f55ec86d
prerequisite-patch-id: 5effbf30b3b3d7ced46ea62b2be794a581a5ef4e
prerequisite-patch-id: 75347d6bed72df15b66a44daa7dc592ee368186f
prerequisite-patch-id: a07f5bcabc0d7b5f97b8ee981bf8e8ad1676468b
prerequisite-patch-id: 6a52f4b7b1d17207027f2c85367f0b34d727f8be
prerequisite-patch-id: 6a42fade396ed2a5efbf225b49dfe8ac6e269dcf
prerequisite-patch-id: dff887879dc4595e95d7a824419734e6161a6e11
prerequisite-patch-id: 781fde6b28e98b69ea86f78dd08f38fd03d872c7
prerequisite-patch-id: 2dae60f6ca37fb1460ed1f3d9426fd1453192d86
prerequisite-patch-id: 35bcec2ee8a9c18b08a35e7d2e9af3ad243a0bbe
prerequisite-patch-id: 9b304c70374b4d70b86e6917a9070c31bf6e462c
prerequisite-patch-id: 38c1e85ef4a25901630f7da2eac2e52fc15d2186
prerequisite-patch-id: 4725485a75585142d012b5acee39ffe59399c2a6
prerequisite-patch-id: 981f7adc5c16aea91f682bf534119ef16fcb881d
prerequisite-patch-id: 16bab6529aa29a5ae572f98f628df4676550dd1a
prerequisite-patch-id: 8f0c1f48c6d56114d03f31a5c49bb1a533caff92
prerequisite-patch-id: 01088168d11cda56c2cf65cea317ffea18899642
prerequisite-patch-id: 3b8f3b2172162b2e9fa1d7ae65e4bdd53fbc81bf
prerequisite-patch-id: e6a7e8c2c7b9900f93f97e4c6afd12bbfca15d56
prerequisite-patch-id: 3d5f2b9e7579df23254fee3651daad425d108a0b
prerequisite-patch-id: 6fddadf34cc82a72d7d9fd273d0f3b1f86e7dfb3
prerequisite-patch-id: c17620cb6062e3daebd716fc88b22dfafcb5de0a
prerequisite-patch-id: c4443e7fca98e44998e6c42fe0a86c7b73875de4
prerequisite-patch-id: 158508f410ee9c139fbc2462318b8c8298988fa0
prerequisite-patch-id: 284e38a5f0966b3098c537e58beba9931d34b2e2
prerequisite-patch-id: 2d460a5b95fa9e69956e3a7e83c67a2db4bfcff5
prerequisite-patch-id: 71c4f0a4dc8dd3fa68d05c36b0b20fb2321a05f9
prerequisite-patch-id: d41b296576acaf14c927152c4c1a070cfeb19269
prerequisite-patch-id: 36e74cf47575d21d31a1b0b5cf84434648b1d75a
prerequisite-patch-id: b150e95dd0fefc0c97b6885eda54300341b11288
prerequisite-patch-id: 753506d47b8ccbc771a1907edd6941d685e25a8b
prerequisite-patch-id: 2323850df2461e2d4215daa512d9d443c1cc034f
prerequisite-patch-id: 27bf95ab06050cc01397763b9f2d59fdb36effcf
prerequisite-patch-id: 1b017129d8787685bde6b48b32f32678e56a1799
prerequisite-patch-id: b909c04844477df75538ef86e269526d37f6adf0
prerequisite-patch-id: e669ce42143ba1a9e4019f2abeaa8cec20073831
prerequisite-patch-id: eb8656c3b9020e2e3eaeac779fa3c2eef424a2ce
prerequisite-patch-id: 1ce3a322645d2f3a8687b489cd49124d7e7a113b
prerequisite-patch-id: 8af229317db9302d4f4a06b9c4e851d4e490dfa1
prerequisite-patch-id: 7e003495d1198ccd3941f518214fb01baf8df605
prerequisite-patch-id: a296cfe3e660470c722fecd022d6bad4e20bcce1
prerequisite-patch-id: 04398620dd658ecacc6d91fe0469f6a97108ef46
prerequisite-patch-id: fc50af366a7397fddd34a292ba988b68e43b9e92
prerequisite-patch-id: bbaa0edb80a5cfc065ff85a92ea606318fc7e70c
prerequisite-patch-id: 71682a10999ecc3b8b69b435abb55b00f2cba896
prerequisite-patch-id: e3c2702f0f52de4a0cd1378ec722a2375844104a
prerequisite-patch-id: 6a9ac0d6343965637083caa7dc6165e68776c129
prerequisite-patch-id: 17b9a01a2790c8ff4780459e6471a34f208e8e97
prerequisite-patch-id: 5c913280a7ab7724518c29f5977391d6dbf10c6d
prerequisite-patch-id: 602bf21ace0ad678ec6e12c5fa751bae28d5f8a2
prerequisite-patch-id: 400f80f46d2521dbb222422971469810d571fa35
prerequisite-patch-id: 3d7cee64a94d8e5f7b41e84682d911fc939aff0a
prerequisite-patch-id: 07e4535b1fd525aba4857db0d2463d89d201aedb
prerequisite-patch-id: 10e05144e70dd48394b7c0817e70f77819ac5872
prerequisite-patch-id: 6244a80980b0a04dcb022b99d1a726792966c243
prerequisite-patch-id: 107db03e532152777c2db7bcbed7b2b831d7ef12
prerequisite-patch-id: 3fa738de0bc9137ef7c173ed20f219ab548721d0
prerequisite-patch-id: 5f5a0c75b232377c2c904835f3eafe39a6263b66
prerequisite-patch-id: 7dfce5efe994e4882b20f3dcc62368ec2e04a154
prerequisite-patch-id: f5be37d75b357c464e6472257374a8bb94658136
prerequisite-patch-id: 74a9e9b4df31d16e1f64a6feac15b8be59dc6104
prerequisite-patch-id: 2159c5820247b15a70008a1cf2bd01c4e38cfc79
prerequisite-patch-id: 449a1c4960b34568cdc48597305caafd3674e5a2
prerequisite-patch-id: 8688701a62065103dbe7c8219911e1c7cab031b3
prerequisite-patch-id: 9b0ba90b06707982b27088732b3094afa55ba4a7
prerequisite-patch-id: e3344060023b5a3035b63319588280e765468c71
prerequisite-patch-id: f7981f3d55d4f1a977cdc6ca53ad49f5e0c86851
prerequisite-patch-id: e97eca2ce5d1e923669232528d6b0fa593e94471
prerequisite-patch-id: dfa4ae1406734b1d6438d264967cde0553fc64c2
prerequisite-patch-id: a53a48012be058fdf1a381694267dbe727180f89
prerequisite-patch-id: b9c3b8ff1ce6f61a9a96f47d33c7613a5afa00f5
prerequisite-patch-id: b8082504d269ef086cb8094ee22773ae5acc8b3d
prerequisite-patch-id: 65d81e8bb1281f42bd7bc518d145cf9bb85ff4c3
prerequisite-patch-id: bf3d3bcbc9f3b22cdf535627b6ddd73ce758d037
prerequisite-patch-id: 5ac8ad7a88dc718ac358ead6942a70d58fcb1015
prerequisite-patch-id: 234ccbc3724f63f4a797b0b239f4889d0d0fd854
prerequisite-patch-id: 1da9e47b337d9cabd0442610a80e93e845818a05
prerequisite-patch-id: 050c8623d3afb1ab99a5417c03ef4186dac8b1ef
prerequisite-patch-id: e9601be62f2359562b6e244bbe48202385505bd4
prerequisite-patch-id: f09a94fe7e3b152e81367b3782faa081fd38550a
prerequisite-patch-id: 7acd94c28729572beed806f48de2748b894883e3
prerequisite-patch-id: bce6622d2696c39231878de420ed1bbe1d7e70c4
prerequisite-patch-id: 06b212c35ed08db32555b3c38c6294e3d2fa8fba
prerequisite-patch-id: 8da57198609a7b7c904262670a306784e1212d96
prerequisite-patch-id: a52f22773dbc6943fc1ddc84f59a4783ab4fb66c
prerequisite-patch-id: 12f5e20c203f66138880f781359933bbb20cb94f
prerequisite-patch-id: 46769755193ae25d5570764397ce05718fa9733b
prerequisite-patch-id: e903efbd9b667d3381c43be6033980eac8b3d06f
prerequisite-patch-id: 3ff6ee8dcde0461834c3a16a50a29010fc7686b9
prerequisite-patch-id: 1221e3e9ef736e397f57e80b6623d7d503a9a18c
prerequisite-patch-id: d34c005fe54b289b2e28445f0ab834b7b2010693
prerequisite-patch-id: 3841798ddf3c88ef55051b74fcc2fd6b7458bccf
prerequisite-patch-id: c4d3caa64171c21ee75b8ba30c80cab10c3674ef
prerequisite-patch-id: d13489fa28fadf160b460885d16fd8b0c4e5e0c0
prerequisite-patch-id: c465efa9930744cbcbbe204015c02599944b5656
prerequisite-patch-id: 5e2582ab5ca490bc15a4f62bf2c282ddabb45a63
prerequisite-patch-id: 156a0d011245650a8d20ff3cdb22436562923218
prerequisite-patch-id: a77cd3e99ad751a1569d77e481db52bea11e5fc7
prerequisite-patch-id: 0ee55cfd8a8c24d3f5b1c779a5e26a4ecd1e3ea4
prerequisite-patch-id: bb226865d9d557e8a4e7e68d77592d19197860d7
prerequisite-patch-id: 86061164b01973cf7317820fe8ff5eb31418ed43
prerequisite-patch-id: 76fd653f1ad76f5d3ce964280d0f6e2342c7c666
prerequisite-patch-id: 2f5bab250a7747c33d5e6a7b4f814f38a3369228
prerequisite-patch-id: b78bafe04a568b0023678d7f074fc2633b3a3a95
prerequisite-patch-id: 61de9d05bca60fdbc79747f621121e8f24327005
prerequisite-patch-id: 1c4041f2bbbd9b6832c8c9e148978f5102f501c4
prerequisite-patch-id: d37772c891c43aa34da76aaec3643c83c1d8d63a
prerequisite-patch-id: 9fa64b3f8f931b165bc265a6fc449db7844e2200
prerequisite-patch-id: 93fe471a6dc1cf23e210d6f4163a7f2ff764cbb3
prerequisite-patch-id: 52548ec1f789f202fdebc9924631f6622c4473f9
prerequisite-patch-id: 9ac705c8a92e19977608d53ac4285f37965e90b4
prerequisite-patch-id: 65f6c2eccf35973e903e19b2cdc55c2e997bbee5
prerequisite-patch-id: 8740f8f75b59a11d3dde59a111f4b40393357367
prerequisite-patch-id: c4ce638b3c6c7e6f02618ac55209cdbfa5185b86
prerequisite-patch-id: fcd15e029717849f5d4b430866692cd8f0bd36f5
prerequisite-patch-id: 3cb1c748ba7463efd5146a9be6e8f7782d09d0a2
prerequisite-patch-id: b2de6ea1f2e3eb8a237f3920dd3c239c5bfc8e72
prerequisite-patch-id: 34c15a9de1568656c3b6cd97315ee5980c13d4c6
prerequisite-patch-id: 814647faa7dc64c4284ea5995d967b64ac543d2a
prerequisite-patch-id: fde37910373fb42361729112b3e50332aab6d15b
prerequisite-patch-id: 45b75cba889a3bcabdd53066eb13cd8f4c2eb28f
prerequisite-patch-id: ec9c0d95887757ef627d1e5a7418e143aebb9a9b
prerequisite-patch-id: 3c88d13a078fd3fee832316c65ff23966d33ac0f
prerequisite-patch-id: e9cd037ad53636b8f2c8116abb8a579efa53444d
prerequisite-patch-id: 36a582dc18456df41e9e8a6b34095c3fe3e28eba
prerequisite-patch-id: 02809d465ca29d54cbb94f1b5cbcbbb29b3cd142
--
2.41.0
Z
Z
Zheng Junjie wrote on 18 May 19:42 +0200
[PATCH v2 2/7] image: raise error when use both grub-efi* bootloader and not gpt image.
(address . 70892@debbugs.gnu.org)
ebcc2b453cf2a233142da4e803aae45574f65de0.1716054087.git.zhengjunjie@iscas.ac.cn
* gnu/system/image.scm: Switch Inversion logic, it allow we use customize
bootloader with gpt image.

Change-Id: I801327f6e826a37588b8f0f5246ca820e742f721
---
gnu/system/image.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (20 lines)
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 3082bcff46..b0c96c60f0 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -534,10 +534,10 @@ (define* (system-disk-image image
(image-partition-table-type image)))
(else "")))
- (when (and (gpt-image? image)
+ (when (and (memq (bootloader-name bootloader)
+ '(grub-efi grub-efi32 grub-efi-removable-bootloader))
(not
- (memq (bootloader-name bootloader)
- '(grub-efi grub-efi32 grub-efi-removable-bootloader))))
+ (gpt-image? image)))
(raise
(formatted-message
(G_ "EFI bootloader required with GPT partitioning"))))
--
2.41.0
Z
Z
Zheng Junjie wrote on 18 May 19:43 +0200
[PATCH v2 6/7] bootloader: Add u-boot-starfive-visionfive2-bootloader.
(address . 70892@debbugs.gnu.org)
cc16a61410bab4946836e2b4ddcda65bf57ffa59.1716054087.git.zhengjunjie@iscas.ac.cn
* gnu/bootloader/u-boot.scm (u-boot-starfive-visionfive2-bootloader): New variable.

Change-Id: I4b73906fe18d481644102c271f5e0883167b3a50
---
gnu/bootloader/u-boot.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 8e7cc05191..c5437a7b63 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -49,6 +49,7 @@ (define-module (gnu bootloader u-boot)
u-boot-rockpro64-rk3399-bootloader
u-boot-sifive-unmatched-bootloader
u-boot-qemu-riscv64-bootloader
+ u-boot-starfive-visionfive2-bootloader
u-boot-ts7970-q-2g-1000mhz-c-bootloader
u-boot-wandboard-bootloader))
@@ -159,6 +160,27 @@ (define install-sifive-unmatched-u-boot
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 2082 512)))))
+(define install-starfive-visionfive2-u-boot
+ #~(lambda (bootloader root-index image)
+ (let ((spl (string-append
+ bootloader "/libexec/spl/u-boot-spl.bin.normal.out"))
+ (u-boot (string-append bootloader "/libexec/u-boot.itb")))
+ (write-file-on-device spl (stat:size (stat spl))
+ image (* 34 512))
+ (write-file-on-device u-boot (stat:size (stat u-boot))
+ image (* 2082 512)))))
+
+(define install-starfive-visionfive2-uEnv.txt
+ #~(lambda (bootloader device mount-point)
+ (mkdir-p (string-append mount-point "/boot"))
+ (call-with-output-file (string-append mount-point "/boot/uEnv.txt")
+ (lambda (port)
+ (format port
+ ;; if board SPI use vender's u-boot, will find
+ ;; ""starfive/starfive_visionfive2.dtb"", We cannot guarantee
+ ;; that users will update this u-boot, so set it.
+ "fdtfile=starfive/jh7110-starfive-visionfive-2-v1.3b.dtb~%")))))
+
(define install-qemu-riscv64-u-boot
#~(lambda (bootloader device mount-point)
(let ((u-boot.bin (string-append bootloader "/libexec/u-boot.bin"))
@@ -316,6 +338,13 @@ (define u-boot-sifive-unmatched-bootloader
(package u-boot-sifive-unmatched)
(disk-image-installer install-sifive-unmatched-u-boot)))
+(define u-boot-starfive-visionfive2-bootloader
+ (bootloader
+ (inherit u-boot-bootloader)
+ (package u-boot-starfive-visionfive2)
+ (installer install-starfive-visionfive2-uEnv.txt)
+ (disk-image-installer install-starfive-visionfive2-u-boot)))
+
(define u-boot-qemu-riscv64-bootloader
(bootloader
(inherit u-boot-bootloader)
--
2.41.0
Z
Z
Zheng Junjie wrote on 18 May 19:58 +0200
Re: [bug#70892] [PATCH 4/6] gnu: Add u-boot-starfive-visionfive2.
(name . Vagrant Cascadian)(address . vagrant@debian.org)
87ikzbknnq.fsf@iscas.ac.cn
Vagrant Cascadian <vagrant@debian.org> writes:

Toggle quote (30 lines)
> On 2024-05-12, Zheng Junjie wrote:
>> diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
>> index cfe8046731..1d52e961fd 100644
>> --- a/gnu/packages/bootloaders.scm
>> +++ b/gnu/packages/bootloaders.scm
> ...
>> @@ -1343,6 +1344,36 @@ (define-public u-boot-sifive-unmatched
>> (modify-inputs (package-inputs base)
>> (append opensbi-generic))))))
>>
>> +(define-public u-boot-starfive-visionfive2
>> + (let ((opensbi (package
>> + (inherit opensbi-generic)
>> + (arguments
>> + (substitute-keyword-arguments
>> + (package-arguments opensbi-generic)
>> + ((#:make-flags flags)
>> + `(cons* "FW_TEXT_START=0x40000000"
>> + "FW_OPTIONS=0"
>> + ,flags))))))
>> + (base (make-u-boot-package "starfive_visionfive2" "riscv64-linux-gnu")))
>
> I would not want to block this patch on this, but...
>
> Curious about the advantages and disadvantages of making this an
> on-the-fly opensbi package variant... as so far I think most u-boot
> packages just pull in inputs of other packages
> (e.g. arm-trusted-firmware-*) rather than modifying them as part of the
> u-boot-* package.

As far as I know, the opensbi support in visionfive2 was added later, so
the opensbi configuration needs to be modified, and later other boards
should be able to use the generic version of opensbi.

Toggle quote (7 lines)
>
> If this seems to be a good approach overall, maybe we should switch more
> packages to use this approach ... or if there are significant downsides,
> perhaps this patch series should just create another opensbi variant and
> add it to inputs or whatever?


The disadvantage of this is that cuirass can't see on-the-fly opensbi,
and if the hidden input takes a long time to compile, it will affect the
compilation time of the package. So I split opensbi-for-visionfive2 in
the v2 patchset.

Toggle quote (10 lines)
>
> Thoughts?
>
>
> That aside, looks good to me. :)
>
> Thanks!
>
> live well,
> vagrant
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmZI7DkACgkQO1qpk+Gi
3/Afrw/+KQULiCoqXoVGEu239i2ymDUEqj63ASXSqA3litQQBNIvC8jbsnqBfOtX
jeefRNx8NkMFAiu9wXbKDh7v9NtgzWd1A7NL0s8ZmAm2584pa3aUisOuHL69gYdy
rOV95pz40iBwlDHlBwRIYDcz9SL5nsPyXW4StBo2tnNwBovYFDQGF2/sgC0ZiEns
VD5aIAXfS2ukQVHTL5fAltv3gyNv2BpeH07boL3XZhMD/ywcrYqyJaRKFSwnIxQX
+v6NAdQE+B5E3sgiQjKisTXlVIlWqzQ7s45uEhMnFHqfVs0L4EwMBeLBjc6xiy1k
+c7SHpMinRWc4XgyqZ+X5A9f94ebtQJheesXH+0J+65IcpToQctQF40elZPpPeol
n4TkBy3mPxOUHWLdeyDj1mdqqBhVMdBFPt0TX8MxdxpmrVHhVZHRTWMXZHynDbvr
7JBzXxWSKtNr6sD8p2KH5yEj3d6G83W36zCT2nFYe4ZMng9m207b5crPIfuNRMiX
i6O6kkM0mZC2SvnnydpnmUQjorTnzjtOXMu0qN/9U1JrEZcV3ouOOHpdW30AZQuW
T7KiSgiwX/GNxsmwqm8lVSym8NKzgZpmShL00JHObWScxitHJUjg8s0nNxXHtgh8
N+PRRb7gR34LQpl2y+mFhpexiclowg2QYt+Keo8Ao5EtoWpoeCI=
=Wx69
-----END PGP SIGNATURE-----

?
Re: [bug#70892] [PATCH v2 7/7] system: images: Add visionfive2 module.
(name . Zheng Junjie)(address . zhengjunjie@iscas.ac.cn)(address . 70892@debbugs.gnu.org)
87le46rvr8.fsf@envs.net
Zheng Junjie <zhengjunjie@iscas.ac.cn> writes:

Toggle quote (13 lines)
> [...]
> +
> +;;; Commentary:
> +;;;
> +;;; If trying to boot from MMC2, and see
> +;;; "No FDT memory address configured. Please configure",
> +;;; please boot from spl and do the following.
> +;;;
> +;;; uboot> setenv fdtfile starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
> +;;; uboot> savenv
> +;;;
> +;;; and then try again boot from MMC2.

It's not clear to me what are MMC2 and spl, how about:

VisionFive2 can boot from MMC1 (SPI flash) or MMC2 (SD card) selected
by DIP switches MSEL[1:0], you may want boot from MMC2 to use the
U-Boot from Guix System instead of the vendor U-Boot in MMC1. Before
doing so, make sure you have a correct 'fdtfile' in the environment:

uboot> setenv fdtfile starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
uboot> saveenv
Toggle quote (5 lines)
> +;;;
> +;;; ./pre-inst-env guix system image gnu/system/images/visionfive2.scm \
> +;;; --target=riscv64-linux-gnu --no-grafts
> +;;;

This image building command is not related to the previous boot
commentary, I think it can be dropped.
?
Re: [bug#70892] [PATCH v2 4/7] gnu: Add opensbi-for-visionfive2.
(name . Zheng Junjie)(address . zhengjunjie@iscas.ac.cn)
87fruersqt.fsf@envs.net
Hello!

Zheng Junjie <zhengjunjie@iscas.ac.cn> writes:

Toggle quote (27 lines)
> * gnu/packages/firmware.scm (opensbi-for-visionfive2): New variable.
>
> Change-Id: I27963937410a3900a63193ce2a1033ac20a79919
> ---
> gnu/packages/firmware.scm | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
> index 6f0c2da806..2309d12fed 100644
> --- a/gnu/packages/firmware.scm
> +++ b/gnu/packages/firmware.scm
> @@ -585,6 +585,18 @@ (define-public opensbi-qemu
> (description
> "This package contains OpenSBI firmware files for use with QEMU.")))
>
> +(define-public opensbi-for-visionfive2
> + (package
> + (inherit opensbi-generic)
> + (name "opensbi-for-visionfive2")
> + (arguments
> + (substitute-keyword-arguments
> + (package-arguments opensbi-generic)
> + ((#:make-flags flags)
> + #~(cons* "FW_TEXT_START=0x40000000"
> + "FW_OPTIONS=0"
> + #$flags))))))

Why these 2 options is needed? Thanks.
?
Re: [bug#70892] [PATCH v2 1/7] gnu: linux-libre-6.8: add riscv config.
(name . Zheng Junjie)(address . zhengjunjie@iscas.ac.cn)(address . 70892@debbugs.gnu.org)
87cypirsle.fsf@envs.net
Zheng Junjie <zhengjunjie@iscas.ac.cn> writes:

Title should be "gnu: linux-libre-6.8: Add riscv config."

Toggle quote (1 lines)
> gnu/packages/aux-files/linux-libre/6.8-riscv.conf: New files.
* gnu/packages/aux-files/linux-libre/6.8-riscv.conf: New file.

Also missing:
* Makefile.am (AUX_FILES): Add it.

Otherwise looks good to me.
Z
Z
Zheng Junjie wrote on 19 May 16:15 +0200
[PATCH v3 0/7] Add visionfive2 support.
(address . 70892@debbugs.gnu.org)
cover.1716127516.git.zhengjunjie@iscas.ac.cn
this is v3 vsrsion.
1. fix "gnu: linux-libre-6.8: Add riscv config" commit text.
2. adjust gnu/system/images/visionfive2.scm commentary.
3. add comment for opensbi-for-visionfive2

Zheng Junjie (7):
gnu: linux-libre-6.8: Add riscv config.
image: Raise error when use both grub-efi* bootloader and not gpt
image.
gnu: shepherd-0.10: When target riscv64, use guile-fibers-1.1.
gnu: Add opensbi-for-visionfive2.
gnu: Add u-boot-starfive-visionfive2.
bootloader: Add u-boot-starfive-visionfive2-bootloader.
system: images: Add visionfive2 module.

Makefile.am | 1 +
gnu/bootloader/u-boot.scm | 29 +
gnu/local.mk | 1 +
gnu/packages/admin.scm | 5 +-
.../aux-files/linux-libre/6.8-riscv.conf | 7681 +++++++++++++++++
gnu/packages/bootloaders.scm | 25 +
gnu/packages/firmware.scm | 14 +
gnu/system/image.scm | 6 +-
gnu/system/images/visionfive2.scm | 122 +
9 files changed, 7879 insertions(+), 5 deletions(-)
create mode 100644 gnu/packages/aux-files/linux-libre/6.8-riscv.conf
create mode 100644 gnu/system/images/visionfive2.scm


base-commit: e9b25a6c6c626a560d28a1f732e6e5d362d584a4
--
2.41.0
Z
Z
Zheng Junjie wrote on 19 May 16:15 +0200
[PATCH v3 1/7] gnu: linux-libre-6.8: Add riscv config.
(address . 70892@debbugs.gnu.org)
0f63e4a1ced9fe180901cee7d9d7ed49937c93ff.1716127516.git.zhengjunjie@iscas.ac.cn
* gnu/packages/aux-files/linux-libre/6.8-riscv.conf: New files.
* Makefile.am (AUX_FILES): Add it.

Change-Id: I293912d4f7fe09e281432b0f973999d9d8db582a
---
Makefile.am | 1 +
.../aux-files/linux-libre/6.8-riscv.conf | 7681 +++++++++++++++++
2 files changed, 7682 insertions(+)
create mode 100644 gnu/packages/aux-files/linux-libre/6.8-riscv.conf

Toggle diff (756 lines)
diff --git a/Makefile.am b/Makefile.am
index 77c05ff63b..bb4e56835d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -431,6 +431,7 @@ AUX_FILES = \
gnu/packages/aux-files/linux-libre/6.8-arm64.conf \
gnu/packages/aux-files/linux-libre/6.8-i686.conf \
gnu/packages/aux-files/linux-libre/6.8-x86_64.conf \
+ gnu/packages/aux-files/linux-libre/6.8-riscv.conf \
gnu/packages/aux-files/linux-libre/6.6-arm.conf \
gnu/packages/aux-files/linux-libre/6.6-arm64.conf \
gnu/packages/aux-files/linux-libre/6.6-i686.conf \
diff --git a/gnu/packages/aux-files/linux-libre/6.8-riscv.conf b/gnu/packages/aux-files/linux-libre/6.8-riscv.conf
new file mode 100644
index 0000000000..4430e4d3e1
--- /dev/null
+++ b/gnu/packages/aux-files/linux-libre/6.8-riscv.conf
@@ -0,0 +1,7681 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/riscv 6.8.9 Kernel Configuration
+#
+CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.3.0"
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=110300
+CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=23800
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=23800
+CONFIG_LLD_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
+CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=0
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_LZ4=y
+CONFIG_HAVE_KERNEL_ZSTD=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KERNEL_LZO is not set
+# CONFIG_KERNEL_LZ4 is not set
+# CONFIG_KERNEL_ZSTD is not set
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+# CONFIG_WATCH_QUEUE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+CONFIG_AUDIT=y
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+CONFIG_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_IRQ_IPI=y
+CONFIG_GENERIC_IRQ_IPI_MUX=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# CONFIG_GENERIC_IRQ_DEBUGFS is not set
+# end of IRQ subsystem
+
+CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+# end of Timers subsystem
+
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+# CONFIG_BPF_JIT is not set
+# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
+# CONFIG_BPF_PRELOAD is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_BUILD=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PREEMPTION=y
+# CONFIG_PREEMPT_DYNAMIC is not set
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+CONFIG_CPU_ISOLATION=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_TREE_SRCU=y
+CONFIG_TASKS_RCU_GENERIC=y
+CONFIG_TASKS_RCU=y
+CONFIG_TASKS_TRACE_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+# end of RCU Subsystem
+
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=17
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+# CONFIG_PRINTK_INDEX is not set
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# CONFIG_UCLAMP_TASK is not set
+# end of Scheduler features
+
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC10_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
+CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
+CONFIG_CC_NO_STRINGOP_OVERFLOW=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
+CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_SCHED_MM_CID=y
+CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_BPF=y
+# CONFIG_CGROUP_MISC is not set
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_SOCK_CGROUP_DATA=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_CHECKPOINT_RESTORE=y
+# CONFIG_SCHED_AUTOGROUP is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+CONFIG_RD_ZSTD=y
+# CONFIG_BOOT_CONFIG is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
+# CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is not set
+CONFIG_LD_ORPHAN_WARN=y
+CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
+CONFIG_SYSCTL=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW=y
+CONFIG_EXPERT=y
+CONFIG_MULTIUSER=y
+# CONFIG_SGETMASK_SYSCALL is not set
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+# CONFIG_BUG is not set
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KCMP=y
+CONFIG_RSEQ=y
+# CONFIG_DEBUG_RSEQ is not set
+CONFIG_CACHESTAT_SYSCALL=y
+# CONFIG_PC104 is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_SELFTEST is not set
+# CONFIG_KALLSYMS_ALL is not set
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+# end of Kernel Performance Events And Counters
+
+CONFIG_SYSTEM_DATA_VERIFICATION=y
+# CONFIG_PROFILING is not set
+CONFIG_TRACEPOINTS=y
+
+#
+# Kexec and crash features
+#
+CONFIG_CRASH_CORE=y
+CONFIG_KEXEC_CORE=y
+CONFIG_KEXEC=y
+# CONFIG_KEXEC_FILE is not set
+CONFIG_CRASH_DUMP=y
+# end of Kexec and crash features
+# end of General setup
+
+CONFIG_64BIT=y
+CONFIG_RISCV=y
+CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE=y
+CONFIG_RISCV_USE_LINKER_RELAXATION=y
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
+CONFIG_ARCH_MMAP_RND_BITS_MAX=24
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17
+CONFIG_RISCV_SBI=y
+CONFIG_MMU=y
+CONFIG_PAGE_OFFSET=0xff60000000000000
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=5
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RISCV_DMA_NONCOHERENT=y
+CONFIG_RISCV_NONSTANDARD_CACHE_OPS=y
+CONFIG_AS_HAS_INSN=y
+CONFIG_AS_HAS_OPTION_ARCH=y
+
+#
+# SoC selection
+#
+# CONFIG_SOC_MICROCHIP_POLARFIRE is not set
+# CONFIG_ARCH_RENESAS is not set
+CONFIG_ARCH_SIFIVE=y
+CONFIG_SOC_SIFIVE=y
+CONFIG_ARCH_SOPHGO=y
+CONFIG_ARCH_STARFIVE=y
+CONFIG_SOC_STARFIVE=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_ARCH_THEAD=y
+CONFIG_ARCH_VIRT=y
+CONFIG_SOC_VIRT=y
+# end of SoC selection
+
+#
+# CPU errata selection
+#
+# CONFIG_ERRATA_ANDES is not set
+CONFIG_ERRATA_SIFIVE=y
+CONFIG_ERRATA_SIFIVE_CIP_453=y
+CONFIG_ERRATA_SIFIVE_CIP_1200=y
+CONFIG_ERRATA_THEAD=y
+CONFIG_ERRATA_THEAD_PBMT=y
+CONFIG_ERRATA_THEAD_CMO=y
+CONFIG_ERRATA_THEAD_PMU=y
+# end of CPU errata selection
+
+#
+# Platform type
+#
+# CONFIG_NONPORTABLE is not set
+CONFIG_ARCH_RV64I=y
+# CONFIG_CMODEL_MEDLOW is not set
+CONFIG_CMODEL_MEDANY=y
+CONFIG_MODULE_SECTIONS=y
+CONFIG_SMP=y
+# CONFIG_SCHED_MC is not set
+CONFIG_NR_CPUS=8
+CONFIG_HOTPLUG_CPU=y
+CONFIG_TUNE_GENERIC=y
+# CONFIG_NUMA is not set
+CONFIG_RISCV_ALTERNATIVE=y
+CONFIG_RISCV_ALTERNATIVE_EARLY=y
+CONFIG_RISCV_ISA_C=y
+CONFIG_RISCV_ISA_SVNAPOT=y
+CONFIG_RISCV_ISA_SVPBMT=y
+CONFIG_TOOLCHAIN_HAS_V=y
+CONFIG_RISCV_ISA_V=y
+CONFIG_RISCV_ISA_V_DEFAULT_ENABLE=y
+CONFIG_RISCV_ISA_V_UCOPY_THRESHOLD=768
+CONFIG_RISCV_ISA_V_PREEMPTIVE=y
+CONFIG_RISCV_ISA_ZICBOM=y
+CONFIG_RISCV_ISA_ZICBOZ=y
+CONFIG_TOOLCHAIN_HAS_ZIHINTPAUSE=y
+CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI=y
+CONFIG_FPU=y
+CONFIG_IRQ_STACKS=y
+CONFIG_THREAD_SIZE_ORDER=2
+CONFIG_RISCV_MISALIGNED=y
+# end of Platform type
+
+#
+# Kernel features
+#
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_SCHED_HRTICK=y
+CONFIG_RISCV_SBI_V01=y
+CONFIG_RISCV_BOOT_SPINWAIT=y
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SELECTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+CONFIG_ARCH_HAS_GENERIC_CRASHKERNEL_RESERVATION=y
+# CONFIG_COMPAT is not set
+# CONFIG_PARAVIRT is not set
+# CONFIG_RELOCATABLE is not set
+# CONFIG_RANDOMIZE_BASE is not set
+# end of Kernel features
+
+#
+# Boot options
+#
+CONFIG_CMDLINE=""
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
+CONFIG_STACKPROTECTOR_PER_TASK=y
+CONFIG_RISCV_ISA_FALLBACK=y
+# end of Boot options
+
+CONFIG_PORTABLE=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+
+#
+# Power management options
+#
+# CONFIG_SUSPEND is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
+# CONFIG_ENERGY_MODEL is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# end of Power management options
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_CPU_IDLE_GOV_TEO is not set
+CONFIG_DT_IDLE_STATES=y
+CONFIG_DT_IDLE_GENPD=y
+
+#
+# RISC-V CPU Idle Drivers
+#
+CONFIG_RISCV_SBI_CPUIDLE=y
+# end of RISC-V CPU Idle Drivers
+# end of CPU Idle
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+CONFIG_CPU_FREQ_GOV_USERSPACE=y
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_CPUFREQ_DT=y
+CONFIG_CPUFREQ_DT_PLATDEV=y
+# end of CPU Frequency scaling
+# end of CPU Power Management
+
+CONFIG_KVM_COMMON=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_KVM_MMIO=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_HAVE_KVM_VCPU_ASYNC_IOCTL=y
+CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
+CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+CONFIG_ARCH_SUPPORTS_ACPI=y
+# CONFIG_ACPI is not set
+CONFIG_CPU_MITIGATIONS=y
+
+#
+# General architecture-dependent options
+#
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
+CONFIG_GENERIC_ENTRY=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+CONFIG_UPROBES=y
+CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_ARCH_MMAP_RND_BITS=18
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+# CONFIG_COMPAT_32BIT_TIME is not set
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
+# CONFIG_LOCK_EVENT_COUNTS is not set
+CONFIG_ARCH_HAS_VDSO_DATA=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_DYNAMIC_SIGFRAME=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# end of GCOV-based kernel profiling
+
+CONFIG_HAVE_GCC_PLUGINS=y
+CONFIG_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
+CONFIG_FUNCTION_ALIGNMENT=0
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_DEBUG is not set
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_MODULE_COMPRESS_NONE=y
+# CONFIG_MODULE_COMPRESS_GZIP is not set
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+# CONFIG_TRIM_UNUSED_KSYMS is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_CGROUP_RWSTAT=y
+CONFIG_BLK_CGROUP_PUNT_BIO=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_WRITE_MOUNTED=y
+# CONFIG_BLK_DEV_ZONED is not set
+CONFIG_BLK_DEV_THROTTLING=y
+# CONFIG_BLK_DEV_THROTTLING_LOW is not set
+# CONFIG_BLK_WBT is not set
+# CONFIG_BLK_CGROUP_IOLATENCY is not set
+# CONFIG_BLK_CGROUP_IOCOST is not set
+# CONFIG_BLK_CGROUP_IOPRIO is not set
+CONFIG_BLK_DEBUG_FS=y
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# end of Partition Types
+
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
+CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=y
+CONFIG_MQ_IOSCHED_KYBER=y
+# CONFIG_IOSCHED_BFQ is not set
+# end of IO Schedulers
+
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_MMIOWB=y
+CONFIG_MMIOWB=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+CONFIG_FREEZER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ELFCORE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_ARCH_HAS_BINFMT_FLAT=y
+# CONFIG_BINFMT_FLAT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_SWAP=y
+# CONFIG_ZSWAP is not set
+
+#
+# Slab allocator options
+#
+CONFIG_SLUB=y
+# CONFIG_SLUB_TINY is not set
+CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
+# end of Slab allocator options
+
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
+CONFIG_COMPAT_BRK=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
+CONFIG_MEMORY_ISOLATION=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_MEMORY_BALLOON=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_PAGE_REPORTING=y
+CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
+CONFIG_CONTIG_ALLOC=y
+CONFIG_PCP_BATCH_SCALE_MAX=5
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU_NOTIFIER=y
+# CONFIG_KSM is not set
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_WANTS_THP_SWAP=y
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_CMA=y
+# CONFIG_CMA_DEBUG is not set
+CONFIG_CMA_DEBUGFS=y
+# CONFIG_CMA_SYSFS is not set
+CONFIG_CMA_AREAS=16
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ZONE_DMA32=y
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_PERCPU_STATS is not set
+# CONFIG_GUP_TEST is not set
+# CONFIG_DMAPOOL_TEST is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+# CONFIG_USERFAULTFD is not set
+# CONFIG_LRU_GEN is not set
+CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
+CON
This message was truncated. Download the full message here.
Z
Z
Zheng Junjie wrote on 19 May 16:15 +0200
[PATCH v3 2/7] image: Raise error when use both grub-efi* bootloader and not gpt image.
(address . 70892@debbugs.gnu.org)
96674dcb17578ee1c04ead05b7314f2923d1018d.1716127516.git.zhengjunjie@iscas.ac.cn
* gnu/system/image.scm: Switch Inversion logic, it allow we use customize
bootloader with gpt image.

Change-Id: I801327f6e826a37588b8f0f5246ca820e742f721
---
gnu/system/image.scm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Toggle diff (20 lines)
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 3082bcff46..b0c96c60f0 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -534,10 +534,10 @@ (define* (system-disk-image image
(image-partition-table-type image)))
(else "")))
- (when (and (gpt-image? image)
+ (when (and (memq (bootloader-name bootloader)
+ '(grub-efi grub-efi32 grub-efi-removable-bootloader))
(not
- (memq (bootloader-name bootloader)
- '(grub-efi grub-efi32 grub-efi-removable-bootloader))))
+ (gpt-image? image)))
(raise
(formatted-message
(G_ "EFI bootloader required with GPT partitioning"))))
--
2.41.0
Z
Z
Zheng Junjie wrote on 19 May 16:15 +0200
[PATCH v3 3/7] gnu: shepherd-0.10: When target riscv64, use guile-fibers-1.1.
(address . 70892@debbugs.gnu.org)
04cb5d574d49ea06e5281414ace7b6c210c9a50e.1716127516.git.zhengjunjie@iscas.ac.cn
* gnu/packages/admin.scm (shepherd-0.10)[native-inputs]: When target-riscv64?
is true, use guile-fibers-1.1.

Change-Id: I89d2e1a7bd6cbc69d19230d9b1c45ce6e339a13d
---
gnu/packages/admin.scm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 22a2c12244..60ccbe08d2 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -36,7 +36,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
-;;; Copyright © 2021, 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2021, 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021 Hyunseok Kim <lasnesne@lagunposprasihopre.org>
@@ -398,7 +398,8 @@ (define-public shepherd-0.10
;; affects any system without a functional real-time
;; clock (RTC), but in practice these are typically Arm
;; single-board computers.
- (if (target-arm?)
+ (if (or (target-arm?)
+ (target-riscv64?))
guile-fibers-1.1
guile-fibers))))
(inputs (modify-inputs (package-inputs shepherd-0.9)
--
2.41.0
Z
Z
Zheng Junjie wrote on 19 May 16:15 +0200
[PATCH v3 4/7] gnu: Add opensbi-for-visionfive2.
(address . 70892@debbugs.gnu.org)
4f166c340921824da62fa97b6ff7ecaa8cb17384.1716127516.git.zhengjunjie@iscas.ac.cn
* gnu/packages/firmware.scm (opensbi-for-visionfive2): New variable.

Change-Id: I27963937410a3900a63193ce2a1033ac20a79919
---
gnu/packages/firmware.scm | 14 ++++++++++++++
1 file changed, 14 insertions(+)

Toggle diff (27 lines)
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm
index 6f0c2da806..49cc8c1ee3 100644
--- a/gnu/packages/firmware.scm
+++ b/gnu/packages/firmware.scm
@@ -585,6 +585,20 @@ (define-public opensbi-qemu
(description
"This package contains OpenSBI firmware files for use with QEMU.")))
+(define-public opensbi-for-visionfive2
+ (package
+ (inherit opensbi-generic)
+ (name "opensbi-for-visionfive2")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments opensbi-generic)
+ ((#:make-flags flags)
+ ;; visionfive2's u-boot need opensbi with the following flags.
+ ;; see https://docs.u-boot.org/en/latest/board/starfive/visionfive2.html
+ #~(cons* "FW_TEXT_START=0x40000000"
+ "FW_OPTIONS=0"
+ #$flags))))))
+
(define-public seabios
(package
(name "seabios")
--
2.41.0
Z
Z
Zheng Junjie wrote on 19 May 16:15 +0200
[PATCH v3 6/7] bootloader: Add u-boot-starfive-visionfive2-bootloader.
(address . 70892@debbugs.gnu.org)
664433d4cfd77218ed91b7ce768ddb62fae008f8.1716127516.git.zhengjunjie@iscas.ac.cn
* gnu/bootloader/u-boot.scm (u-boot-starfive-visionfive2-bootloader): New variable.

Change-Id: I4b73906fe18d481644102c271f5e0883167b3a50
---
gnu/bootloader/u-boot.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm
index 8e7cc05191..c5437a7b63 100644
--- a/gnu/bootloader/u-boot.scm
+++ b/gnu/bootloader/u-boot.scm
@@ -49,6 +49,7 @@ (define-module (gnu bootloader u-boot)
u-boot-rockpro64-rk3399-bootloader
u-boot-sifive-unmatched-bootloader
u-boot-qemu-riscv64-bootloader
+ u-boot-starfive-visionfive2-bootloader
u-boot-ts7970-q-2g-1000mhz-c-bootloader
u-boot-wandboard-bootloader))
@@ -159,6 +160,27 @@ (define install-sifive-unmatched-u-boot
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 2082 512)))))
+(define install-starfive-visionfive2-u-boot
+ #~(lambda (bootloader root-index image)
+ (let ((spl (string-append
+ bootloader "/libexec/spl/u-boot-spl.bin.normal.out"))
+ (u-boot (string-append bootloader "/libexec/u-boot.itb")))
+ (write-file-on-device spl (stat:size (stat spl))
+ image (* 34 512))
+ (write-file-on-device u-boot (stat:size (stat u-boot))
+ image (* 2082 512)))))
+
+(define install-starfive-visionfive2-uEnv.txt
+ #~(lambda (bootloader device mount-point)
+ (mkdir-p (string-append mount-point "/boot"))
+ (call-with-output-file (string-append mount-point "/boot/uEnv.txt")
+ (lambda (port)
+ (format port
+ ;; if board SPI use vender's u-boot, will find
+ ;; ""starfive/starfive_visionfive2.dtb"", We cannot guarantee
+ ;; that users will update this u-boot, so set it.
+ "fdtfile=starfive/jh7110-starfive-visionfive-2-v1.3b.dtb~%")))))
+
(define install-qemu-riscv64-u-boot
#~(lambda (bootloader device mount-point)
(let ((u-boot.bin (string-append bootloader "/libexec/u-boot.bin"))
@@ -316,6 +338,13 @@ (define u-boot-sifive-unmatched-bootloader
(package u-boot-sifive-unmatched)
(disk-image-installer install-sifive-unmatched-u-boot)))
+(define u-boot-starfive-visionfive2-bootloader
+ (bootloader
+ (inherit u-boot-bootloader)
+ (package u-boot-starfive-visionfive2)
+ (installer install-starfive-visionfive2-uEnv.txt)
+ (disk-image-installer install-starfive-visionfive2-u-boot)))
+
(define u-boot-qemu-riscv64-bootloader
(bootloader
(inherit u-boot-bootloader)
--
2.41.0
Z
Z
Zheng Junjie wrote on 19 May 16:15 +0200
[PATCH v3 5/7] gnu: Add u-boot-starfive-visionfive2.
(address . 70892@debbugs.gnu.org)
d056616965d07d6cbde16a0ffefe51a51f3b9934.1716127516.git.zhengjunjie@iscas.ac.cn
* gnu/packages/bootloaders.scm (u-boot-starfive-visionfive2): New variable.

Change-Id: I2a7d2275b1a0f4253ffc3152c892687aae11a471
---
gnu/packages/bootloaders.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (45 lines)
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index cfe8046731..20af6fcee1 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1343,6 +1344,30 @@ (define-public u-boot-sifive-unmatched
(modify-inputs (package-inputs base)
(append opensbi-generic))))))
+(define-public u-boot-starfive-visionfive2
+ (let ((base (make-u-boot-package "starfive_visionfive2" "riscv64-linux-gnu"
+ ;; Allow kernel-arguments pass more content.
+ ;; If out of range, boot will fail.
+ #:configs '("CONFIG_SYS_CBSIZE=1024"))))
+ (package
+ (inherit base)
+ (arguments
+ (substitute-keyword-arguments (package-arguments base)
+ ((#:phases phases)
+ #~(modify-phases #$phases
+ (add-after 'unpack 'set-environment
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "OPENSBI" (search-input-file inputs
+ "fw_dynamic.bin"))))
+ (add-after 'install 'install-u-boot-spl.bin.normal.out
+ (lambda _
+ (install-file "spl/u-boot-spl.bin.normal.out"
+ (string-append #$output
+ "/libexec/spl"))))))))
+ (inputs
+ (modify-inputs (package-inputs base)
+ (append opensbi-for-visionfive2))))))
+
(define-public u-boot-rock64-rk3328
(let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu")))
(package
--
2.41.0
Z
Z
Zheng Junjie wrote on 19 May 16:15 +0200
[PATCH v3 7/7] system: images: Add visionfive2 module.
(address . 70892@debbugs.gnu.org)
7bf66ad4b8f33e74abe6cc82686326a03b6f4668.1716127516.git.zhengjunjie@iscas.ac.cn
* gnu/system/images/visionfive2.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Change-Id: I8831f1148bcddb0d604e1174034fca85cd2887a1
---
gnu/local.mk | 1 +
gnu/system/images/visionfive2.scm | 122 ++++++++++++++++++++++++++++++
2 files changed, 123 insertions(+)
create mode 100644 gnu/system/images/visionfive2.scm

Toggle diff (142 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 89839f799e..ee1dc2b41c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -778,6 +778,7 @@ GNU_SYSTEM_MODULES = \
%D%/system/images/pinebook-pro.scm \
%D%/system/images/rock64.scm \
%D%/system/images/unmatched.scm \
+ %D%/system/images/visionfive2.scm \
%D%/system/images/wsl2.scm \
\
%D%/machine.scm \
diff --git a/gnu/system/images/visionfive2.scm b/gnu/system/images/visionfive2.scm
new file mode 100644
index 0000000000..f25e7f0a5e
--- /dev/null
+++ b/gnu/system/images/visionfive2.scm
@@ -0,0 +1,122 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2024 Zheng Junjie <873216071@qq.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu system images visionfive2)
+ #:use-module (gnu bootloader)
+ #:use-module (gnu bootloader u-boot)
+ #:use-module (gnu services dbus)
+ #:use-module (gnu services dns)
+ #:use-module (gnu services avahi)
+ #:use-module (gnu services shepherd)
+ #:use-module (gnu services ssh)
+ #:use-module (gnu services networking)
+ #:use-module (gnu image)
+ #:use-module (gnu packages linux)
+ #:use-module (guix packages)
+
+ #:use-module (gnu packages ssh)
+ #:use-module (gnu packages guile-xyz)
+ #:use-module (gnu packages admin)
+ #:use-module (gnu services)
+ #:use-module (gnu services base)
+ #:use-module (gnu services networking)
+ #:use-module (gnu system)
+ #:use-module (gnu system file-systems)
+ #:use-module (gnu system image)
+ #:use-module (guix platforms riscv)
+ #:use-module (srfi srfi-26)
+ #:export (visionfive2-barebones-os
+ visionfive2-image-type
+ visionfive2-barebones-raw-image))
+
+;;; Commentary:
+;;;
+;;; VisionFive2 can boot from MMC1 (SPI flash) or MMC2 (SD card) selected
+;;; by DIP switches MSEL[1:0], you may want boot from MMC2 to use the
+;;; U-Boot from Guix System instead of the vendor U-Boot in MMC1. Before
+;;; doing so, make sure you have a correct 'fdtfile' in the environment:
+;;;
+;;; uboot> setenv fdtfile starfive/jh7110-starfive-visionfive-2-v1.3b.dtb
+;;; uboot> saveenv
+;;;
+;;; Code:
+
+(define visionfive2-barebones-os
+ (operating-system
+ (host-name "visionfive2")
+ (timezone "Etc/UTC")
+ (locale "en_US.utf8")
+ (bootloader (bootloader-configuration
+ (bootloader u-boot-starfive-visionfive2-bootloader)
+ (targets '("/dev/mmcblk0"))))
+ (file-systems (cons (file-system
+ (device (file-system-label "my-root"))
+ (mount-point "/")
+ (type "ext4"))
+ %base-file-systems))
+ (kernel-arguments (list "earlycon" "clk_ignore_unused"))
+ (firmware '())
+ (packages (append (list cloud-utils neofetch) %base-packages))
+ (services
+ (append (list (service openssh-service-type
+ (openssh-configuration
+ (openssh openssh-sans-x)
+ (permit-root-login #t)
+ (allow-empty-passwords? #t)))
+ (service agetty-service-type
+ (agetty-configuration
+ (extra-options '("-L"))
+ (baud-rate "115200")
+ (term "vt100")
+ (tty "ttyS0")))
+ (service dhcp-client-service-type))
+ %base-services))))
+
+(define visionfive2-disk-image
+ (image-without-os
+ (format 'disk-image)
+ (partition-table-type 'gpt)
+ (partitions (list
+ (partition
+ (size (* 1 (expt 2 20)))
+ (label "spl")
+ (offset (* 34 512))
+ (file-system "unformatted")
+ (uuid (uuid "2E54B353-1271-4842-806F-E436D6AF6985")))
+ (partition
+ (size (* 4 (expt 2 20)))
+ (label "uboot")
+ (offset (* 2082 512))
+ (file-system "unformatted")
+ (uuid (uuid "BC13C2FF-59E6-4262-A352-B275FD6F7172")))
+ root-partition))))
+
+(define visionfive2-image-type
+ (image-type
+ (name 'visionfive2-raw)
+ (constructor (cut image-with-os visionfive2-disk-image <>))))
+
+(define visionfive2-barebones-raw-image
+ (image
+ (inherit
+ (os+platform->image visionfive2-barebones-os riscv64-linux
+ #:type visionfive2-image-type))
+ (name 'visionfive2-barebones-raw-image)))
+
+;; Return the default image.
+visionfive2-barebones-raw-image
--
2.41.0
Z
Re: [bug#70892] [PATCH v3 0/7] Add visionfive2 support.
(address . 70892-done@debbugs.gnu.org)
87msoipm3o.fsf@iscas.ac.cn
Zheng Junjie <zhengjunjie@iscas.ac.cn> writes:

Toggle quote (31 lines)
> this is v3 vsrsion.
> 1. fix "gnu: linux-libre-6.8: Add riscv config" commit text.
> 2. adjust gnu/system/images/visionfive2.scm commentary.
> 3. add comment for opensbi-for-visionfive2
>
> Zheng Junjie (7):
> gnu: linux-libre-6.8: Add riscv config.
> image: Raise error when use both grub-efi* bootloader and not gpt
> image.
> gnu: shepherd-0.10: When target riscv64, use guile-fibers-1.1.
> gnu: Add opensbi-for-visionfive2.
> gnu: Add u-boot-starfive-visionfive2.
> bootloader: Add u-boot-starfive-visionfive2-bootloader.
> system: images: Add visionfive2 module.
>
> Makefile.am | 1 +
> gnu/bootloader/u-boot.scm | 29 +
> gnu/local.mk | 1 +
> gnu/packages/admin.scm | 5 +-
> .../aux-files/linux-libre/6.8-riscv.conf | 7681 +++++++++++++++++
> gnu/packages/bootloaders.scm | 25 +
> gnu/packages/firmware.scm | 14 +
> gnu/system/image.scm | 6 +-
> gnu/system/images/visionfive2.scm | 122 +
> 9 files changed, 7879 insertions(+), 5 deletions(-)
> create mode 100644 gnu/packages/aux-files/linux-libre/6.8-riscv.conf
> create mode 100644 gnu/system/images/visionfive2.scm
>
>
> base-commit: e9b25a6c6c626a560d28a1f732e6e5d362d584a4

push. close.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEfr6klGDOXiwIdX/bO1qpk+Gi3/AFAmZNZNsACgkQO1qpk+Gi
3/CWXBAAluqGwi72XG4Z+y9kX/k3/Y48B/42Xy00lIAIQczASbJ3U5GlSFijcGyh
mgknrxt5AKm2wPf53Zwac3Ga8cFEVUyN051fPzqiKgk+sHft6G0ZIeOSvHWPcKc6
gq6ltRDCC/VfFV13lI/iGIPY7xFi2w0oaAigCCReryhQIs/AXAUYuMDr83jxGZgP
kd9UcI17ntKHDDk/mgUDF/c/L8f+2h8oPwXoYwHXQjZ+kS9+zLQSUhsm02/IEEcZ
WyV6jXoz9D6uQ/ma9ydjSjClZZdDvWQgc5CSn2cb93ZCCcR2R1AQCb3f3uqzBuZw
DIgl1GveGqKAyr4DOfrwD6zyUq+bf0BaYs6okkZ2l3ojqBXVaQtHOIgIRcV9NcVu
UQ9DReFoISOuYC/Qbenx2YnuVOuWIon4gzNgy8QiaTirbqwVWPklefOLzPLiIX1a
O2KJ5+/dGo5Bc0f/dYyQdNa7se+harmyLza7fI9E0D3whDsSnYLODin94YbAL163
aNd6AHl8fYRODZYJ/pybhG5QZd3z1EcdzBKBoWVjVBm+OMMwUYPbpBcrmEPrClbC
cpVPRrI5Rju+Cq4MmB3giXwaHBEBsrGLyi1CbNOcPMct210/7dS7xMgWZpZXJLvZ
Nq+f+rPGFEPpvfq+sydBikD7rrknxrjaZ/W9vcIIOAnZI62qRhI=
=4dvX
-----END PGP SIGNATURE-----

Closed
?