From 703e0cab048708af1b9fbc033ae3f213639a374b Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Thu, 9 Jan 2025 02:33:14 +0000 Subject: [PATCH] vmm: use C ABI-qualification for packed structures Signed-off-by: Wei Liu --- vmm/src/acpi.rs | 12 ++++++------ vmm/src/cpu.rs | 16 ++++++++-------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/vmm/src/acpi.rs b/vmm/src/acpi.rs index a8379a435..ac4bc60ab 100644 --- a/vmm/src/acpi.rs +++ b/vmm/src/acpi.rs @@ -44,7 +44,7 @@ pub const ACPI_APIC_GENERIC_REDISTRIBUTOR: u8 = 14; pub const ACPI_APIC_GENERIC_TRANSLATOR: u8 = 15; #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(Default, AsBytes)] struct PciRangeEntry { pub base_address: u64, @@ -55,7 +55,7 @@ struct PciRangeEntry { } #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(Default, AsBytes)] struct MemoryAffinity { pub type_: u8, @@ -72,7 +72,7 @@ struct MemoryAffinity { } #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(Default, AsBytes)] struct ProcessorLocalX2ApicAffinity { pub type_: u8, @@ -86,7 +86,7 @@ struct ProcessorLocalX2ApicAffinity { } #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(Default, AsBytes)] struct ProcessorGiccAffinity { pub type_: u8, @@ -146,7 +146,7 @@ impl MemoryAffinity { } #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(Default, AsBytes)] struct ViotVirtioPciNode { pub type_: u8, @@ -158,7 +158,7 @@ struct ViotVirtioPciNode { } #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(Default, AsBytes)] struct ViotPciRangeNode { pub type_: u8, diff --git a/vmm/src/cpu.rs b/vmm/src/cpu.rs index 828caa54f..20dbb467a 100644 --- a/vmm/src/cpu.rs +++ b/vmm/src/cpu.rs @@ -205,7 +205,7 @@ pub type Result = result::Result; #[cfg(target_arch = "x86_64")] #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(AsBytes)] struct LocalX2Apic { pub r#type: u8, @@ -217,7 +217,7 @@ struct LocalX2Apic { } #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(Default, AsBytes)] struct Ioapic { pub r#type: u8, @@ -230,7 +230,7 @@ struct Ioapic { #[cfg(target_arch = "aarch64")] #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(AsBytes)] struct GicC { pub r#type: u8, @@ -255,7 +255,7 @@ struct GicC { #[cfg(target_arch = "aarch64")] #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(AsBytes)] struct GicD { pub r#type: u8, @@ -270,7 +270,7 @@ struct GicD { #[cfg(target_arch = "aarch64")] #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(AsBytes)] struct GicR { pub r#type: u8, @@ -282,7 +282,7 @@ struct GicR { #[cfg(target_arch = "aarch64")] #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(AsBytes)] struct GicIts { pub r#type: u8, @@ -295,7 +295,7 @@ struct GicIts { #[cfg(target_arch = "aarch64")] #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(AsBytes)] struct ProcessorHierarchyNode { pub r#type: u8, @@ -308,7 +308,7 @@ struct ProcessorHierarchyNode { } #[allow(dead_code)] -#[repr(packed)] +#[repr(C, packed)] #[derive(Default, AsBytes)] struct InterruptSourceOverride { pub r#type: u8,