OSDN Git Service

powerpc/bpf: Change values of SEEN_ flags
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Mon, 22 Mar 2021 16:37:50 +0000 (16:37 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Sat, 3 Apr 2021 10:22:20 +0000 (21:22 +1100)
Because PPC32 will use more non volatile registers,
move SEEN_ flags to positions 0-2 which corresponds to special
registers.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/608faa1dc3ecfead649e15392abd07b00313d2ba.1616430991.git.christophe.leroy@csgroup.eu
arch/powerpc/net/bpf_jit.h

index b34abfc..fb46569 100644 (file)
@@ -108,18 +108,18 @@ static inline bool is_nearbranch(int offset)
 #define COND_LT                (CR0_LT | COND_CMP_TRUE)
 #define COND_LE                (CR0_GT | COND_CMP_FALSE)
 
-#define SEEN_FUNC      0x1000 /* might call external helpers */
-#define SEEN_STACK     0x2000 /* uses BPF stack */
-#define SEEN_TAILCALL  0x4000 /* uses tail calls */
+#define SEEN_FUNC      0x20000000 /* might call external helpers */
+#define SEEN_STACK     0x40000000 /* uses BPF stack */
+#define SEEN_TAILCALL  0x80000000 /* uses tail calls */
 
 struct codegen_context {
        /*
         * This is used to track register usage as well
         * as calls to external helpers.
         * - register usage is tracked with corresponding
-        *   bits (r3-r10 and r27-r31)
+        *   bits (r3-r31)
         * - rest of the bits can be used to track other
-        *   things -- for now, we use bits 16 to 23
+        *   things -- for now, we use bits 0 to 2
         *   encoded in SEEN_* macros above
         */
        unsigned int seen;