Message ID | 20230310233814.4641-1-dthaler1968@googlemail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | b9fe8e8d03d0df28b2431e3aaf8e115cf7bf2f65 |
Delegated to: | BPF |
Headers | show |
Series | [bpf-next] bpf, docs: Add signed comparison example | expand |
On Fri, Mar 10, 2023 at 11:38:14PM +0000, Dave Thaler wrote: > From: Dave Thaler <dthaler@microsoft.com> > > Improve clarity by adding an example of a signed comparison instruction > > Signed-off-by: Dave Thaler <dthaler@microsoft.com> Acked-by: David Vernet <void@manifault.com> > --- > Documentation/bpf/instruction-set.rst | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/Documentation/bpf/instruction-set.rst b/Documentation/bpf/instruction-set.rst > index 5e43e14abe8..b4464058905 100644 > --- a/Documentation/bpf/instruction-set.rst > +++ b/Documentation/bpf/instruction-set.rst > @@ -11,7 +11,8 @@ Documentation conventions > ========================= > > For brevity, this document uses the type notion "u64", "u32", etc. > -to mean an unsigned integer whose width is the specified number of bits. > +to mean an unsigned integer whose width is the specified number of bits, > +and "s32", etc. to mean a signed integer of the specified number of bits. > > Registers and calling convention > ================================ > @@ -264,6 +265,14 @@ BPF_JSLE 0xd0 PC += off if dst <= src signed > The eBPF program needs to store the return value into register R0 before doing a > BPF_EXIT. > > +Example: > + > +``BPF_JSGE | BPF_X | BPF_JMP32`` (0x7e) means:: > + > + if (s32)dst s>= (s32)src goto +offset > + > +where 's>=' indicates a signed '>=' comparison. > + > Helper functions > ~~~~~~~~~~~~~~~~ > > -- > 2.33.4 > > -- > Bpf mailing list > Bpf@ietf.org > https://www.ietf.org/mailman/listinfo/bpf
Dave Thaler wrote: > From: Dave Thaler <dthaler@microsoft.com> > > Improve clarity by adding an example of a signed comparison instruction > > Signed-off-by: Dave Thaler <dthaler@microsoft.com> > --- > Documentation/bpf/instruction-set.rst | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/Documentation/bpf/instruction-set.rst b/Documentation/bpf/instruction-set.rst > index 5e43e14abe8..b4464058905 100644 > --- a/Documentation/bpf/instruction-set.rst > +++ b/Documentation/bpf/instruction-set.rst > @@ -11,7 +11,8 @@ Documentation conventions > ========================= > > For brevity, this document uses the type notion "u64", "u32", etc. > -to mean an unsigned integer whose width is the specified number of bits. > +to mean an unsigned integer whose width is the specified number of bits, > +and "s32", etc. to mean a signed integer of the specified number of bits. > > Registers and calling convention > ================================ > @@ -264,6 +265,14 @@ BPF_JSLE 0xd0 PC += off if dst <= src signed > The eBPF program needs to store the return value into register R0 before doing a > BPF_EXIT. > > +Example: > + > +``BPF_JSGE | BPF_X | BPF_JMP32`` (0x7e) means:: > + > + if (s32)dst s>= (s32)src goto +offset > + > +where 's>=' indicates a signed '>=' comparison. > + > Helper functions > ~~~~~~~~~~~~~~~~ > Acked-by: John Fastabend <john.fastabend@gmail.com>
Hello: This patch was applied to bpf/bpf-next.git (master) by Alexei Starovoitov <ast@kernel.org>: On Fri, 10 Mar 2023 23:38:14 +0000 you wrote: > From: Dave Thaler <dthaler@microsoft.com> > > Improve clarity by adding an example of a signed comparison instruction > > Signed-off-by: Dave Thaler <dthaler@microsoft.com> > --- > Documentation/bpf/instruction-set.rst | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) Here is the summary with links: - [bpf-next] bpf, docs: Add signed comparison example https://git.kernel.org/bpf/bpf-next/c/b9fe8e8d03d0 You are awesome, thank you!
diff --git a/Documentation/bpf/instruction-set.rst b/Documentation/bpf/instruction-set.rst index 5e43e14abe8..b4464058905 100644 --- a/Documentation/bpf/instruction-set.rst +++ b/Documentation/bpf/instruction-set.rst @@ -11,7 +11,8 @@ Documentation conventions ========================= For brevity, this document uses the type notion "u64", "u32", etc. -to mean an unsigned integer whose width is the specified number of bits. +to mean an unsigned integer whose width is the specified number of bits, +and "s32", etc. to mean a signed integer of the specified number of bits. Registers and calling convention ================================ @@ -264,6 +265,14 @@ BPF_JSLE 0xd0 PC += off if dst <= src signed The eBPF program needs to store the return value into register R0 before doing a BPF_EXIT. +Example: + +``BPF_JSGE | BPF_X | BPF_JMP32`` (0x7e) means:: + + if (s32)dst s>= (s32)src goto +offset + +where 's>=' indicates a signed '>=' comparison. + Helper functions ~~~~~~~~~~~~~~~~