From 886a957f4c3ab20ff820db77610df626dfaea308 Mon Sep 17 00:00:00 2001 From: Motomu Utsumi Date: Tue, 13 May 2025 12:42:50 +0900 Subject: [PATCH] Add LLVM eBPF builtins methods to android_bpf_defs.h Bug: 410982483 Test: m filterPowerSupplyEvents.o filterPowerSupplyEvents.bpf Change-Id: I52eb9623fd73ebd5620482ba3bdf5f303ebf2958 --- include/defs/android_bpf_defs.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/defs/android_bpf_defs.h b/include/defs/android_bpf_defs.h index 139edd5..3d08b15 100644 --- a/include/defs/android_bpf_defs.h +++ b/include/defs/android_bpf_defs.h @@ -77,6 +77,11 @@ #define LICENSE(NAME) char _license[] SEC("license") = (NAME) #define CRITICAL(NAME) +// LLVM eBPF builtins: they directly generate BPF_LD_ABS/BPF_LD_IND (skb may be ignored?) +unsigned long long load_byte(void* skb, unsigned long long off) asm("llvm.bpf.load.byte"); +unsigned long long load_half(void* skb, unsigned long long off) asm("llvm.bpf.load.half"); +unsigned long long load_word(void* skb, unsigned long long off) asm("llvm.bpf.load.word"); + #else // LIBBPF DISABLED #include