From 310b29f7b015d7ef92d07d96a3aaebecd674e938 Mon Sep 17 00:00:00 2001 From: Ruoqing He Date: Sat, 1 Mar 2025 23:17:05 +0800 Subject: [PATCH 1/2] x86_64: Unify the way of calling serde_impl We are using curly brackets for aarch64 and riscv64 serialize.rs, let's stick to the same style. Signed-off-by: Ruoqing He --- kvm-bindings/src/x86_64/serialize.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kvm-bindings/src/x86_64/serialize.rs b/kvm-bindings/src/x86_64/serialize.rs index 4b3fe36e..57e807dd 100644 --- a/kvm-bindings/src/x86_64/serialize.rs +++ b/kvm-bindings/src/x86_64/serialize.rs @@ -10,7 +10,7 @@ use bindings::{ use serde::{Deserialize, Deserializer, Serialize, Serializer}; use zerocopy::{transmute, AsBytes, FromBytes, FromZeroes}; -serde_impls!( +serde_impls! { kvm_regs, kvm_segment, kvm_dtable, @@ -30,7 +30,7 @@ serde_impls!( kvm_cpuid2, kvm_xsave, kvm_irqchip -); +} // SAFETY: zerocopy's derives explicitly disallow deriving for unions where // the fields have different sizes, due to the smaller fields having padding. From 4f2c02a04afc8ea015de206454de01136f3c429f Mon Sep 17 00:00:00 2001 From: Ruoqing He Date: Sat, 1 Mar 2025 23:17:37 +0800 Subject: [PATCH 2/2] riscv: Rename riscv64 to riscv `riscv64` is the arch name used for Rust, let change it to arch name used in kernel source to align with other two architectures. Signed-off-by: Ruoqing He --- kvm-bindings/README.md | 2 +- kvm-bindings/src/lib.rs | 4 ++-- kvm-bindings/src/{riscv64 => riscv}/bindings.rs | 0 kvm-bindings/src/{riscv64 => riscv}/fam_wrappers.rs | 6 +++--- kvm-bindings/src/{riscv64 => riscv}/mod.rs | 0 kvm-bindings/src/{riscv64 => riscv}/serialize.rs | 0 6 files changed, 6 insertions(+), 6 deletions(-) rename kvm-bindings/src/{riscv64 => riscv}/bindings.rs (100%) rename kvm-bindings/src/{riscv64 => riscv}/fam_wrappers.rs (91%) rename kvm-bindings/src/{riscv64 => riscv}/mod.rs (100%) rename kvm-bindings/src/{riscv64 => riscv}/serialize.rs (100%) diff --git a/kvm-bindings/README.md b/kvm-bindings/README.md index 693ba5b0..596f3a61 100644 --- a/kvm-bindings/README.md +++ b/kvm-bindings/README.md @@ -5,7 +5,7 @@ Rust FFI bindings to KVM, generated using following target architectures: - x86_64 - arm64 -- riscv64 +- riscv The bindings exported by this crate are statically generated using header files associated with a specific kernel version, and are not automatically synced with diff --git a/kvm-bindings/src/lib.rs b/kvm-bindings/src/lib.rs index c44c98e6..dfd5d529 100644 --- a/kvm-bindings/src/lib.rs +++ b/kvm-bindings/src/lib.rs @@ -33,6 +33,6 @@ mod arm64; pub use self::arm64::*; #[cfg(target_arch = "riscv64")] -mod riscv64; +mod riscv; #[cfg(target_arch = "riscv64")] -pub use self::riscv64::*; +pub use self::riscv::*; diff --git a/kvm-bindings/src/riscv64/bindings.rs b/kvm-bindings/src/riscv/bindings.rs similarity index 100% rename from kvm-bindings/src/riscv64/bindings.rs rename to kvm-bindings/src/riscv/bindings.rs diff --git a/kvm-bindings/src/riscv64/fam_wrappers.rs b/kvm-bindings/src/riscv/fam_wrappers.rs similarity index 91% rename from kvm-bindings/src/riscv64/fam_wrappers.rs rename to kvm-bindings/src/riscv/fam_wrappers.rs index f433172a..6827284f 100644 --- a/kvm-bindings/src/riscv64/fam_wrappers.rs +++ b/kvm-bindings/src/riscv/fam_wrappers.rs @@ -4,14 +4,14 @@ use vmm_sys_util::fam::{FamStruct, FamStructWrapper}; -use riscv64::bindings::*; +use riscv::bindings::*; // There is no constant in the kernel as far as the maximum number // of registers on RISC-V, but KVM_GET_REG_LIST usually returns around 160. -const RISCV64_REGS_MAX: usize = 200; +const RISCV_REGS_MAX: usize = 200; // Implement the FamStruct trait for kvm_reg_list. -generate_fam_struct_impl!(kvm_reg_list, u64, reg, u64, n, RISCV64_REGS_MAX); +generate_fam_struct_impl!(kvm_reg_list, u64, reg, u64, n, RISCV_REGS_MAX); // Implement the PartialEq trait for kvm_reg_list. impl PartialEq for kvm_reg_list { diff --git a/kvm-bindings/src/riscv64/mod.rs b/kvm-bindings/src/riscv/mod.rs similarity index 100% rename from kvm-bindings/src/riscv64/mod.rs rename to kvm-bindings/src/riscv/mod.rs diff --git a/kvm-bindings/src/riscv64/serialize.rs b/kvm-bindings/src/riscv/serialize.rs similarity index 100% rename from kvm-bindings/src/riscv64/serialize.rs rename to kvm-bindings/src/riscv/serialize.rs