Index: emulators/qemu-devel/Makefile =================================================================== --- emulators/qemu-devel/Makefile (revision 374226) +++ emulators/qemu-devel/Makefile (working copy) @@ -3,7 +3,7 @@ PORTNAME= qemu PORTVERSION= 2.0.2 -PORTREVISION= 10 +PORTREVISION= 11 CATEGORIES= emulators MASTER_SITES= http://wiki.qemu.org/download/:release \ LOCAL/nox:snapshot @@ -106,6 +106,11 @@ EXTRA_PATCHES+= ${FILESDIR}/extra-patch-a72c668c8a EXTRA_PATCHES+= ${FILESDIR}/extra-patch-d5c3fb7b75b4ea80e09bf3cb7ff6dd1061968d6e EXTRA_PATCHES+= ${FILESDIR}/extra-patch-f4319eb1a3a8393930570f061bdac6abe007b2bb EXTRA_PATCHES+= ${FILESDIR}/extra-patch-f254372f13ab5cd8f25bd1ca8641ce6d67bff3fe +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-e41ec268589bd572b170b4f360928265f8472b2c +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-fc128b9c49bb87d22772a74829c802117c3ef94f +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-bsd-user-bsd-ioctl.c +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-b43b3fe91c85201399f8b2248da267337342a869 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-b8cf8682d4542d08864c4af069b235a151a10300 .endif CONFIGURE_ARGS+= --localstatedir=/var Index: emulators/qemu-devel/files/extra-patch-b43b3fe91c85201399f8b2248da267337342a869 =================================================================== --- emulators/qemu-devel/files/extra-patch-b43b3fe91c85201399f8b2248da267337342a869 (revision 0) +++ emulators/qemu-devel/files/extra-patch-b43b3fe91c85201399f8b2248da267337342a869 (working copy) @@ -0,0 +1,81 @@ +From b43b3fe91c85201399f8b2248da267337342a869 Mon Sep 17 00:00:00 2001 +From: Stacey Son +Date: Fri, 5 Dec 2014 22:39:23 +0000 +Subject: [PATCH] Add support for the + cpuset_getaffinity(2)/cpuset_setaffinity(2) syscalls. + +--- + bsd-user/freebsd/os-misc.h | 34 ++++++++++++++++++++++++---------- + bsd-user/syscall.c | 4 ++-- + 2 files changed, 26 insertions(+), 12 deletions(-) + +diff --git a/bsd-user/freebsd/os-misc.h b/bsd-user/freebsd/os-misc.h +index 7aa9b51..5b02792 100644 +--- a/bsd-user/freebsd/os-misc.h ++++ b/bsd-user/freebsd/os-misc.h +@@ -159,23 +159,37 @@ static inline abi_long do_freebsd_cpuset_getid(abi_long arg1, abi_ulong arg2, + } + + /* cpuset_getaffinity(2) */ +-static inline abi_long do_freebsd_cpuset_getaffinity(abi_long arg1, +- abi_ulong arg2, abi_ulong arg3, abi_ulong arg4, abi_ulong arg5, +- abi_ulong arg6) ++static inline abi_long do_freebsd_cpuset_getaffinity(cpulevel_t level, ++ cpuwhich_t which, id_t id, abi_ulong setsize, abi_ulong target_mask) + { ++ cpuset_t *mask; ++ abi_long ret; + +- qemu_log("qemu: Unsupported syscall cpuset_getaffinity()\n"); +- return -TARGET_ENOSYS; ++ mask = lock_user(VERIFY_WRITE, target_mask, setsize, 0); ++ if (mask == NULL) { ++ return -TARGET_EFAULT; ++ } ++ ret = get_errno(cpuset_getaffinity(level, which, id, setsize, mask)); ++ unlock_user(mask, setsize, ret); ++ ++ return ret; + } + + /* cpuset_setaffinity(2) */ +-static inline abi_long do_freebsd_cpuset_setaffinity(abi_long arg1, +- abi_ulong arg2, abi_ulong arg3, abi_ulong arg4, abi_ulong arg5, +- abi_ulong arg6) ++static inline abi_long do_freebsd_cpuset_setaffinity(cpulevel_t level, ++ cpuwhich_t which, id_t id, abi_ulong setsize, abi_ulong target_mask) + { ++ cpuset_t *mask; ++ abi_long ret; + +- qemu_log("qemu: Unsupported syscall cpuset_setaffinity()\n"); +- return -TARGET_ENOSYS; ++ mask = lock_user(VERIFY_READ, target_mask, setsize, 1); ++ if (mask == NULL) { ++ return -TARGET_EFAULT; ++ } ++ ret = get_errno(cpuset_setaffinity(level, which, id, setsize, mask)); ++ unlock_user(mask, setsize, 0); ++ ++ return ret; + } + + +diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c +index 0a1e294..ac08fa2 100644 +--- a/bsd-user/syscall.c ++++ b/bsd-user/syscall.c +@@ -1466,11 +1466,11 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1, + break; + + case TARGET_FREEBSD_NR_cpuset_getaffinity: /* cpuset_getaffinity(2) */ +- ret = do_freebsd_cpuset_getaffinity(arg1, arg2, arg3, arg4, arg5, arg6); ++ ret = do_freebsd_cpuset_getaffinity(arg1, arg2, arg3, arg4, arg5); + break; + + case TARGET_FREEBSD_NR_cpuset_setaffinity: /* cpuset_setaffinity(2) */ +- ret = do_freebsd_cpuset_setaffinity(arg1, arg2, arg3, arg4, arg5, arg6); ++ ret = do_freebsd_cpuset_setaffinity(arg1, arg2, arg3, arg4, arg5); + break; + + Property changes on: emulators/qemu-devel/files/extra-patch-b43b3fe91c85201399f8b2248da267337342a869 ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: emulators/qemu-devel/files/extra-patch-b8cf8682d4542d08864c4af069b235a151a10300 =================================================================== --- emulators/qemu-devel/files/extra-patch-b8cf8682d4542d08864c4af069b235a151a10300 (revision 0) +++ emulators/qemu-devel/files/extra-patch-b8cf8682d4542d08864c4af069b235a151a10300 (working copy) @@ -0,0 +1,120 @@ +From b8cf8682d4542d08864c4af069b235a151a10300 Mon Sep 17 00:00:00 2001 +From: Stacey Son +Date: Sat, 6 Dec 2014 00:38:32 +0000 +Subject: [PATCH] Bug fix: The cpuset mask should be byte swapped (if needed). + +The cpuset mask should be byte swapped for hosts/targets that are +different endians cpuset_getaffinity(2) and cpuset_setaffinity(2). +--- + bsd-user/freebsd/os-misc.h | 74 ++++++++++++++++++++++++++++++++++++++-------- + 1 file changed, 61 insertions(+), 13 deletions(-) + +diff --git a/bsd-user/freebsd/os-misc.h b/bsd-user/freebsd/os-misc.h +index 5b02792..56fffcd 100644 +--- a/bsd-user/freebsd/os-misc.h ++++ b/bsd-user/freebsd/os-misc.h +@@ -1,7 +1,7 @@ + /* + * miscellaneous FreeBSD system call shims + * +- * Copyright (c) 2013 Stacey D. Son ++ * Copyright (c) 2013-14 Stacey D. Son + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -158,19 +158,69 @@ static inline abi_long do_freebsd_cpuset_getid(abi_long arg1, abi_ulong arg2, + return put_user_s32(setid, target_setid); + } + ++static abi_ulong copy_from_user_cpuset_mask(cpuset_t *mask, ++ abi_ulong target_mask_addr) ++{ ++ int i, j, k; ++ abi_ulong b, *target_mask; ++ ++ target_mask = lock_user(VERIFY_READ, target_mask_addr, ++ (CPU_SETSIZE / 8), 1); ++ if (target_mask == NULL) { ++ return -TARGET_EFAULT; ++ } ++ CPU_ZERO(mask); ++ k = 0; ++ for (i = 0; i < ((CPU_SETSIZE/8)/sizeof(abi_ulong)); i++) { ++ __get_user(b, &target_mask[i]); ++ for (j = 0; j < TARGET_ABI_BITS; j++) { ++ if ((b >> j) & 1) { ++ CPU_SET(k, mask); ++ } ++ k++; ++ } ++ } ++ unlock_user(target_mask, target_mask_addr, 0); ++ ++ return 0; ++} ++ ++static abi_ulong copy_to_user_cpuset_mask(abi_ulong target_mask_addr, ++ cpuset_t *mask) ++{ ++ int i, j, k; ++ abi_ulong b, *target_mask; ++ ++ target_mask = lock_user(VERIFY_WRITE, target_mask_addr, ++ (CPU_SETSIZE / 8), 0); ++ if (target_mask == NULL) { ++ return -TARGET_EFAULT; ++ } ++ k = 0; ++ for (i = 0; i < ((CPU_SETSIZE/8)/sizeof(abi_ulong)); i++) { ++ b = 0; ++ for (j = 0; j < TARGET_ABI_BITS; j++) { ++ b |= ((CPU_ISSET(k, mask) != 0) << j); ++ k++; ++ } ++ __put_user(b, &target_mask[i]); ++ } ++ unlock_user(target_mask, target_mask_addr, (CPU_SETSIZE / 8)); ++ ++ return 0; ++} ++ + /* cpuset_getaffinity(2) */ + static inline abi_long do_freebsd_cpuset_getaffinity(cpulevel_t level, + cpuwhich_t which, id_t id, abi_ulong setsize, abi_ulong target_mask) + { +- cpuset_t *mask; ++ cpuset_t mask; + abi_long ret; + +- mask = lock_user(VERIFY_WRITE, target_mask, setsize, 0); +- if (mask == NULL) { +- return -TARGET_EFAULT; ++ ret = get_errno(cpuset_getaffinity(level, which, id, setsize, &mask)); ++ if (ret == 0) { ++ ret = copy_to_user_cpuset_mask(target_mask, &mask); + } +- ret = get_errno(cpuset_getaffinity(level, which, id, setsize, mask)); +- unlock_user(mask, setsize, ret); + + return ret; + } +@@ -179,15 +229,13 @@ static inline abi_long do_freebsd_cpuset_getaffinity(cpulevel_t level, + static inline abi_long do_freebsd_cpuset_setaffinity(cpulevel_t level, + cpuwhich_t which, id_t id, abi_ulong setsize, abi_ulong target_mask) + { +- cpuset_t *mask; ++ cpuset_t mask; + abi_long ret; + +- mask = lock_user(VERIFY_READ, target_mask, setsize, 1); +- if (mask == NULL) { +- return -TARGET_EFAULT; ++ ret = copy_from_user_cpuset_mask(&mask, target_mask); ++ if (ret == 0) { ++ ret = get_errno(cpuset_setaffinity(level, which, id, setsize, &mask)); + } +- ret = get_errno(cpuset_setaffinity(level, which, id, setsize, mask)); +- unlock_user(mask, setsize, 0); + + return ret; + } Property changes on: emulators/qemu-devel/files/extra-patch-b8cf8682d4542d08864c4af069b235a151a10300 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: emulators/qemu-devel/files/extra-patch-bsd-user-bsd-ioctl.c =================================================================== --- emulators/qemu-devel/files/extra-patch-bsd-user-bsd-ioctl.c (revision 0) +++ emulators/qemu-devel/files/extra-patch-bsd-user-bsd-ioctl.c (working copy) @@ -0,0 +1,10 @@ +--- a/bsd-user/bsd-ioctl.c ++++ b/bsd-user/bsd-ioctl.c +@@ -28,6 +28,7 @@ + #endif + #include + #include ++#include + + #include + Property changes on: emulators/qemu-devel/files/extra-patch-bsd-user-bsd-ioctl.c ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Index: emulators/qemu-devel/files/extra-patch-e41ec268589bd572b170b4f360928265f8472b2c =================================================================== --- emulators/qemu-devel/files/extra-patch-e41ec268589bd572b170b4f360928265f8472b2c (revision 0) +++ emulators/qemu-devel/files/extra-patch-e41ec268589bd572b170b4f360928265f8472b2c (working copy) @@ -0,0 +1,30 @@ +From e41ec268589bd572b170b4f360928265f8472b2c Mon Sep 17 00:00:00 2001 +From: Stacey Son +Date: Thu, 4 Dec 2014 18:58:50 +0000 +Subject: [PATCH] Bug fix: Don't copy out the parent thread id. + +Copying out the parent thread id (tid) just overwrites the child +thread id. So don't do it. +--- + bsd-user/freebsd/os-thread.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/bsd-user/freebsd/os-thread.c b/bsd-user/freebsd/os-thread.c +index efd8bd7..6f8fee3 100644 +--- a/bsd-user/freebsd/os-thread.c ++++ b/bsd-user/freebsd/os-thread.c +@@ -124,12 +124,9 @@ void *new_freebsd_thread_start(void *arg) + cpu->host_tid = tid; + // ts->ts_tid = tid; + +- /* copy out the TID info */ ++ /* copy out the child TID */ + if (info->param.child_tid) { +- put_user(tid, info->param.child_tid, abi_long); +- } +- if (info->param.parent_tid) { +- put_user(info->parent_tid, info->param.parent_tid, abi_long); ++ put_user_ual(tid, info->param.child_tid); + } + + /* Set arch dependent registers to start thread. */ Property changes on: emulators/qemu-devel/files/extra-patch-e41ec268589bd572b170b4f360928265f8472b2c ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: emulators/qemu-devel/files/extra-patch-fc128b9c49bb87d22772a74829c802117c3ef94f =================================================================== --- emulators/qemu-devel/files/extra-patch-fc128b9c49bb87d22772a74829c802117c3ef94f (revision 0) +++ emulators/qemu-devel/files/extra-patch-fc128b9c49bb87d22772a74829c802117c3ef94f (working copy) @@ -0,0 +1,263 @@ +From fc128b9c49bb87d22772a74829c802117c3ef94f Mon Sep 17 00:00:00 2001 +From: Stacey Son +Date: Fri, 5 Dec 2014 18:36:13 +0000 +Subject: [PATCH] Add stub for IPv6 ioctl(). + +This change adds a stub for IPv6 ioctl() as described in +netinet6/in6_var.h. The stub currently doesn't offer any +support but does silence the "Qemu unsupported ioctl" +warning messages by returning -1 (ENXIO) for the calling ioctl(). +--- + bsd-user/bsd-ioctl.c | 12 +++ + bsd-user/freebsd/os-ioctl-cmds.h | 3 + + bsd-user/freebsd/os-ioctl-in6_var.h | 201 ++++++++++++++++++++++++++++++++++++ + 3 files changed, 216 insertions(+) + create mode 100644 bsd-user/freebsd/os-ioctl-in6_var.h + +diff --git a/bsd-user/bsd-ioctl.c b/bsd-user/bsd-ioctl.c +index ae4784a..7edb752 100644 +--- a/bsd-user/bsd-ioctl.c ++++ b/bsd-user/bsd-ioctl.c +@@ -31,12 +31,24 @@ + + #include + ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ + #include "qemu.h" + #include "qemu-common.h" + + #include "bsd-ioctl.h" + #include "os-ioctl-cryptodev.h" + #include "os-ioctl-filio.h" ++#include "os-ioctl-in6_var.h" + #include "os-ioctl-ttycom.h" + + static const bitmask_transtbl iflag_tbl[] = { +diff --git a/bsd-user/freebsd/os-ioctl-cmds.h b/bsd-user/freebsd/os-ioctl-cmds.h +index f10d560..2ecb76d 100644 +--- a/bsd-user/freebsd/os-ioctl-cmds.h ++++ b/bsd-user/freebsd/os-ioctl-cmds.h +@@ -50,3 +50,6 @@ IOCTL(FIOSEEKHOLE, IOC_RW, MK_PTR(TYPE_ULONG)) + + /* crypto/cryptodev.h */ + IOCTL_SPECIAL(CRIOGET, IOC_RW, do_ioctl_unsupported, TYPE_INT) ++ ++/* netinet6/in6_var.h */ ++IOCTL_SPECIAL(SIOCGIFAFLAG_IN6, IOC_RW, do_ioctl_unsupported, MK_PTR(TYPE_INT)) +diff --git a/bsd-user/freebsd/os-ioctl-in6_var.h b/bsd-user/freebsd/os-ioctl-in6_var.h +new file mode 100644 +index 0000000..c42835f +--- /dev/null ++++ b/bsd-user/freebsd/os-ioctl-in6_var.h +@@ -0,0 +1,201 @@ ++/* ++ * FreeBSD in6 definitions for ioctl(2) emulation ++ * ++ * Copyright (c) 2014 Stacey D. Son ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see . ++ */ ++#ifndef _IOCTL_IN6_VAR_H_ ++#define _IOCTL_IN6_VAR_H_ ++ ++/* see netinet6/in6_var.h */ ++ ++/* and see netinet/in6.h ++ * XXX target_in6_addr and target_sockaddr_in6 should maybe go ++ * somewhere else. ++ */ ++struct target_in6_addr { ++ union { ++ uint8_t __u6_addr8[16]; ++ uint16_t __u6_addr16[8]; ++ uint32_t __u6_addr32[4]; ++ } __u6_addr; ++}; ++ ++struct target_sockaddr_in6 { ++ uint8_t sin6_len; ++ uint8_t sin6_family; ++ uint16_t sin6_port; ++ uint32_t sin6_flowinfo; ++ struct target_in6_addr sin6_addr; ++ uint32_t sin6_scope_id; ++}; ++ ++struct target_in6_addrlifetime { ++ target_freebsd_time_t ia6t_expire; ++ target_freebsd_time_t ia6t_preferred; ++ u_int32_t ia6t_vltime; ++ u_int32_t ia6t_pltime; ++}; ++ ++struct target_in6_ifstat { ++ uint64_t ifs6_in_receive; ++ uint64_t ifs6_in_hdrerr; ++ uint64_t ifs6_in_toobig; ++ uint64_t ifs6_in_noroute; ++ uint64_t ifs6_in_addrerr; ++ uint64_t ifs6_in_protounknown; ++ ++ uint64_t ifs6_in_truncated; ++ uint64_t ifs6_in_discard; ++ ++ uint64_t ifs6_in_deliver; ++ ++ uint64_t ifs6_out_forward; ++ ++ uint64_t ifs6_out_request; ++ ++ uint64_t ifs6_out_discard; ++ uint64_t ifs6_out_fragok; ++ uint64_t ifs6_out_fragfail; ++ uint64_t ifs6_out_fragcreat; ++ ++ uint64_t ifs6_reass_reqd; ++ ++ uint64_t ifs6_reass_ok; ++ ++ uint64_t ifs6_reass_fail; ++ ++ uint64_t ifs6_in_mcast; ++ uint64_t ifs6_out_mcast; ++}; ++ ++struct target_icmp6_ifstat { ++ uint64_t ifs6_in_msg; ++ uint64_t ifs6_in_error; ++ uint64_t ifs6_in_dstunreach; ++ uint64_t ifs6_in_adminprohib; ++ uint64_t ifs6_in_timeexceed; ++ uint64_t ifs6_in_paramprob; ++ uint64_t ifs6_in_pkttoobig; ++ uint64_t ifs6_in_echo; ++ uint64_t ifs6_in_echoreply; ++ uint64_t ifs6_in_routersolicit; ++ uint64_t ifs6_in_routeradvert; ++ uint64_t ifs6_in_neighborsolicit; ++ uint64_t ifs6_in_neighboradvert; ++ uint64_t ifs6_in_redirect; ++ uint64_t ifs6_in_mldquery; ++ uint64_t ifs6_in_mldreport; ++ uint64_t ifs6_in_mlddone; ++ ++ uint64_t ifs6_out_msg; ++ uint64_t ifs6_out_error; ++ uint64_t ifs6_out_dstunreach; ++ uint64_t ifs6_out_adminprohib; ++ uint64_t ifs6_out_timeexceed; ++ uint64_t ifs6_out_paramprob; ++ uint64_t ifs6_out_pkttoobig; ++ uint64_t ifs6_out_echo; ++ uint64_t ifs6_out_echoreply; ++ uint64_t ifs6_out_routersolicit; ++ uint64_t ifs6_out_routeradvert; ++ uint64_t ifs6_out_neighborsolicit; ++ uint64_t ifs6_out_neighboradvert; ++ uint64_t ifs6_out_redirect; ++ uint64_t ifs6_out_mldquery; ++ uint64_t ifs6_out_mldreport; ++ uint64_t ifs6_out_mlddone; ++}; ++ ++#ifndef TARGET_IFNAMSIZ ++#define TARGET_IFNAMSIZ 16 ++#endif ++ ++struct target_in6_ifreq { ++ char ifr_name[TARGET_IFNAMSIZ]; ++ union { ++ struct target_sockaddr_in6 ifru_addr; ++ struct target_sockaddr_in6 ifru_dstaddr; ++ int ifru_flags; ++ int ifru_flags6; ++ int ifru_metric; ++ abi_ulong ifru_data; ++ struct target_in6_addrlifetime ifru_lifetime; ++ struct target_in6_ifstat ifru_stat; ++ struct target_icmp6_ifstat ifru_icmp6stat; ++ u_int32_t ifru_scope_id[16]; ++ } ifr_ifru; ++}; ++ ++#define TARGET_SIOCGIFDSTADDR_IN6 TARGET_IOWR('i', 34, struct target_in6_ifreq) ++#define TARGET_SIOCGIFNETMASK_IN6 TARGET_IOWR('i', 37, struct target_in6_ifreq) ++ ++#define TARGET_SIOCDIFADDR_IN6 TARGET_IOW('i', 25, struct target_in6_ifreq) ++/* NOT YET ++#define TARGET_OSIOCAIFADDR_IN6 TARGET_IOW('i', 26, struct target_oin6_aliasreq) ++#define TARGET_SIOCAIFADDR_IN6 TARGET_IOW('i', 27, struct target_in6_aliasreq) ++ ++#define TARGET_SIOCSIFPHYADDR_IN6 TARGET_IOW('i', 70, struct target_in6_aliasreq) ++*/ ++#define TARGET_SIOCGIFPSRCADDR_IN6 TARGET_IOWR('i', 71, struct target_in6_ifreq) ++#define TARGET_SIOCGIFPDSTADDR_IN6 TARGET_IOWR('i', 72, struct target_in6_ifreq) ++ ++#define TARGET_SIOCGIFAFLAG_IN6 TARGET_IOWR('i', 73, struct target_in6_ifreq) ++ ++/* NOT YET ++#define TARGET_SIOCGDRLST_IN6 TARGET_IOWR('i', 74, struct target_in6_drlist) ++ ++#define TARGET_SIOCGIFINFO_IN6 TARGET_IOWR('i', 108, struct target_in6_ndireq) ++#define TARGET_SIOCSIFINFO_IN6 TARGET_IOWR('i', 109, struct target_in6_ndireq) ++*/ ++#define TARGET_SIOCSNDFLUSH_IN6 TARGET_IOWR('i', 77, struct target_in6_ifreq) ++/* NOT YET ++#define TARGET_SIOCGNBRINFO_IN6 TARGET_IOWR('i', 78, struct target_in6_nbrinfo) ++*/ ++#define TARGET_SIOCSPFXFLUSH_IN6 TARGET_IOWR('i', 79, struct target_in6_ifreq) ++#define TARGET_SIOCSRTRFLUSH_IN6 TARGET_IOWR('i', 80, struct target_in6_ifreq) ++ ++#define TARGET_SIOCGIFALIFETIME_IN6 TARGET_IOWR('i', 81, struct target_in6_ifreq) ++#define TARGET_SIOCSIFALIFETIME_IN6 TARGET_IOWR('i', 82, struct target_in6_ifreq) ++#define TARGET_SIOCGIFSTAT_IN6 TARGET_IOWR('i', 83, struct target_in6_ifreq) ++#define TARGET_SIOCGIFSTAT_ICMP6 TARGET_IOWR('i', 84, struct target_in6_ifreq) ++ ++/* NOT YET ++#define TARGET_SIOCSDEFIFACE_IN6 TARGET_IOWR('i', 85, struct target_in6_ndifreq) ++#define TARGET_SIOCGDEFIFACE_IN6 TARGET_IOWR('i', 86, struct target_in6_ndifreq) ++ ++#define TARGET_SIOCSIFINFO_FLAGS TARGET_IOWR('i', 87, struct target_in6_ndireq) ++*/ ++ ++#define TARGET_SIOCSSCOPE6 TARGET_IOW('i', 88, struct target_in6_ifreq) ++#define TARGET_SIOCGSCOPE6 TARGET_IOWR('i', 89, struct target_in6_ifreq) ++#define TARGET_SIOCGSCOPE6DEF TARGET_IOWR('i', 90, struct target_in6_ifreq) ++ ++/* NOT YET ++#define TARGET_SIOCSIFPREFIX_IN6 TARGET_IOW('i', 100, struct target_in6_prefixreq) ++#define TARGET_SIOCGIFPREFIX_IN6 TARGET_IOWR('i', 101, struct target_in6_prefixreq) ++#define TARGET_SIOCDIFPREFIX_IN6 TARGET_IOW('i', 102, struct target_in6_prefixreq) ++#define TARGET_SIOCAIFPREFIX_IN6 TARGET_IOW('i', 103, struct target_in6_rrenumreq) ++#define TARGET_SIOCCIFPREFIX_IN6 TARGET_IOW('i', 104, struct target_in6_rrenumreq) ++#define TARGET_SIOCSGIFPREFIX_IN6 TARGET_IOW('i', 105, struct target_in6_rrenumreq) ++ ++#define TARGET_SIOCGETSGCNT_IN6 TARGET_IOWR('u', 106, struct target_sioc_sg_req6) ++#define TARGET_SIOCGETMIFCNT_IN6 TARGET_IOWR('u', 107, struct target_sioc_mif_req6) ++ ++#define TARGET_SIOCAADDRCTL_POLICY TARGET_IOW('u', 108, struct target_in6_addrpolicy) ++#define TARGET_SIOCDADDRCTL_POLICY TARGET_IOW('u', 109, struct target_in6_addrpolicy) ++*/ ++ ++#endif /* !_IOCTL_IN6_VAR_H_ */ Property changes on: emulators/qemu-devel/files/extra-patch-fc128b9c49bb87d22772a74829c802117c3ef94f ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property