Date: Mon, 3 Nov 2014 19:25:58 +0000 (UTC) From: Juergen Lock <nox@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r372121 - in head/emulators/qemu-devel: . files Message-ID: <201411031925.sA3JPwY1071088@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nox Date: Mon Nov 3 19:25:57 2014 New Revision: 372121 URL: https://svnweb.freebsd.org/changeset/ports/372121 QAT: https://qat.redports.org/buildarchive/r372121/ Log: - bsd-user: deal with new sem_wait2 and sem_wake2 syscalls in head. - Bump PORTREVISION. Submitted by: sbruno Obtained from: https://github.com/seanbruno/qemu-bsd-user/commit/2478a4e4a33d0523cc436eabb4a27b258b4358b8 Added: head/emulators/qemu-devel/files/extra-patch-2478a4e4a33d0523cc436eabb4a27b258b4358b8 (contents, props changed) head/emulators/qemu-devel/files/extra-patch-2478a4e4a33d0523cc436eabb4a27b258b4358b8-before11 (contents, props changed) Modified: head/emulators/qemu-devel/Makefile Modified: head/emulators/qemu-devel/Makefile ============================================================================== --- head/emulators/qemu-devel/Makefile Mon Nov 3 18:24:38 2014 (r372120) +++ head/emulators/qemu-devel/Makefile Mon Nov 3 19:25:57 2014 (r372121) @@ -3,7 +3,7 @@ PORTNAME= qemu PORTVERSION= 2.0.2 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= emulators MASTER_SITES= http://wiki.qemu.org/download/:release \ LOCAL/nox:snapshot @@ -80,6 +80,8 @@ EXTRA_PATCHES+= ${FILESDIR}/extra-patch- EXTRA_PATCHES+= ${FILESDIR}/extra-patch-sysctl-hw-physmem EXTRA_PATCHES+= ${FILESDIR}/extra-patch-max-arg-pages EXTRA_PATCHES+= ${FILESDIR}/extra-patch-ad92220df37d1ab3120316fcc436071c78817561 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-2478a4e4a33d0523cc436eabb4a27b258b4358b8 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-2478a4e4a33d0523cc436eabb4a27b258b4358b8-before11 .endif CONFIGURE_ARGS+= --extra-ldflags=-L${LOCALBASE}/lib Added: head/emulators/qemu-devel/files/extra-patch-2478a4e4a33d0523cc436eabb4a27b258b4358b8 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/qemu-devel/files/extra-patch-2478a4e4a33d0523cc436eabb4a27b258b4358b8 Mon Nov 3 19:25:57 2014 (r372121) @@ -0,0 +1,80 @@ +From 2478a4e4a33d0523cc436eabb4a27b258b4358b8 Mon Sep 17 00:00:00 2001 +From: Sean Bruno <sbruno@freebsd.org> +Date: Sun, 2 Nov 2014 15:05:40 -0800 +Subject: [PATCH] Deal with new sem_wait2 and sem_wake2 syscalls in head. + +--- + bsd-user/freebsd/os-thread.c | 19 +++++++++++++++++++ + bsd-user/freebsd/os-thread.h | 6 ++++++ + bsd-user/syscall_defs.h | 4 +++- + 3 files changed, 28 insertions(+), 1 deletion(-) + +diff --git a/bsd-user/freebsd/os-thread.c b/bsd-user/freebsd/os-thread.c +index 91a42ac..cca46cf 100644 +--- a/bsd-user/freebsd/os-thread.c ++++ b/bsd-user/freebsd/os-thread.c +@@ -225,6 +225,25 @@ abi_long freebsd_umtx_mutex_wake2(abi_ulong target_addr, + } + #endif /* UMTX_OP_MUTEX_WAKE2 */ + ++#if defined(__FreeBSD_version) && __FreeBSD_version > 1100000 ++abi_long freebsd_umtx_sem_wait(abi_ulong obj, struct timespec *timeout) ++{ ++ ++ /* XXX Assumes struct _usem is opauque to the user */ ++ if (!access_ok(VERIFY_WRITE, obj, sizeof(struct target__usem))) { ++ return -TARGET_EFAULT; ++ } ++ return get_errno(_umtx_op(g2h(obj), UMTX_OP_SEM2_WAIT, 0, NULL, timeout)); ++} ++ ++abi_long freebsd_umtx_sem_wake(abi_ulong obj, uint32_t val) ++{ ++ ++ return get_errno(_umtx_op(g2h(obj), UMTX_OP_SEM2_WAKE, val, NULL, NULL)); ++} ++#endif ++ ++#else + abi_long freebsd_umtx_sem_wait(abi_ulong obj, struct timespec *timeout) + { + +diff --git a/bsd-user/freebsd/os-thread.h b/bsd-user/freebsd/os-thread.h +index 28f737f..8157e85 100644 +--- a/bsd-user/freebsd/os-thread.h ++++ b/bsd-user/freebsd/os-thread.h +@@ -486,6 +486,9 @@ static inline abi_long do_freebsd__umtx_op(abi_ulong obj, int op, abi_ulong val, + break; + #endif /* UMTX_OP_NWAKE_PRIVATE */ + ++#if defined(__FreeBSD_version) && __FreeBSD_version > 1100000 ++ case TARGET_UMTX_OP_SEM2_WAIT: ++#endif + case TARGET_UMTX_OP_SEM_WAIT: + if (target_ts != 0) { + if (t2h_freebsd_timespec(&ts, target_ts)) { +@@ -497,6 +500,9 @@ static inline abi_long do_freebsd__umtx_op(abi_ulong obj, int op, abi_ulong val, + } + break; + ++#if defined(__FreeBSD_version) && __FreeBSD_version > 1100000 ++ case TARGET_UMTX_OP_SEM2_WAKE: ++#endif + case TARGET_UMTX_OP_SEM_WAKE: + /* Don't need to do access_ok(). */ + ret = freebsd_umtx_sem_wake(obj, val); +diff --git a/bsd-user/syscall_defs.h b/bsd-user/syscall_defs.h +index 13678d4..d02476c 100644 +--- a/bsd-user/syscall_defs.h ++++ b/bsd-user/syscall_defs.h +@@ -633,7 +633,9 @@ typedef struct { + #define TARGET_UMTX_OP_SEM_WAKE 20 + #define TARGET_UMTX_OP_NWAKE_PRIVATE 21 + #define TARGET_UMTX_OP_MUTEX_WAKE2 22 +-#define TARGET_UMTX_OP_MAX 23 ++#define TARGET_UMTX_OP_SEM2_WAIT 23 ++#define TARGET_UMTX_OP_SEM2_WAKE 24 ++#define TARGET_UMTX_OP_MAX 25 + + /* flags for UMTX_OP_CV_WAIT */ + #define TARGET_CVWAIT_CHECK_UNPARKING 0x01 Added: head/emulators/qemu-devel/files/extra-patch-2478a4e4a33d0523cc436eabb4a27b258b4358b8-before11 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/emulators/qemu-devel/files/extra-patch-2478a4e4a33d0523cc436eabb4a27b258b4358b8-before11 Mon Nov 3 19:25:57 2014 (r372121) @@ -0,0 +1,19 @@ +--- a/bsd-user/freebsd/os-thread.c ++++ b/bsd-user/freebsd/os-thread.c +@@ -241,8 +241,6 @@ abi_long freebsd_umtx_sem_wake(abi_ulong + + return get_errno(_umtx_op(g2h(obj), UMTX_OP_SEM2_WAKE, val, NULL, NULL)); + } +-#endif +- + #else + abi_long freebsd_umtx_sem_wait(abi_ulong obj, struct timespec *timeout) + { +@@ -260,6 +258,7 @@ abi_long freebsd_umtx_sem_wake(abi_ulong + return get_errno(_umtx_op(g2h(obj), UMTX_OP_SEM_WAKE, val, NULL, NULL)); + } + #endif ++#endif + + abi_long t2h_freebsd_rtprio(struct rtprio *host_rtp, abi_ulong target_addr) + {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201411031925.sA3JPwY1071088>