diff --git a/aya-obj/src/generated/linux_bindings_loongarch64.rs b/aya-obj/src/generated/linux_bindings_loongarch64.rs index 322e41a2..d480cbdb 100644 --- a/aya-obj/src/generated/linux_bindings_loongarch64.rs +++ b/aya-obj/src/generated/linux_bindings_loongarch64.rs @@ -47,11 +47,7 @@ where index % 8 }; let mask = 1 << bit_index; - if val { - byte | mask - } else { - byte & !mask - } + if val { byte | mask } else { byte & !mask } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { diff --git a/aya-obj/src/generated/mod.rs b/aya-obj/src/generated/mod.rs index f786447f..f49fe2ba 100644 --- a/aya-obj/src/generated/mod.rs +++ b/aya-obj/src/generated/mod.rs @@ -1,10 +1,17 @@ //! eBPF bindings generated by rust-bindgen mod btf_internal_bindings; + +// don't re-export __u8 __u16 etc which are already exported by the +// linux_bindings_* module +pub use btf_internal_bindings::{bpf_core_relo, bpf_core_relo_kind, btf_ext_header}; + #[cfg(target_arch = "aarch64")] mod linux_bindings_aarch64; #[cfg(target_arch = "arm")] mod linux_bindings_armv7; +#[cfg(target_arch = "loongarch64")] +mod linux_bindings_loongarch64; #[cfg(target_arch = "mips")] mod linux_bindings_mips; #[cfg(target_arch = "powerpc64")] @@ -16,13 +23,12 @@ mod linux_bindings_s390x; #[cfg(target_arch = "x86_64")] mod linux_bindings_x86_64; -// don't re-export __u8 __u16 etc which are already exported by the -// linux_bindings_* module -pub use btf_internal_bindings::{bpf_core_relo, bpf_core_relo_kind, btf_ext_header}; #[cfg(target_arch = "aarch64")] pub use linux_bindings_aarch64::*; #[cfg(target_arch = "arm")] pub use linux_bindings_armv7::*; +#[cfg(target_arch = "loongarch64")] +pub use linux_bindings_loongarch64::*; #[cfg(target_arch = "mips")] pub use linux_bindings_mips::*; #[cfg(target_arch = "powerpc64")] diff --git a/ebpf/aya-ebpf-bindings/build.rs b/ebpf/aya-ebpf-bindings/build.rs index 4c2a7477..75f4031d 100644 --- a/ebpf/aya-ebpf-bindings/build.rs +++ b/ebpf/aya-ebpf-bindings/build.rs @@ -12,7 +12,18 @@ fn main() { } println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } - println!( - "cargo::rustc-check-cfg=cfg(bpf_target_arch, values(\"x86_64\",\"arm\",\"aarch64\",\"riscv64\",\"powerpc64\",\"s390x\",\"mips\"))" - ); + print!("cargo::rustc-check-cfg=cfg(bpf_target_arch, values("); + for arch in [ + "aarch64", + "arm", + "loongarch64", + "mips", + "powerpc64", + "riscv64", + "s390x", + "x86_64", + ] { + print!("\"{arch}\","); + } + println!("))"); } diff --git a/ebpf/aya-ebpf-bindings/src/aarch64/mod.rs b/ebpf/aya-ebpf-bindings/src/aarch64/mod.rs deleted file mode 100644 index 2d144a25..00000000 --- a/ebpf/aya-ebpf-bindings/src/aarch64/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod bindings; -pub mod helpers; diff --git a/ebpf/aya-ebpf-bindings/src/armv7/mod.rs b/ebpf/aya-ebpf-bindings/src/armv7/mod.rs deleted file mode 100644 index 2d144a25..00000000 --- a/ebpf/aya-ebpf-bindings/src/armv7/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod bindings; -pub mod helpers; diff --git a/ebpf/aya-ebpf-bindings/src/lib.rs b/ebpf/aya-ebpf-bindings/src/lib.rs index 94ef8a52..ef2d19cc 100644 --- a/ebpf/aya-ebpf-bindings/src/lib.rs +++ b/ebpf/aya-ebpf-bindings/src/lib.rs @@ -1,40 +1,60 @@ #![expect( clippy::all, - dead_code, non_camel_case_types, non_snake_case, non_upper_case_globals, unsafe_op_in_unsafe_fn )] -#![deny(warnings)] #![no_std] -#[cfg(bpf_target_arch = "x86_64")] -mod x86_64; - -#[cfg(bpf_target_arch = "arm")] -mod armv7; - #[cfg(bpf_target_arch = "aarch64")] -mod aarch64; - -#[cfg(bpf_target_arch = "riscv64")] -mod riscv64; - +mod aarch64 { + pub mod bindings; + pub mod helpers; +} +#[cfg(bpf_target_arch = "arm")] +mod armv7 { + pub mod bindings; + pub mod helpers; +} +#[cfg(bpf_target_arch = "loongarch64")] +mod loongarch64 { + pub mod bindings; + pub mod helpers; +} +#[cfg(bpf_target_arch = "mips")] +mod mips { + pub mod bindings; + pub mod helpers; +} #[cfg(bpf_target_arch = "powerpc64")] -mod powerpc64; - +mod powerpc64 { + pub mod bindings; + pub mod helpers; +} +#[cfg(bpf_target_arch = "riscv64")] +mod riscv64 { + pub mod bindings; + pub mod helpers; +} #[cfg(bpf_target_arch = "s390x")] -mod s390x; - -#[cfg(bpf_target_arch = "mips")] -mod mips; +mod s390x { + pub mod bindings; + pub mod helpers; +} +#[cfg(bpf_target_arch = "x86_64")] +mod x86_64 { + pub mod bindings; + pub mod helpers; +} mod generated { #[cfg(bpf_target_arch = "aarch64")] pub use super::aarch64::*; #[cfg(bpf_target_arch = "arm")] pub use super::armv7::*; + #[cfg(bpf_target_arch = "loongarch64")] + pub use super::loongarch64::*; #[cfg(bpf_target_arch = "mips")] pub use super::mips::*; #[cfg(bpf_target_arch = "powerpc64")] @@ -46,6 +66,7 @@ mod generated { #[cfg(bpf_target_arch = "x86_64")] pub use super::x86_64::*; } + pub use generated::helpers; pub mod bindings { @@ -61,7 +82,7 @@ pub mod bindings { pub const TC_ACT_REDIRECT: i32 = crate::generated::bindings::TC_ACT_REDIRECT as i32; pub const TC_ACT_TRAP: i32 = crate::generated::bindings::TC_ACT_TRAP as i32; pub const TC_ACT_VALUE_MAX: i32 = crate::generated::bindings::TC_ACT_VALUE_MAX as i32; - pub const TC_ACT_EXT_VAL_MASK: i32 = 268435455; + pub const TC_ACT_EXT_VAL_MASK: i32 = crate::generated::bindings::TC_ACT_EXT_VAL_MASK as i32; #[repr(C)] #[derive(Debug, Copy, Clone)] diff --git a/ebpf/aya-ebpf-bindings/src/loongarch64/bindings.rs b/ebpf/aya-ebpf-bindings/src/loongarch64/bindings.rs index 4006bd55..e6fb75a0 100644 --- a/ebpf/aya-ebpf-bindings/src/loongarch64/bindings.rs +++ b/ebpf/aya-ebpf-bindings/src/loongarch64/bindings.rs @@ -45,11 +45,7 @@ where index % 8 }; let mask = 1 << bit_index; - if val { - byte | mask - } else { - byte & !mask - } + if val { byte | mask } else { byte & !mask } } #[inline] pub fn set_bit(&mut self, index: usize, val: bool) { diff --git a/ebpf/aya-ebpf-bindings/src/mips/mod.rs b/ebpf/aya-ebpf-bindings/src/mips/mod.rs deleted file mode 100644 index 2d144a25..00000000 --- a/ebpf/aya-ebpf-bindings/src/mips/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod bindings; -pub mod helpers; diff --git a/ebpf/aya-ebpf-bindings/src/powerpc64/mod.rs b/ebpf/aya-ebpf-bindings/src/powerpc64/mod.rs deleted file mode 100644 index 2d144a25..00000000 --- a/ebpf/aya-ebpf-bindings/src/powerpc64/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod bindings; -pub mod helpers; diff --git a/ebpf/aya-ebpf-bindings/src/riscv64/mod.rs b/ebpf/aya-ebpf-bindings/src/riscv64/mod.rs deleted file mode 100644 index 2d144a25..00000000 --- a/ebpf/aya-ebpf-bindings/src/riscv64/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod bindings; -pub mod helpers; diff --git a/ebpf/aya-ebpf-bindings/src/s390x/mod.rs b/ebpf/aya-ebpf-bindings/src/s390x/mod.rs deleted file mode 100644 index 2d144a25..00000000 --- a/ebpf/aya-ebpf-bindings/src/s390x/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod bindings; -pub mod helpers; diff --git a/ebpf/aya-ebpf-bindings/src/x86_64/mod.rs b/ebpf/aya-ebpf-bindings/src/x86_64/mod.rs deleted file mode 100644 index 2d144a25..00000000 --- a/ebpf/aya-ebpf-bindings/src/x86_64/mod.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub mod bindings; -pub mod helpers; diff --git a/ebpf/aya-ebpf-cty/build.rs b/ebpf/aya-ebpf-cty/build.rs index 40533d3d..7f190273 100644 --- a/ebpf/aya-ebpf-cty/build.rs +++ b/ebpf/aya-ebpf-cty/build.rs @@ -12,8 +12,20 @@ fn main() { } println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } - println!( - "cargo::rustc-check-cfg=cfg(bpf_target_arch, values(\"x86_64\",\"arm\",\"aarch64\",\"riscv64\",\"powerpc64\",\"s390x\",\"mips\"))" - ); + print!("cargo::rustc-check-cfg=cfg(bpf_target_arch, values("); + for arch in [ + "aarch64", + "arm", + "loongarch64", + "mips", + "powerpc64", + "riscv64", + "s390x", + "x86_64", + ] { + print!("\"{arch}\","); + } + println!("))"); + println!("cargo::rustc-check-cfg=cfg(target_arch, values(\"asmjs\",\"nvptx\",\"xtensa\"))"); } diff --git a/ebpf/aya-ebpf-cty/src/lib.rs b/ebpf/aya-ebpf-cty/src/lib.rs index 33d2bd0b..8e64fd30 100644 --- a/ebpf/aya-ebpf-cty/src/lib.rs +++ b/ebpf/aya-ebpf-cty/src/lib.rs @@ -6,7 +6,6 @@ //! versions but that may change in any new patch release. #![no_std] #![expect(non_camel_case_types)] -#![deny(warnings)] // AD = Architecture dependent pub use ad::*; @@ -18,25 +17,17 @@ mod ad { pub type c_int = i32; pub type c_uint = u32; - #[cfg(bpf_target_arch = "arm")] + #[cfg(any( + bpf_target_arch = "aarch64", + bpf_target_arch = "arm", + bpf_target_arch = "powerpc64", + bpf_target_arch = "riscv64", + bpf_target_arch = "s390x", + bpf_target_arch = "mips", + ))] pub type c_char = super::c_uchar; - #[cfg(bpf_target_arch = "aarch64")] - pub type c_char = super::c_uchar; - - #[cfg(bpf_target_arch = "powerpc64")] - pub type c_char = super::c_uchar; - - #[cfg(bpf_target_arch = "riscv64")] - pub type c_char = super::c_uchar; - - #[cfg(bpf_target_arch = "s390x")] - pub type c_char = super::c_uchar; - - #[cfg(bpf_target_arch = "mips")] - pub type c_char = super::c_uchar; - - #[cfg(bpf_target_arch = "x86_64")] + #[cfg(any(bpf_target_arch = "loongarch64", bpf_target_arch = "x86_64"))] pub type c_char = super::c_schar; } @@ -60,14 +51,15 @@ mod ad { } #[cfg(any( + target_arch = "loongarch64", target_arch = "mips", target_arch = "mips64", + target_arch = "nvptx", + target_arch = "nvptx64", target_arch = "sparc64", target_arch = "x86", target_arch = "x86_64", - target_arch = "nvptx", - target_arch = "nvptx64", - target_arch = "xtensa" + target_arch = "xtensa", ))] mod ad { pub type c_char = super::c_schar; diff --git a/ebpf/aya-ebpf/build.rs b/ebpf/aya-ebpf/build.rs index 97b86ae1..c4dd61e6 100644 --- a/ebpf/aya-ebpf/build.rs +++ b/ebpf/aya-ebpf/build.rs @@ -13,9 +13,21 @@ fn main() { } println!("cargo:rustc-cfg=bpf_target_arch=\"{arch}\""); } - println!( - "cargo::rustc-check-cfg=cfg(bpf_target_arch, values(\"x86_64\",\"arm\",\"aarch64\",\"riscv64\",\"powerpc64\",\"s390x\",\"mips\"))" - ); + print!("cargo::rustc-check-cfg=cfg(bpf_target_arch, values("); + for arch in [ + "aarch64", + "arm", + "loongarch64", + "mips", + "powerpc64", + "riscv64", + "s390x", + "x86_64", + ] { + print!("\"{arch}\","); + } + println!("))"); + println!("cargo::rustc-check-cfg=cfg(unstable)"); } diff --git a/ebpf/aya-ebpf/src/args.rs b/ebpf/aya-ebpf/src/args.rs index 5fca6d35..43d3a5e4 100644 --- a/ebpf/aya-ebpf/src/args.rs +++ b/ebpf/aya-ebpf/src/args.rs @@ -1,14 +1,16 @@ #[cfg(any( - bpf_target_arch = "x86_64", bpf_target_arch = "arm", - bpf_target_arch = "powerpc64", bpf_target_arch = "mips", + bpf_target_arch = "powerpc64", + bpf_target_arch = "x86_64", ))] use crate::bindings::pt_regs; -// aarch64 uses user_pt_regs instead of pt_regs -#[cfg(any(bpf_target_arch = "aarch64", bpf_target_arch = "s390x"))] +#[cfg(any( + bpf_target_arch = "aarch64", + bpf_target_arch = "loongarch64", + bpf_target_arch = "s390x", +))] use crate::bindings::user_pt_regs as pt_regs; -// riscv64 uses user_regs_struct instead of pt_regs #[cfg(bpf_target_arch = "riscv64")] use crate::bindings::user_regs_struct as pt_regs; use crate::{bindings::bpf_raw_tracepoint_args, cty::c_void, helpers::bpf_probe_read}; diff --git a/ebpf/aya-ebpf/src/lib.rs b/ebpf/aya-ebpf/src/lib.rs index 2179390b..4ff3c40b 100644 --- a/ebpf/aya-ebpf/src/lib.rs +++ b/ebpf/aya-ebpf/src/lib.rs @@ -11,7 +11,6 @@ #![cfg_attr(unstable, expect(incomplete_features), feature(generic_const_exprs))] #![cfg_attr(unstable, feature(never_type))] #![cfg_attr(target_arch = "bpf", feature(asm_experimental_arch))] -#![deny(warnings)] #![warn(clippy::cast_lossless, clippy::cast_sign_loss)] #![no_std]