Home
last modified time | relevance | path

Searched refs:BPF (Results 1 – 25 of 64) sorted by relevance

123

/freebsd/contrib/llvm-project/llvm/lib/Target/BPF/Disassembler/
H A DBPFDisassembler.cpp98 BPF::R0, BPF::R1, BPF::R2, BPF::R3, BPF::R4, BPF::R5,
99 BPF::R6, BPF::R7, BPF::R8, BPF::R9, BPF::R10, BPF::R11};
113 BPF::W0, BPF::W1, BPF::W2, BPF::W3, BPF::W4, BPF::W5,
114 BPF::W6, BPF::W7, BPF::W8, BPF::W9, BPF::W10, BPF::W11};
182 STI.hasFeature(BPF::ALU32)) in getInstruction()
192 case BPF::LD_imm64: in getInstruction()
193 case BPF::LD_pseudo: { in getInstruction()
207 case BPF::LD_ABS_B: in getInstruction()
208 case BPF::LD_ABS_H: in getInstruction()
209 case BPF::LD_ABS_W: in getInstruction()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/BPF/
H A DBPFMISimplifyPatchable.cpp96 return Opcode == BPF::STB_imm || Opcode == BPF::STH_imm || in isStoreImm()
97 Opcode == BPF::STW_imm || Opcode == BPF::STD_imm; in isStoreImm()
101 return Opcode == BPF::STB32 || Opcode == BPF::STH32 || Opcode == BPF::STW32 || in isStore32()
102 Opcode == BPF::STBREL32 || Opcode == BPF::STHREL32 || in isStore32()
103 Opcode == BPF::STWREL32; in isStore32()
107 return Opcode == BPF::STB || Opcode == BPF::STH || Opcode == BPF::STW || in isStore64()
108 Opcode == BPF::STD || Opcode == BPF::STDREL; in isStore64()
112 return Opcode == BPF::LDB32 || Opcode == BPF::LDH32 || Opcode == BPF::LDW32 || in isLoad32()
113 Opcode == BPF::LDBACQ32 || Opcode == BPF::LDHACQ32 || in isLoad32()
114 Opcode == BPF::LDWACQ32; in isLoad32()
[all …]
H A DBPFInstrInfo.cpp29 : BPFGenInstrInfo(BPF::ADJCALLSTACKDOWN, BPF::ADJCALLSTACKUP) {} in BPFInstrInfo()
36 if (BPF::GPRRegClass.contains(DestReg, SrcReg)) in copyPhysReg()
37 BuildMI(MBB, I, DL, get(BPF::MOV_rr), DestReg) in copyPhysReg()
39 else if (BPF::GPR32RegClass.contains(DestReg, SrcReg)) in copyPhysReg()
40 BuildMI(MBB, I, DL, get(BPF::MOV_rr_32), DestReg) in copyPhysReg()
58 LdOpc = BPF::LDB; in expandMEMCPY()
59 StOpc = BPF::STB; in expandMEMCPY()
62 LdOpc = BPF::LDH; in expandMEMCPY()
63 StOpc = BPF::STH; in expandMEMCPY()
66 LdOpc = BPF::LDW; in expandMEMCPY()
[all …]
H A DBPFMIPeephole.cpp109 if (MRI->getRegClass(Reg) == &BPF::GPRRegClass) in isCopyFrom32Def()
136 if (PhiDef->getOpcode() == BPF::COPY && !isCopyFrom32Def(PhiDef)) in isPhiFrom32Def()
154 } else if (DefInsn->getOpcode() == BPF::COPY) { in isInsnFrom32Def()
195 if (MI.getOpcode() == BPF::SRL_ri && in eliminateZExtSeq()
206 SllMI->getOpcode() != BPF::SLL_ri || in eliminateZExtSeq()
216 MovMI->getOpcode() != BPF::MOV_32_64) in eliminateZExtSeq()
229 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(BPF::SUBREG_TO_REG), DstReg) in eliminateZExtSeq()
230 .addImm(0).addReg(SubReg).addImm(BPF::sub_32); in eliminateZExtSeq()
258 if (MI.getOpcode() != BPF::MOV_32_64) in eliminateZExt()
280 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(BPF::SUBREG_TO_REG), dst) in eliminateZExt()
[all …]
H A DBPFRegisterInfo.cpp35 : BPFGenRegisterInfo(BPF::R0) {} in BPFRegisterInfo()
55 markSuperRegs(Reserved, BPF::W10); // [W|R]10 is read only frame pointer in getReservedRegs()
56 markSuperRegs(Reserved, BPF::W11); // [W|R]11 is pseudo stack pointer in getReservedRegs()
102 if (MI.getOpcode() == BPF::MOV_rr) { in eliminateFrameIndex()
108 BuildMI(MBB, ++II, DL, TII.get(BPF::ADD_ri), reg) in eliminateFrameIndex()
122 if (MI.getOpcode() == BPF::FI_ri) { in eliminateFrameIndex()
128 BuildMI(MBB, ++II, DL, TII.get(BPF::MOV_rr), reg) in eliminateFrameIndex()
130 BuildMI(MBB, II, DL, TII.get(BPF::ADD_ri), reg) in eliminateFrameIndex()
144 return BPF::R10; in getFrameRegister()
H A DBPFRegisterInfo.td1 //===-- BPFRegisterInfo.td - BPF Register defs -------------*- tablegen -*-===//
10 // Declarations that describe the BPF register file
13 let Namespace = "BPF" in {
19 let Namespace = "BPF";
27 let Namespace = "BPF";
39 def GPR32 : RegisterClass<"BPF", [i32], 64, (add
46 def GPR : RegisterClass<"BPF", [i64], 64, (add
H A DBPFFrameLowering.cpp34 SavedRegs.reset(BPF::R6); in determineCalleeSaves()
35 SavedRegs.reset(BPF::R7); in determineCalleeSaves()
36 SavedRegs.reset(BPF::R8); in determineCalleeSaves()
37 SavedRegs.reset(BPF::R9); in determineCalleeSaves()
H A DBPFISelLowering.cpp59 addRegisterClass(MVT::i64, &BPF::GPRRegClass); in BPFTargetLowering()
61 addRegisterClass(MVT::i32, &BPF::GPR32RegClass); in BPFTargetLowering()
66 setStackPointerRegisterToSaveRestore(BPF::R11); in BPFTargetLowering()
271 return std::make_pair(0U, &BPF::GPRRegClass); in getRegForInlineAsmConstraint()
274 return std::make_pair(0U, &BPF::GPR32RegClass); in getRegForInlineAsmConstraint()
381 SimpleTy == MVT::i64 ? &BPF::GPRRegClass : &BPF::GPR32RegClass); in LowerFormalArguments()
558 resetRegMaskBit(TRI, RegMask, BPF::R0); in LowerCall()
845 int RShiftOp = isSigned ? BPF::SRA_ri : BPF::SRL_ri; in EmitSubregExt()
853 BuildMI(BB, DL, TII.get(BPF::MOV_32_64), PromotedReg0).addReg(Reg); in EmitSubregExt()
860 BuildMI(BB, DL, TII.get(BPF::MOVSX_rr_32), PromotedReg0).addReg(Reg); in EmitSubregExt()
[all …]
H A DBPF.td1 //===-- BPF.td - Describe the BPF Target Machine -----------*- tablegen -*-===//
48 string Name = "BPF";
53 def BPF : Target {
H A DBPFCallingConv.td1 //===-- BPFCallingConv.td - Calling Conventions BPF --------*- tablegen -*-===//
9 // This describes the calling conventions for the BPF architecture.
13 // BPF 64-bit C return-value convention.
16 // BPF 64-bit C Calling convention.
H A DBPFMIChecking.cpp104 &BPFMCRegisterClasses[BPF::GPRRegClassID]; in hasLiveDefs()
157 if (MI.getOpcode() != BPF::XADDW && MI.getOpcode() != BPF::XADDD) in processAtomicInsts()
H A DBPFPassRegistry.def1 //===- BPFPassRegistry.def - Registry of BPF passes -------------*- C++ -*-===//
10 // BPF backend.
H A DBPFInstrFormats.td1 //===-- BPFInstrFormats.td - BPF Instruction Formats -------*- tablegen -*-===//
117 let Namespace = "BPF";
118 let DecoderNamespace = "BPF";
H A DBTFDebug.cpp1455 if (MI->getOpcode() == BPF::LD_imm64) { in beginInstruction()
1471 } else if (MI->getOpcode() == BPF::CORE_LD64 || in beginInstruction()
1472 MI->getOpcode() == BPF::CORE_LD32 || in beginInstruction()
1473 MI->getOpcode() == BPF::CORE_ST || in beginInstruction()
1474 MI->getOpcode() == BPF::CORE_SHIFT) { in beginInstruction()
1477 } else if (MI->getOpcode() == BPF::JAL) { in beginInstruction()
1645 if (MI->getOpcode() == BPF::LD_imm64) { in InstLower()
1659 OutMI.setOpcode(BPF::LD_imm64); in InstLower()
1661 OutMI.setOpcode(BPF::MOV_ri); in InstLower()
1667 } else if (MI->getOpcode() == BPF::CORE_LD64 || in InstLower()
[all …]
/freebsd/contrib/llvm-project/clang/lib/Sema/
H A DSemaBPF.cpp113 assert((BuiltinID == BPF::BI__builtin_preserve_field_info || in CheckBPFBuiltinFunctionCall()
114 BuiltinID == BPF::BI__builtin_btf_type_id || in CheckBPFBuiltinFunctionCall()
115 BuiltinID == BPF::BI__builtin_preserve_type_info || in CheckBPFBuiltinFunctionCall()
116 BuiltinID == BPF::BI__builtin_preserve_enum_value) && in CheckBPFBuiltinFunctionCall()
127 if (BuiltinID == BPF::BI__builtin_preserve_field_info) in CheckBPFBuiltinFunctionCall()
129 else if (BuiltinID == BPF::BI__builtin_btf_type_id) in CheckBPFBuiltinFunctionCall()
131 else if (BuiltinID == BPF::BI__builtin_preserve_type_info) in CheckBPFBuiltinFunctionCall()
143 if (BuiltinID == BPF::BI__builtin_preserve_field_info) { in CheckBPFBuiltinFunctionCall()
148 } else if (BuiltinID == BPF::BI__builtin_preserve_type_info) { in CheckBPFBuiltinFunctionCall()
153 } else if (BuiltinID == BPF::BI__builtin_preserve_enum_value) { in CheckBPFBuiltinFunctionCall()
[all …]
/freebsd/contrib/libpcap/doc/
H A DREADME.macos1 As with other systems using BPF, macOS allows users with read access to
2 the BPF devices to capture packets with libpcap and allows users with
3 write access to the BPF devices to send packets with libpcap.
5 On some systems that use BPF, the BPF devices live on the root file
10 On newer versions of FreeBSD, the BPF devices live on devfs, and devfs
15 On macOS, the BPF devices live on devfs, but the macOS version of devfs
26 Both of them will change the ownership of the BPF devices so that the
27 "admin" group owns them, and will change the permission of the BPF
61 If you want to give a particular user permission to access the BPF
65 give a particular user permission to read and write the BPF devices and
[all …]
H A DREADME.aix23 Using BPF:
25 (1) AIX 4.x's version of BPF is undocumented and somewhat unstandard; the
26 current BPF support code includes changes that should work around
30 Note that the BPF driver and the "/dev/bpf" devices might not exist
34 system and choose BPF even if the devices aren't there.
37 doing the initial loading of the BPF driver if copied to AIX 5 and
42 BPF, or if the workarounds fail to make it work correctly, you
58 make libpcap use DLPI instead of BPF.
/freebsd/contrib/llvm-project/llvm/lib/Target/BPF/MCTargetDesc/
H A DBPFMCCodeEmitter.cpp94 if (MI.getOpcode() != BPF::LD_imm64 && High32Bits != 0 && in getMachineOpValue()
108 if (MI.getOpcode() == BPF::JAL) in getMachineOpValue()
111 else if (MI.getOpcode() == BPF::LD_imm64) in getMachineOpValue()
113 else if (MI.getOpcode() == BPF::JMPL) in getMachineOpValue()
114 addFixup(Fixups, 0, Expr, BPF::FK_BPF_PCRel_4, true); in getMachineOpValue()
136 if (Opcode == BPF::LD_imm64 || Opcode == BPF::LD_pseudo) { in encodeInstruction()
172 if (Opcode == BPF::CMPXCHGW32 || Opcode == BPF::CMPXCHGD) in getMemoryOpValue()
H A DBPFMCTargetDesc.cpp45 InitBPFMCRegisterInfo(X, BPF::R11 /* RAReg doesn't exist */); in createBPFMCRegisterInfo()
85 if (Inst.getOpcode() == BPF::JCOND) in evaluateBranch()
90 if (Inst.getOpcode() == BPF::JMP) in evaluateBranch()
H A DBPFAsmBackend.cpp45 const static MCFixupKindInfo Infos[BPF::NumTargetFixupKinds] = { in getFixupKindInfo()
52 assert(unsigned(Kind - FirstTargetFixupKind) < BPF::NumTargetFixupKinds && in getFixupKindInfo()
93 } else if (Fixup.getKind() == BPF::FK_BPF_PCRel_4) { in applyFixup()
/freebsd/contrib/libpcap/
H A DREADME.md32 ### Support for particular platforms and BPF
39 architecture in the BSD packet filter. BPF is described in the 1993
47 libpcap utilizes in-kernel filtering only for the BPF interface.
48 On systems that don't have BPF, all packets are read into user-space
49 and the BPF filters are evaluated in the libpcap library, incurring
51 would translate BPF filters into a filter program that is compatible
54 BPF is standard in 4.4BSD, BSD/OS, NetBSD, FreeBSD, OpenBSD, DragonFly
57 packetfilter interface but has been extended to accept BPF filters
60 Linux has a number of BPF based systems, and libpcap does not support
/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DIntrinsicsBPF.td1 //===- IntrinsicsBPF.td - Defines BPF intrinsics -----------*- tablegen -*-===//
9 // This file defines all of the BPF-specific intrinsics.
/freebsd/contrib/libpcap/ChmodBPF/
H A DStartupParameters.plist2 Description = "Change BPF permissions";
/freebsd/tools/build/options/
H A DWITH_LLVM_TARGET_BPF1 Build LLVM target support for BPF.
/freebsd/lib/clang/libllvm/
H A DMakefile38 .for arch in AArch64 ARM BPF Mips PowerPC RISCV X86
1513 SRCS_MIN+= Target/BPF/AsmParser/BPFAsmParser.cpp
1514 SRCS_MIN+= Target/BPF/BPFASpaceCastSimplifyPass.cpp
1515 SRCS_MIN+= Target/BPF/BPFAbstractMemberAccess.cpp
1516 SRCS_MIN+= Target/BPF/BPFAdjustOpt.cpp
1517 SRCS_MIN+= Target/BPF/BPFAsmPrinter.cpp
1518 SRCS_MIN+= Target/BPF/BPFCheckAndAdjustIR.cpp
1519 SRCS_MIN+= Target/BPF/BPFFrameLowering.cpp
1520 SRCS_MIN+= Target/BPF/BPFIRPeephole.cpp
1521 SRCS_MIN+= Target/BPF/BPFISelDAGToDAG.cpp
[all …]

123