Automated cherry pick of #24126: feat(region,host): riscv64 cpu arch support (#24174)

* feat(region,host): riscv64 cpu arch support

* fix(region,host): compatible riscv64

* fix(host): add qemu v10.0.7 support
This commit is contained in:
wanyaoqi
2026-02-01 20:27:12 +08:00
committed by GitHub
parent 7d4245c677
commit c005337eed
35 changed files with 459 additions and 66 deletions
+1 -1
View File
@@ -259,7 +259,7 @@ const (
VM_MACHINE_TYPE_PC = "pc"
VM_MACHINE_TYPE_Q35 = "q35"
VM_MACHINE_TYPE_ARM_VIRT = "virt"
VM_MACHINE_TYPE_VIRT = "virt"
VM_VDI_PROTOCOL_VNC = "vnc"
VM_VDI_PROTOCOL_SPICE = "spice"
+16 -2
View File
@@ -151,14 +151,16 @@ const (
const (
OS_ARCH_ALL = "all"
OS_ARCH_X86 = "x86"
OS_ARCH_ARM = "arm"
OS_ARCH_X86 = "x86"
OS_ARCH_ARM = "arm"
OS_ARCH_RISCV = "riscv"
OS_ARCH_I386 = "i386"
OS_ARCH_X86_32 = "x86_32"
OS_ARCH_X86_64 = "x86_64"
OS_ARCH_AARCH32 = "aarch32"
OS_ARCH_AARCH64 = "aarch64"
OS_ARCH_RISCV32 = "riscv32"
OS_ARCH_RISCV64 = "riscv64"
)
@@ -174,6 +176,11 @@ var (
OS_ARCH_AARCH32,
OS_ARCH_AARCH64,
}
ARCH_RISCV = []string{
OS_ARCH_RISCV,
OS_ARCH_RISCV32,
OS_ARCH_RISCV64,
}
)
func IsARM(osArch string) bool {
@@ -184,6 +191,10 @@ func IsX86(osArch string) bool {
return utils.IsInStringArray(osArch, ARCH_X86)
}
func IsRISCV(osArch string) bool {
return utils.IsInStringArray(osArch, ARCH_RISCV)
}
func IsIllegalSearchDomain(domain string) bool {
switch domain {
case "cloud.onecloud.io":
@@ -202,5 +213,8 @@ func IsSameArch(arch1, arch2 string) bool {
if IsX86(arch1) && IsX86(arch2) {
return true
}
if IsRISCV(arch1) && IsRISCV(arch2) {
return true
}
return false
}