unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* RFC [PATCH v4 0/2] <sys/tagged-address.h>: An API for tagged address
@ 2021-04-20  2:18 H.J. Lu via Libc-alpha
  2021-04-20  2:18 ` [PATCH v4 1/2] " H.J. Lu via Libc-alpha
  2021-04-20  2:18 ` [PATCH v4 2/2] <sys/tagged-address.h>: Update libc.abilist files H.J. Lu via Libc-alpha
  0 siblings, 2 replies; 6+ messages in thread
From: H.J. Lu via Libc-alpha @ 2021-04-20  2:18 UTC (permalink / raw)
  To: libc-alpha
  Cc: Florian Weimer, Szabolcs Nagy, Kirill A . Shutemov, Joseph Myers,
	Vedvyas Shanbhogue

Changes in v4:

1. Document that the zero return value from get_tagged_address_bits
indicates that tag bits are not the highest bits in address.
2. Document that the zero value of TAGGED_ADDRESS_MASK indicates the
invalid address mask.
3. Add <bits/tagged-address-mask.h> to provide TAGGED_ADDRESS_MASK.
4. Add C++ support to TAGGED_ADDRESS_MASK.

Changes in v3:

1. set_tagged_address_mask can be only called once before main.
2. Add more tests.

---
By default, the number of the address bits used in address translation
is the number of address bits.  But it can be changed by ARM Top-byte
Ignore (TBI) or Intel Linear Address Masking (LAM).

<sys/tagged-address.h> provides an API for tagged address manipulation.



H.J. Lu (2):
  <sys/tagged-address.h>: An API for tagged address
  <sys/tagged-address.h>: Update libc.abilist files

 NEWS                                          |  2 +
 bits/tagged-address-mask.h                    | 47 +++++++++++++++
 bits/tagged-address.h                         | 28 +++++++++
 csu/libc-start.c                              |  3 +
 elf/dl-support.c                              |  5 ++
 include/sys/tagged-address.h                  |  9 +++
 manual/Makefile                               |  3 +-
 manual/ctype.texi                             |  2 +-
 manual/memory.texi                            |  2 +-
 manual/tagged-address.texi                    | 59 +++++++++++++++++++
 misc/Makefile                                 | 34 +++++++++--
 misc/Versions                                 |  7 +++
 misc/set-tagged-address-mask.c                | 41 +++++++++++++
 misc/sys/tagged-address.h                     | 45 ++++++++++++++
 misc/tagged-address.c                         | 55 +++++++++++++++++
 misc/tst-tagged-address-1-static.c            |  1 +
 misc/tst-tagged-address-1.c                   | 53 +++++++++++++++++
 misc/tst-tagged-address-2-static.c            |  1 +
 misc/tst-tagged-address-2.c                   | 44 ++++++++++++++
 misc/tst-tagged-address-3-static.c            |  1 +
 misc/tst-tagged-address-3.c                   | 48 +++++++++++++++
 misc/tst-tagged-address-4-static.c            |  1 +
 misc/tst-tagged-address-4.c                   | 35 +++++++++++
 misc/tst-tagged-address-5.c                   | 25 ++++++++
 misc/tst-tagged-address-6.c                   | 34 +++++++++++
 misc/tst-tagged-address-7.c                   | 40 +++++++++++++
 misc/tst-tagged-address-mod-5.c               | 45 ++++++++++++++
 misc/tst-tagged-address-mod-6.c               | 34 +++++++++++
 misc/tst-tagged-address-mod-7.c               | 34 +++++++++++
 sysdeps/generic/inline-tagged-address.h       | 43 ++++++++++++++
 sysdeps/generic/ldsodefs.h                    |  4 ++
 sysdeps/mach/hurd/i386/libc.abilist           |  5 ++
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  5 ++
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  5 ++
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  5 ++
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  5 ++
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  5 ++
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  5 ++
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  5 ++
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  5 ++
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  5 ++
 .../sysv/linux/m68k/coldfire/libc.abilist     |  5 ++
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  5 ++
 .../sysv/linux/microblaze/be/libc.abilist     |  5 ++
 .../sysv/linux/microblaze/le/libc.abilist     |  5 ++
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  5 ++
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  5 ++
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  5 ++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  5 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  5 ++
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  5 ++
 .../powerpc/powerpc32/nofpu/libc.abilist      |  5 ++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  5 ++
 .../linux/powerpc/powerpc64/le/libc.abilist   |  5 ++
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  5 ++
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  5 ++
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  5 ++
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  5 ++
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  5 ++
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  5 ++
 .../sysv/linux/sparc/sparc32/libc.abilist     |  5 ++
 .../sysv/linux/sparc/sparc64/libc.abilist     |  5 ++
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  5 ++
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  5 ++
 64 files changed, 942 insertions(+), 8 deletions(-)
 create mode 100644 bits/tagged-address-mask.h
 create mode 100644 bits/tagged-address.h
 create mode 100644 include/sys/tagged-address.h
 create mode 100644 manual/tagged-address.texi
 create mode 100644 misc/set-tagged-address-mask.c
 create mode 100644 misc/sys/tagged-address.h
 create mode 100644 misc/tagged-address.c
 create mode 100644 misc/tst-tagged-address-1-static.c
 create mode 100644 misc/tst-tagged-address-1.c
 create mode 100644 misc/tst-tagged-address-2-static.c
 create mode 100644 misc/tst-tagged-address-2.c
 create mode 100644 misc/tst-tagged-address-3-static.c
 create mode 100644 misc/tst-tagged-address-3.c
 create mode 100644 misc/tst-tagged-address-4-static.c
 create mode 100644 misc/tst-tagged-address-4.c
 create mode 100644 misc/tst-tagged-address-5.c
 create mode 100644 misc/tst-tagged-address-6.c
 create mode 100644 misc/tst-tagged-address-7.c
 create mode 100644 misc/tst-tagged-address-mod-5.c
 create mode 100644 misc/tst-tagged-address-mod-6.c
 create mode 100644 misc/tst-tagged-address-mod-7.c
 create mode 100644 sysdeps/generic/inline-tagged-address.h

-- 
2.30.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-04-22  9:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-20  2:18 RFC [PATCH v4 0/2] <sys/tagged-address.h>: An API for tagged address H.J. Lu via Libc-alpha
2021-04-20  2:18 ` [PATCH v4 1/2] " H.J. Lu via Libc-alpha
2021-04-21  6:36   ` Florian Weimer via Libc-alpha
2021-04-21 23:21     ` H.J. Lu via Libc-alpha
2021-04-22  9:43       ` Szabolcs Nagy via Libc-alpha
2021-04-20  2:18 ` [PATCH v4 2/2] <sys/tagged-address.h>: Update libc.abilist files H.J. Lu via Libc-alpha

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).