Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-23 12:50:46 +0300
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-24 16:07:29 +0300
commitd13c84eb07e35984bf7a974cd786a6cdac29e6b9 (patch)
tree2c65b31675a286f20a7da631927bf0c1bf3c172b /newlib/libc/sys/rtems
parentd35971f392150e1af58c105cd01313d2c619b520 (diff)
RTEMS: Add kvaddr_t and ksize_t
These types were introduced by FreeBSD commit: "Make struct xinpcb and friends word-size independent. Replace size_t members with ksize_t (uint64_t) and pointer members (never used as pointers in userspace, but instead as unique idenitifiers) with kvaddr_t (uint64_t). This makes the structs identical between 32-bit and 64-bit ABIs. On 64-bit bit systems, the ABI is maintained. On 32-bit systems, this is an ABI breaking change. The ABI of most of these structs was previously broken in r315662. This also imposes a small API change on userspace consumers who must handle kernel pointers becoming virtual addresses. PR: 228301 (exp-run by antoine) Reviewed by: jtl, kib, rwatson (various versions) Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D15386" In RTEMS, there is no user/kernel space separation. So, use the types size_t and uintptr_t. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Diffstat (limited to 'newlib/libc/sys/rtems')
-rw-r--r--newlib/libc/sys/rtems/include/machine/types.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/newlib/libc/sys/rtems/include/machine/types.h b/newlib/libc/sys/rtems/include/machine/types.h
index 11ca37f26..ab52e47ed 100644
--- a/newlib/libc/sys/rtems/include/machine/types.h
+++ b/newlib/libc/sys/rtems/include/machine/types.h
@@ -71,6 +71,9 @@ typedef __uintptr_t segsz_t; /* segment size (in pages) */
typedef __uintptr_t uintfptr_t;
+typedef __uintptr_t kvaddr_t;
+typedef size_t ksize_t;
+
typedef __intptr_t vm_ooffset_t;
typedef __uintptr_t vm_offset_t;
typedef __uintptr_t vm_paddr_t;