From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 41927 invoked by alias); 24 Aug 2018 13:12:50 -0000 Mailing-List: contact newlib-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: newlib-cvs-owner@sourceware.org Received: (qmail 40307 invoked by uid 10080); 24 Aug 2018 13:12:49 -0000 Date: Fri, 24 Aug 2018 13:12:00 -0000 Message-ID: <20180824131249.40296.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Sebastian Huber To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] RTEMS: Add kvaddr_t and ksize_t X-Act-Checkin: newlib-cygwin X-Git-Author: Sebastian Huber X-Git-Refname: refs/heads/master X-Git-Oldrev: d35971f392150e1af58c105cd01313d2c619b520 X-Git-Newrev: d13c84eb07e35984bf7a974cd786a6cdac29e6b9 X-SW-Source: 2018-q3/txt/msg00099.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=d13c84eb07e35984bf7a974cd786a6cdac29e6b9 commit d13c84eb07e35984bf7a974cd786a6cdac29e6b9 Author: Sebastian Huber Date: Thu Aug 23 11:50:46 2018 +0200 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 Diff: --- newlib/libc/sys/rtems/include/machine/types.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/newlib/libc/sys/rtems/include/machine/types.h b/newlib/libc/sys/rtems/include/machine/types.h index 11ca37f..ab52e47 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;