On Tue, Jul 11, 2023 at 7:04 AM Jose E. Marchesi <jemarch@xxxxxxx> wrote: > > > > On Mon, Jul 10, 2023 at 2:58 PM Will Hawkins <hawkinsw@xxxxxx> wrote: > >> > >> In the documentation of the eBPF ISA it is unspecified how integers are > >> represented. Specify that twos complement is used. > >> > >> Signed-off-by: Will Hawkins <hawkinsw@xxxxxx> > >> --- > >> Documentation/bpf/instruction-set.rst | 5 +++++ > >> 1 file changed, 5 insertions(+) > >> > >> diff --git a/Documentation/bpf/instruction-set.rst b/Documentation/bpf/instruction-set.rst > >> index 751e657973f0..63dfcba5eb9a 100644 > >> --- a/Documentation/bpf/instruction-set.rst > >> +++ b/Documentation/bpf/instruction-set.rst > >> @@ -173,6 +173,11 @@ BPF_ARSH 0xc0 sign extending dst >>= (src & mask) > >> BPF_END 0xd0 byte swap operations (see `Byte swap instructions`_ below) > >> ======== ===== ========================================================== > >> > >> +eBPF supports 32- and 64-bit signed and unsigned integers. It does > >> +not support floating-point data types. All signed integers are represented in > >> +twos-complement format where the sign bit is stored in the most-significant > >> +bit. > > > > Could you point to another ISA document (like x86, arm, ...) that > > talks about signed and unsigned integers? > > AFAIK the only signedness encoding aspect that is always found in ISA > specifications and should be specified is how numerical immediates are > encoded in stored instructions. > > But that has nothing to do with "data types". +1 :)