Compare commits
No commits in common. "a10s" and "c10s" have entirely different histories.
@ -1,84 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
Date: Thu, 20 Feb 2026 00:00:00 +0000
|
||||
Subject: [PATCH] Add riscv64 architecture support
|
||||
|
||||
Add RISC-V 64-bit (riscv64) to EfiArch enum with native() support.
|
||||
There is no DBX data for riscv64 yet, so get_dbx() will panic if
|
||||
called for the riscv64 variant.
|
||||
|
||||
Signed-off-by: Andrew Lukoshko <alukoshko@almalinux.org>
|
||||
---
|
||||
libefi/src/arch.rs | 14 +++++++++++++-
|
||||
libefi/src/sb/dbx/mod.rs | 1 +
|
||||
2 files changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libefi/src/arch.rs b/libefi/src/arch.rs
|
||||
index e823a5c..ff98e8a 100644
|
||||
--- a/libefi/src/arch.rs
|
||||
+++ b/libefi/src/arch.rs
|
||||
@@ -9,6 +9,7 @@ use clap::{builder::PossibleValue, ValueEnum};
|
||||
pub enum EfiArch {
|
||||
X64,
|
||||
Aa64,
|
||||
+ Riscv64,
|
||||
}
|
||||
|
||||
impl EfiArch {
|
||||
@@ -16,6 +17,7 @@ impl EfiArch {
|
||||
match self {
|
||||
EfiArch::X64 => "x64",
|
||||
EfiArch::Aa64 => "aa64",
|
||||
+ EfiArch::Riscv64 => "riscv64",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +25,7 @@ impl EfiArch {
|
||||
match self {
|
||||
EfiArch::X64 => "X64",
|
||||
EfiArch::Aa64 => "AA64",
|
||||
+ EfiArch::Riscv64 => "RISCV64",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,12 +38,17 @@ impl EfiArch {
|
||||
pub fn native() -> Self {
|
||||
EfiArch::X64
|
||||
}
|
||||
+
|
||||
+ #[cfg(target_arch = "riscv64")]
|
||||
+ pub fn native() -> Self {
|
||||
+ EfiArch::Riscv64
|
||||
+ }
|
||||
}
|
||||
|
||||
#[cfg(feature = "std")]
|
||||
impl ValueEnum for EfiArch {
|
||||
fn value_variants<'a>() -> &'a [Self] {
|
||||
- static VARIANTS: [EfiArch; 2] = [EfiArch::Aa64, EfiArch::X64];
|
||||
+ static VARIANTS: [EfiArch; 3] = [EfiArch::Aa64, EfiArch::X64, EfiArch::Riscv64];
|
||||
&VARIANTS
|
||||
}
|
||||
|
||||
@@ -48,6 +56,7 @@ impl ValueEnum for EfiArch {
|
||||
let pv = match self {
|
||||
EfiArch::Aa64 => PossibleValue::new("aa64").aliases(["AA64", "aarch64", "arm64"]),
|
||||
EfiArch::X64 => PossibleValue::new("x64").aliases(["X64", "x86_64", "amd64"]),
|
||||
+ EfiArch::Riscv64 => PossibleValue::new("riscv64").aliases(["RISCV64", "riscv64gc"]),
|
||||
};
|
||||
Some(pv)
|
||||
}
|
||||
diff --git a/libefi/src/sb/dbx/mod.rs b/libefi/src/sb/dbx/mod.rs
|
||||
index 91d47b7..b519ecf 100644
|
||||
--- a/libefi/src/sb/dbx/mod.rs
|
||||
+++ b/libefi/src/sb/dbx/mod.rs
|
||||
@@ -14,6 +14,7 @@ pub fn get_dbx(arch: EfiArch) -> &'static [u8] {
|
||||
match arch {
|
||||
EfiArch::X64 => DBX_X86_64,
|
||||
EfiArch::Aa64 => DBX_AARCH64,
|
||||
+ EfiArch::Riscv64 => panic!("no DBX data available for riscv64"),
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.43.0
|
||||
@ -9,9 +9,6 @@ Source0: https://gitlab.com/kraxel/%{name}/-/archive/v%{version}/%{name}-
|
||||
Source1: %{name}-vendor-v%{version}.tar.gz
|
||||
Source2: config-vendor.toml
|
||||
|
||||
# AlmaLinux Patch
|
||||
Patch1001: 0001-Add-riscv64-architecture-support.patch
|
||||
|
||||
ExclusiveArch: x86_64 aarch64 riscv64
|
||||
BuildRequires: cargo rustc
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user