From owner-svn-src-user@FreeBSD.ORG Mon Apr 27 06:40:38 2015 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CC9F288E; Mon, 27 Apr 2015 06:40:38 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B7A5C1760; Mon, 27 Apr 2015 06:40:38 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t3R6ecHa051407; Mon, 27 Apr 2015 06:40:38 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t3R6eTRC051320; Mon, 27 Apr 2015 06:40:29 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201504270640.t3R6eTRC051320@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Garrett Cooper Date: Mon, 27 Apr 2015 06:40:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r282055 - in user/ngie/more-tests: . bin/ed bin/expr bin/sh lib/libarchive lib/libc/gen lib/libc/nls lib/libc/regex lib/libc/rpc lib/libc/sys lib/libedit lib/msun/man sbin/atm/atmconfig... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Apr 2015 06:40:38 -0000 Author: ngie Date: Mon Apr 27 06:40:28 2015 New Revision: 282055 URL: https://svnweb.freebsd.org/changeset/base/282055 Log: MFhead @ r282054 Added: user/ngie/more-tests/share/doc/usd/10.exref/ - copied from r282054, head/share/doc/usd/10.exref/ user/ngie/more-tests/share/doc/usd/11.vitut/ - copied from r282054, head/share/doc/usd/11.vitut/ user/ngie/more-tests/share/doc/usd/12.vi/ - copied from r282054, head/share/doc/usd/12.vi/ user/ngie/more-tests/share/doc/usd/13.viref/ - copied from r282054, head/share/doc/usd/13.viref/ Modified: user/ngie/more-tests/ObsoleteFiles.inc user/ngie/more-tests/bin/ed/ed.1 user/ngie/more-tests/bin/expr/expr.1 user/ngie/more-tests/bin/sh/jobs.c user/ngie/more-tests/lib/libarchive/config_freebsd.h user/ngie/more-tests/lib/libc/gen/getutxent.3 user/ngie/more-tests/lib/libc/gen/nice.3 user/ngie/more-tests/lib/libc/gen/posix_spawn.3 user/ngie/more-tests/lib/libc/gen/posix_spawn_file_actions_addopen.3 user/ngie/more-tests/lib/libc/gen/posix_spawn_file_actions_init.3 user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getflags.3 user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getpgroup.3 user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getschedparam.3 user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getschedpolicy.3 user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getsigdefault.3 user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getsigmask.3 user/ngie/more-tests/lib/libc/gen/posix_spawnattr_init.3 user/ngie/more-tests/lib/libc/nls/catopen.3 user/ngie/more-tests/lib/libc/regex/re_format.7 user/ngie/more-tests/lib/libc/regex/regex.3 user/ngie/more-tests/lib/libc/rpc/rpcbind.3 user/ngie/more-tests/lib/libc/sys/posix_openpt.2 user/ngie/more-tests/lib/libedit/el.c user/ngie/more-tests/lib/msun/man/j0.3 user/ngie/more-tests/lib/msun/man/lgamma.3 user/ngie/more-tests/lib/msun/man/nextafter.3 user/ngie/more-tests/sbin/atm/atmconfig/atmconfig.8 user/ngie/more-tests/sbin/camcontrol/camcontrol.8 user/ngie/more-tests/sbin/ipfw/ipfw2.c user/ngie/more-tests/sbin/ipfw/ipfw2.h user/ngie/more-tests/sbin/ipfw/tables.c user/ngie/more-tests/share/doc/usd/Makefile user/ngie/more-tests/share/man/man4/smb.4 user/ngie/more-tests/sys/amd64/vmm/vmm_instruction_emul.c user/ngie/more-tests/sys/arm/allwinner/std.a10 user/ngie/more-tests/sys/arm/arm/cpufunc.c user/ngie/more-tests/sys/arm/arm/locore-v4.S user/ngie/more-tests/sys/arm/arm/locore-v6.S user/ngie/more-tests/sys/arm/broadcom/bcm2835/bcm2835_mbox.c user/ngie/more-tests/sys/arm/broadcom/bcm2835/std.bcm2836 user/ngie/more-tests/sys/arm/conf/RK3188 user/ngie/more-tests/sys/cddl/dev/profile/profile.c user/ngie/more-tests/sys/dev/cxgbe/t4_main.c user/ngie/more-tests/sys/dev/iicbus/pcf8563.c user/ngie/more-tests/sys/dev/smbus/smb.c user/ngie/more-tests/sys/dev/smbus/smb.h user/ngie/more-tests/sys/dev/smbus/smbconf.h user/ngie/more-tests/sys/dev/smbus/smbus.c user/ngie/more-tests/sys/dev/smbus/smbus.h user/ngie/more-tests/sys/dev/smbus/smbus_if.m user/ngie/more-tests/sys/dev/sound/pcm/dsp.c user/ngie/more-tests/sys/kern/kern_descrip.c user/ngie/more-tests/sys/kern/kern_thr.c user/ngie/more-tests/sys/net/netisr.c user/ngie/more-tests/sys/netinet/ip_ipsec.c user/ngie/more-tests/sys/netinet/libalias/libalias.3 user/ngie/more-tests/sys/netinet/sctp_indata.c user/ngie/more-tests/sys/netinet6/ip6_forward.c user/ngie/more-tests/sys/netinet6/ip6_ipsec.c user/ngie/more-tests/sys/netipsec/ipsec.c user/ngie/more-tests/sys/netipsec/ipsec.h user/ngie/more-tests/sys/netipsec/ipsec_output.c user/ngie/more-tests/sys/netipsec/xform_ah.c user/ngie/more-tests/sys/netipsec/xform_esp.c user/ngie/more-tests/sys/netipsec/xform_ipcomp.c user/ngie/more-tests/sys/netpfil/ipfw/ip_fw_nat.c user/ngie/more-tests/sys/sys/cdefs.h user/ngie/more-tests/usr.bin/hexdump/display.c user/ngie/more-tests/usr.sbin/bluetooth/Makefile user/ngie/more-tests/usr.sbin/smbmsg/smbmsg.c Directory Properties: user/ngie/more-tests/ (props changed) user/ngie/more-tests/lib/libc/ (props changed) user/ngie/more-tests/sbin/ (props changed) user/ngie/more-tests/sbin/ipfw/ (props changed) user/ngie/more-tests/share/ (props changed) user/ngie/more-tests/share/doc/usd/10.exref/exref/ex.rm (props changed) user/ngie/more-tests/share/doc/usd/10.exref/summary/ex.summary (props changed) user/ngie/more-tests/share/doc/usd/11.vitut/edittut.ms (props changed) user/ngie/more-tests/share/doc/usd/12.vi/summary/vi.summary (props changed) user/ngie/more-tests/share/doc/usd/12.vi/vi/vi.chars (props changed) user/ngie/more-tests/share/doc/usd/12.vi/vi/vi.in (props changed) user/ngie/more-tests/share/doc/usd/12.vi/viapwh/vi.apwh.ms (props changed) user/ngie/more-tests/share/doc/usd/13.viref/ex.cmd.roff (props changed) user/ngie/more-tests/share/doc/usd/13.viref/ref.so (props changed) user/ngie/more-tests/share/doc/usd/13.viref/set.opt.roff (props changed) user/ngie/more-tests/share/doc/usd/13.viref/vi.cmd.roff (props changed) user/ngie/more-tests/share/doc/usd/13.viref/vi.ref (props changed) user/ngie/more-tests/share/man/man4/ (props changed) user/ngie/more-tests/sys/ (props changed) user/ngie/more-tests/sys/amd64/vmm/ (props changed) Modified: user/ngie/more-tests/ObsoleteFiles.inc ============================================================================== --- user/ngie/more-tests/ObsoleteFiles.inc Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/ObsoleteFiles.inc Mon Apr 27 06:40:28 2015 (r282055) @@ -56,18 +56,6 @@ OLD_FILES+=usr/include/altq/altq_rmclass OLD_FILES+=usr/include/altq/altq_cbq.h OLD_FILES+=usr/include/altq/altq_rio.h OLD_DIRS+=usr/include/altq -# 20150410 -OLD_FILES+=usr/share/doc/usd/10.exref/paper.ascii.gz -OLD_FILES+=usr/share/doc/usd/10.exref/summary.ascii.gz -OLD_DIRS+=usr/share/doc/usd/10.exref -OLD_FILES+=usr/share/doc/usd/11.edit/paper.ascii.gz -OLD_DIRS+=usr/share/doc/usd/11.edit -OLD_FILES+=usr/share/doc/usd/12.vi/paper.ascii.gz -OLD_FILES+=usr/share/doc/usd/12.vi/summary.ascii.gz -OLD_FILES+=usr/share/doc/usd/12.vi/viapwh.ascii.gz -OLD_DIRS+=usr/share/doc/usd/12.vi -OLD_FILES+=usr/share/doc/usd/13.viref/paper.ascii.gz -OLD_DIRS+=usr/share/doc/usd/13.viref # 20150329 .if ${TARGET_ARCH} == "arm" OLD_FILES+=usr/include/bootconfig.h Modified: user/ngie/more-tests/bin/ed/ed.1 ============================================================================== --- user/ngie/more-tests/bin/ed/ed.1 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/bin/ed/ed.1 Mon Apr 27 06:40:28 2015 (r282055) @@ -738,7 +738,7 @@ It is an error if no substitutions are p lines. The current address is set the last line affected. .Pp -.Ar Re +.Ar \&Re and .Ar replacement may be delimited by any character other than space and newline Modified: user/ngie/more-tests/bin/expr/expr.1 ============================================================================== --- user/ngie/more-tests/bin/expr/expr.1 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/bin/expr/expr.1 Mon Apr 27 06:40:28 2015 (r282055) @@ -90,17 +90,17 @@ Return the evaluation of .Ar expr1 if neither expression evaluates to an empty string or zero; otherwise, returns zero. -.It Ar expr1 Li "{=, >, >=, <, <=, !=}" Ar expr2 +.It Ar expr1 Bro =, >, >=, <, <=, != Brc Ar expr2 Return the results of integer comparison if both arguments are integers; otherwise, returns the results of string comparison using the locale-specific collation sequence. The result of each comparison is 1 if the specified relation is true, or 0 if the relation is false. -.It Ar expr1 Li "{+, -}" Ar expr2 +.It Ar expr1 Bro +, - Brc Ar expr2 Return the results of addition or subtraction of integer-valued arguments. -.It Ar expr1 Li "{*, /, %}" Ar expr2 +.It Ar expr1 Bro *, /, % Brc Ar expr2 Return the results of multiplication, integer division, or remainder of integer-valued arguments. -.It Ar expr1 Li : Ar expr2 +.It Ar expr1 Li \&: Ar expr2 The .Dq Li \&: operator matches Modified: user/ngie/more-tests/bin/sh/jobs.c ============================================================================== --- user/ngie/more-tests/bin/sh/jobs.c Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/bin/sh/jobs.c Mon Apr 27 06:40:28 2015 (r282055) @@ -1057,7 +1057,7 @@ waitforjob(struct job *jp, int *origstat CLEAR_PENDING_INT; } #if JOBS - else if (rootshell && iflag && propagate_int && + else if (rootshell && propagate_int && WIFSIGNALED(status) && WTERMSIG(status) == SIGINT) kill(getpid(), SIGINT); #endif Modified: user/ngie/more-tests/lib/libarchive/config_freebsd.h ============================================================================== --- user/ngie/more-tests/lib/libarchive/config_freebsd.h Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libarchive/config_freebsd.h Mon Apr 27 06:40:28 2015 (r282055) @@ -25,6 +25,8 @@ * $FreeBSD$ */ +#include + /* FreeBSD 5.0 and later have ACL and extattr support. */ #if __FreeBSD__ > 4 #define HAVE_ACL_CREATE_ENTRY 1 @@ -220,6 +222,11 @@ #define HAVE_ZLIB_H 1 #define TIME_WITH_SYS_TIME 1 +#if __FreeBSD_version >= 1100056 +#define HAVE_FUTIMENS 1 +#define HAVE_UTIMENSAT 1 +#endif + /* FreeBSD 4 and earlier lack intmax_t/uintmax_t */ #if __FreeBSD__ < 5 #define intmax_t int64_t Modified: user/ngie/more-tests/lib/libc/gen/getutxent.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/getutxent.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/getutxent.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -475,4 +475,4 @@ They replaced the .In utmp.h interface. .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/gen/nice.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/nice.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/nice.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -87,7 +87,7 @@ The function conforms to .St -p1003.1-2008 except for the return value. -This implementation returns 0 upon successful completion but +This implementation returns 0 upon successful completion but the standard requires returning the new nice value, which could be \-1. .Sh HISTORY Modified: user/ngie/more-tests/lib/libc/gen/posix_spawn.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/posix_spawn.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/posix_spawn.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -457,4 +457,4 @@ and functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/gen/posix_spawn_file_actions_addopen.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/posix_spawn_file_actions_addopen.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/posix_spawn_file_actions_addopen.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -200,4 +200,4 @@ and functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/gen/posix_spawn_file_actions_init.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/posix_spawn_file_actions_init.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/posix_spawn_file_actions_init.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -101,4 +101,4 @@ and functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getflags.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getflags.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getflags.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -108,4 +108,4 @@ and functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getpgroup.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getpgroup.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getpgroup.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -93,4 +93,4 @@ and functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getschedparam.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getschedparam.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getschedparam.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -97,4 +97,4 @@ and functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getschedpolicy.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getschedpolicy.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getschedpolicy.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -95,4 +95,4 @@ and functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getsigdefault.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getsigdefault.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getsigdefault.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -95,4 +95,4 @@ and functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getsigmask.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getsigmask.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/posix_spawnattr_getsigmask.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -95,4 +95,4 @@ and functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/gen/posix_spawnattr_init.3 ============================================================================== --- user/ngie/more-tests/lib/libc/gen/posix_spawnattr_init.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/gen/posix_spawnattr_init.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -120,4 +120,4 @@ and functions first appeared in .Fx 8.0 . .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libc/nls/catopen.3 ============================================================================== --- user/ngie/more-tests/lib/libc/nls/catopen.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/nls/catopen.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -94,7 +94,7 @@ An empty string is substituted for undef Path names templates defined in .Ev NLSPATH are separated by colons -.No ( Sq \&: ) . +.Pq Sq \&: . A leading or two adjacent colons is equivalent to specifying %N. .Pp Modified: user/ngie/more-tests/lib/libc/regex/re_format.7 ============================================================================== --- user/ngie/more-tests/lib/libc/regex/re_format.7 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/regex/re_format.7 Mon Apr 27 06:40:28 2015 (r282055) @@ -392,10 +392,12 @@ and .Ql ?\& are ordinary characters, and their functionality can be expressed using bounds -.No ( Ql {1,} +.Po +.Ql {1,} or .Ql {0,1} -respectively). +respectively +.Pc . Also note that .Ql x+ in modern REs is equivalent to Modified: user/ngie/more-tests/lib/libc/regex/regex.3 ============================================================================== --- user/ngie/more-tests/lib/libc/regex/regex.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/regex/regex.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -420,10 +420,12 @@ it should have been the result from the using that .Ft regex_t . The -.Fn ( regerror +.Po +.Fn regerror may be able to supply a more detailed message using information from the -.Ft regex_t . ) +.Ft regex_t . +.Pc The .Fn regerror function Modified: user/ngie/more-tests/lib/libc/rpc/rpcbind.3 ============================================================================== --- user/ngie/more-tests/lib/libc/rpc/rpcbind.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/rpc/rpcbind.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -25,7 +25,7 @@ .Ft bool_t .Fn rpcb_gettime "const char *host" "time_t * timep" .Ft "enum clnt_stat" -.Fn rpcb_rmtcall "const struct netconfig *netconf" "const char *host" "const rpcprog_t prognum, const rpcvers_t versnum" "const rpcproc_t procnum, const xdrproc_t inproc" "const caddr_t in" "const xdrproc_t outproc" "const caddr_t out" "const struct timeval tout, const struct netbuf *svcaddr" +.Fn rpcb_rmtcall "const struct netconfig *netconf" "const char *host" "const rpcprog_t prognum" "const rpcvers_t versnum" "const rpcproc_t procnum" "const xdrproc_t inproc" "const caddr_t in" "const xdrproc_t outproc" "const caddr_t out" "const struct timeval tout" "const struct netbuf *svcaddr" .Ft bool_t .Fn rpcb_set "const rpcprog_t prognum" "const rpcvers_t versnum" "const struct netconfig *netconf" "const struct netbuf *svcaddr" .Ft bool_t Modified: user/ngie/more-tests/lib/libc/sys/posix_openpt.2 ============================================================================== --- user/ngie/more-tests/lib/libc/sys/posix_openpt.2 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libc/sys/posix_openpt.2 Mon Apr 27 06:40:28 2015 (r282055) @@ -137,4 +137,4 @@ is included for compatibility; in opening a terminal does not cause it to become a process's controlling terminal. .Sh AUTHORS -.An Ed Schouten Aq Mt ed@FreeBSD.org +.An \&Ed Schouten Aq Mt ed@FreeBSD.org Modified: user/ngie/more-tests/lib/libedit/el.c ============================================================================== --- user/ngie/more-tests/lib/libedit/el.c Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/libedit/el.c Mon Apr 27 06:40:28 2015 (r282055) @@ -96,7 +96,7 @@ el_init_fd(const char *prog, FILE *fin, */ el->el_flags = 0; #ifdef WIDECHAR - if (setlocale(LC_CTYPE, "") != NULL) { + if (setlocale(LC_CTYPE, NULL) != NULL) { if (strcmp(nl_langinfo(CODESET), "UTF-8") == 0) el->el_flags |= CHARSET_IS_UTF8; } Modified: user/ngie/more-tests/lib/msun/man/j0.3 ============================================================================== --- user/ngie/more-tests/lib/msun/man/j0.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/msun/man/j0.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -98,7 +98,7 @@ The functions .Fn y1 , and .Fn y1f -compute the linearly independent Bessel function of the second kind +compute the linearly independent Bessel function of the second kind of orders 0 and 1 for the positive .Em real value @@ -135,12 +135,12 @@ is \*(Pm0, these routines will generate a divide-by-zero exception and return -\*(If. If .Fa x -is a sufficiently small positive number, then +is a sufficiently small positive number, then .Fn y1 , .Fn y1f , .Fn yn , and -.Fn ynf +.Fn ynf will generate an overflow exception and return -\*(If. .Sh SEE ALSO .Xr math 3 Modified: user/ngie/more-tests/lib/msun/man/lgamma.3 ============================================================================== --- user/ngie/more-tests/lib/msun/man/lgamma.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/msun/man/lgamma.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -124,7 +124,6 @@ are deprecated aliases for and .Fn lgammaf_r , respectively. - .Sh IDIOSYNCRASIES Do not use the expression .Dq Li signgam\(**exp(lgamma(x)) Modified: user/ngie/more-tests/lib/msun/man/nextafter.3 ============================================================================== --- user/ngie/more-tests/lib/msun/man/nextafter.3 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/lib/msun/man/nextafter.3 Mon Apr 27 06:40:28 2015 (r282055) @@ -78,11 +78,11 @@ routines conform to They implement the Nextafter function recommended by .St -ieee754 , with the extension that -.Fn nextafter +0.0, -0.0 +.Fn nextafter "+0.0" "-0.0" returns .Li -0.0 , and -.Fn nextafter -0.0, +0.0 +.Fn nextafter "-0.0" "+0.0" returns .Li +0.0 . .Sh HISTORY Modified: user/ngie/more-tests/sbin/atm/atmconfig/atmconfig.8 ============================================================================== --- user/ngie/more-tests/sbin/atm/atmconfig/atmconfig.8 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/sbin/atm/atmconfig/atmconfig.8 Mon Apr 27 06:40:28 2015 (r282055) @@ -90,7 +90,7 @@ To get a list of options and arguments f .Pp To get a list of common options use: .D1 Nm Ic help Cm options -.Ss The Ic diag Ss Command +.Ss The Ic diag Command The .Ic diag command allows the inspection of the ATM interfaces on the local host @@ -201,7 +201,7 @@ Print traffic parameters: PCR, SCR, MBS, .It Nm Ic diag Cm stats Ar device Print driver specific statistics. .El -.Ss The Ic natm Ss Command +.Ss The Ic natm Command The .Ic natm command is used to change Modified: user/ngie/more-tests/sbin/camcontrol/camcontrol.8 ============================================================================== --- user/ngie/more-tests/sbin/camcontrol/camcontrol.8 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/sbin/camcontrol/camcontrol.8 Mon Apr 27 06:40:28 2015 (r282055) @@ -529,7 +529,7 @@ on the system. .It Ic defects Send the .Tn SCSI -READ DEFECT DATA (10) command (0x37) or the +READ DEFECT DATA (10) command (0x37) or the .Tn SCSI READ DEFECT DATA (12) command (0xB7) to the given device, and print out any combination of: the total number of defects, the primary @@ -563,12 +563,12 @@ drives. .It longblock Print out the list as logical blocks. This option uses a 64-bit block size. -.It bfi +.It bfi Print out the list in bytes from index format. .It extbfi Print out the list in extended bytes from index format. The extended format allows for ranges of blocks to be printed. -.It phys +.It phys Print out the list in physical sector format. Most drives support this format. .It extphys Modified: user/ngie/more-tests/sbin/ipfw/ipfw2.c ============================================================================== --- user/ngie/more-tests/sbin/ipfw/ipfw2.c Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/sbin/ipfw/ipfw2.c Mon Apr 27 06:40:28 2015 (r282055) @@ -375,6 +375,13 @@ static int ipfw_show_config(struct cmdli ipfw_cfg_lheader *cfg, size_t sz, int ac, char **av); static void ipfw_list_tifaces(void); +struct tidx; +static uint16_t pack_object(struct tidx *tstate, char *name, int otype); +static uint16_t pack_table(struct tidx *tstate, char *name); + +static char *table_search_ctlv(ipfw_obj_ctlv *ctlv, uint16_t idx); +static void object_sort_ctlv(ipfw_obj_ctlv *ctlv); + /* * Simple string buffer API. * Used to simplify buffer passing between function and for @@ -2558,6 +2565,7 @@ ipfw_show_config(struct cmdline_opts *co if (cfg->flags & IPFW_CFG_GET_STATIC) { /* We've requested static rules */ if (ctlv->head.type == IPFW_TLV_TBLNAME_LIST) { + object_sort_ctlv(ctlv); fo->tstate = ctlv; readsz += ctlv->head.length; ctlv = (ipfw_obj_ctlv *)((caddr_t)ctlv + @@ -2724,19 +2732,18 @@ struct tidx { }; static uint16_t -pack_table(struct tidx *tstate, char *name) +pack_object(struct tidx *tstate, char *name, int otype) { int i; ipfw_obj_ntlv *ntlv; - if (table_check_name(name) != 0) - return (0); - for (i = 0; i < tstate->count; i++) { if (strcmp(tstate->idx[i].name, name) != 0) continue; if (tstate->idx[i].set != tstate->set) continue; + if (tstate->idx[i].head.type != otype) + continue; return (tstate->idx[i].idx); } @@ -2752,7 +2759,7 @@ pack_table(struct tidx *tstate, char *na ntlv = &tstate->idx[i]; memset(ntlv, 0, sizeof(ipfw_obj_ntlv)); strlcpy(ntlv->name, name, sizeof(ntlv->name)); - ntlv->head.type = IPFW_TLV_TBL_NAME; + ntlv->head.type = otype; ntlv->head.length = sizeof(ipfw_obj_ntlv); ntlv->set = tstate->set; ntlv->idx = ++tstate->counter; @@ -2761,6 +2768,16 @@ pack_table(struct tidx *tstate, char *na return (ntlv->idx); } +static uint16_t +pack_table(struct tidx *tstate, char *name) +{ + + if (table_check_name(name) != 0) + return (0); + + return (pack_object(tstate, name, IPFW_TLV_TBL_NAME)); +} + static void fill_table(ipfw_insn *cmd, char *av, uint8_t opcode, struct tidx *tstate) { @@ -3611,7 +3628,6 @@ compile_rule(char *av[], uint32_t *rbuf, break; } else goto chkarg; - case TOK_QUEUE: action->opcode = O_QUEUE; goto chkarg; @@ -4656,6 +4672,101 @@ done: *rbufsize = (char *)dst - (char *)rule; } +static int +compare_ntlv(const void *_a, const void *_b) +{ + ipfw_obj_ntlv *a, *b; + + a = (ipfw_obj_ntlv *)_a; + b = (ipfw_obj_ntlv *)_b; + + if (a->set < b->set) + return (-1); + else if (a->set > b->set) + return (1); + + if (a->idx < b->idx) + return (-1); + else if (a->idx > b->idx) + return (1); + + if (a->head.type < b->head.type) + return (-1); + else if (a->head.type > b->head.type) + return (1); + + return (0); +} + +/* + * Provide kernel with sorted list of referenced objects + */ +static void +object_sort_ctlv(ipfw_obj_ctlv *ctlv) +{ + + qsort(ctlv + 1, ctlv->count, ctlv->objsize, compare_ntlv); +} + +struct object_kt { + uint16_t uidx; + uint16_t type; +}; +static int +compare_object_kntlv(const void *k, const void *v) +{ + ipfw_obj_ntlv *ntlv; + struct object_kt key; + + key = *((struct object_kt *)k); + ntlv = (ipfw_obj_ntlv *)v; + + if (key.uidx < ntlv->idx) + return (-1); + else if (key.uidx > ntlv->idx) + return (1); + + if (key.type < ntlv->head.type) + return (-1); + else if (key.type > ntlv->head.type) + return (1); + + return (0); +} + +/* + * Finds object name in @ctlv by @idx and @type. + * Uses the following facts: + * 1) All TLVs are the same size + * 2) Kernel implementation provides already sorted list. + * + * Returns table name or NULL. + */ +static char * +object_search_ctlv(ipfw_obj_ctlv *ctlv, uint16_t idx, uint16_t type) +{ + ipfw_obj_ntlv *ntlv; + struct object_kt key; + + key.uidx = idx; + key.type = type; + + ntlv = bsearch(&key, (ctlv + 1), ctlv->count, ctlv->objsize, + compare_object_kntlv); + + if (ntlv != 0) + return (ntlv->name); + + return (NULL); +} + +static char * +table_search_ctlv(ipfw_obj_ctlv *ctlv, uint16_t idx) +{ + + return (object_search_ctlv(ctlv, idx, IPFW_TLV_TBL_NAME)); +} + /* * Adds one or more rules to ipfw chain. * Data layout: @@ -4724,7 +4835,7 @@ ipfw_add(char *av[]) ctlv->count = ts.count; ctlv->objsize = sizeof(ipfw_obj_ntlv); memcpy(ctlv + 1, ts.idx, tlen); - table_sort_ctlv(ctlv); + object_sort_ctlv(ctlv); tstate = ctlv; /* Rule next */ ctlv = (ipfw_obj_ctlv *)((caddr_t)ctlv + ctlv->head.length); Modified: user/ngie/more-tests/sbin/ipfw/ipfw2.h ============================================================================== --- user/ngie/more-tests/sbin/ipfw/ipfw2.h Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/sbin/ipfw/ipfw2.h Mon Apr 27 06:40:28 2015 (r282055) @@ -344,8 +344,6 @@ int fill_ext6hdr(struct _ipfw_insn *cmd, /* tables.c */ struct _ipfw_obj_ctlv; -char *table_search_ctlv(struct _ipfw_obj_ctlv *ctlv, uint16_t idx); -void table_sort_ctlv(struct _ipfw_obj_ctlv *ctlv); int table_check_name(char *tablename); void ipfw_list_ta(int ac, char *av[]); void ipfw_list_values(int ac, char *av[]); Modified: user/ngie/more-tests/sbin/ipfw/tables.c ============================================================================== --- user/ngie/more-tests/sbin/ipfw/tables.c Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/sbin/ipfw/tables.c Mon Apr 27 06:40:28 2015 (r282055) @@ -1937,73 +1937,6 @@ ipfw_list_values(int ac, char *av[]) } int -compare_ntlv(const void *_a, const void *_b) -{ - ipfw_obj_ntlv *a, *b; - - a = (ipfw_obj_ntlv *)_a; - b = (ipfw_obj_ntlv *)_b; - - if (a->set < b->set) - return (-1); - else if (a->set > b->set) - return (1); - - if (a->idx < b->idx) - return (-1); - else if (a->idx > b->idx) - return (1); - - return (0); -} - -int -compare_kntlv(const void *k, const void *v) -{ - ipfw_obj_ntlv *ntlv; - uint16_t key; - - key = *((uint16_t *)k); - ntlv = (ipfw_obj_ntlv *)v; - - if (key < ntlv->idx) - return (-1); - else if (key > ntlv->idx) - return (1); - - return (0); -} - -/* - * Finds table name in @ctlv by @idx. - * Uses the following facts: - * 1) All TLVs are the same size - * 2) Kernel implementation provides already sorted list. - * - * Returns table name or NULL. - */ -char * -table_search_ctlv(ipfw_obj_ctlv *ctlv, uint16_t idx) -{ - ipfw_obj_ntlv *ntlv; - - ntlv = bsearch(&idx, (ctlv + 1), ctlv->count, ctlv->objsize, - compare_kntlv); - - if (ntlv != 0) - return (ntlv->name); - - return (NULL); -} - -void -table_sort_ctlv(ipfw_obj_ctlv *ctlv) -{ - - qsort(ctlv + 1, ctlv->count, ctlv->objsize, compare_ntlv); -} - -int table_check_name(char *tablename) { int c, i, l; Modified: user/ngie/more-tests/share/doc/usd/Makefile ============================================================================== --- user/ngie/more-tests/share/doc/usd/Makefile Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/share/doc/usd/Makefile Mon Apr 27 06:40:28 2015 (r282055) @@ -10,6 +10,10 @@ SUBDIR= title \ 05.dc \ 06.bc \ 07.mail \ + 10.exref \ + 11.vitut \ + 12.vi \ + 13.viref \ 18.msdiffs \ 19.memacros \ 20.meref \ Modified: user/ngie/more-tests/share/man/man4/smb.4 ============================================================================== --- user/ngie/more-tests/share/man/man4/smb.4 Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/share/man/man4/smb.4 Mon Apr 27 06:40:28 2015 (r282055) @@ -1,5 +1,6 @@ .\" Copyright (c) 1998, Nicolas Souchu .\" Copyright (c) 2004, Joerg Wunsch +.\" Copyright (c) 2015, Michael Gmelin .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without @@ -25,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd February 6, 2009 +.Dd April 25, 2015 .Dt SMB 4 .Os .Sh NAME @@ -36,10 +37,10 @@ .Sh DESCRIPTION The .Em smb -character device driver provides generic i/o to any +character device driver provides generic I/O to any .Xr smbus 4 instance. -In order to control SMB devices, use +To control SMB devices, use .Pa /dev/smb? with the ioctls described below. Any of these ioctl commands takes a pointer to @@ -49,124 +50,145 @@ as its argument. #include struct smbcmd { - char cmd; - int count; - u_char slave; + u_char cmd; + u_char reserved; + u_short op; union { - char byte; - short word; - - char *byte_ptr; - short *word_ptr; - - struct { - short sdata; - short *rdata; - } process; - } data; + char byte; + char buf[2]; + short word; + } wdata; + union { + char byte; + char buf[2]; + short word; + } rdata; + int slave; + char *wbuf; /* use wdata if NULL */ + int wcount; + char *rbuf; /* use rdata if NULL */ + int rcount; }; .Ed .Pp The .Fa slave field is always used, and provides the address of the -SMBus slave device to talk to. +SMBus slave device. The slave address is specified in the seven most significant bits -.Pq i.e. Dq "left-justified" . +.Pq i.e., Dq "left-justified" . The least significant bit of the slave address must be zero. .Pp .Bl -column ".Dv SMB_QUICK_WRITE" -compact .It Em Ioctl Ta Em Description .Pp .It Dv SMB_QUICK_WRITE Ta -The .Em QuickWrite -command just issues the device address with write intent -to the bus, without transferring any data. +does not transfer any data. +It just issues the device address with write intent to the bus. .It Dv SMB_QUICK_READ Ta -The .Em QuickRead -command just issues the device address with read intent -to the bus, without transferring any data. +does not transfer any data. +It just issues the device address with read intent to the bus. .It Dv SMB_SENDB Ta -The .Em SendByte -command sends the byte provided in the +sends the byte provided in .Fa cmd -field to the device. +to the device. .It Dv SMB_RECVB Ta -The .Em ReceiveByte -command reads a single byte from the device which will -be returned in the -.Fa cmd -field. +reads a single byte from the device which is returned in +.Fa cmd . .It Dv SMB_WRITEB Ta -The .Em WriteByte -command first sends the byte from the +first sends the byte from .Fa cmd -field to the device, followed by the byte given in -.Fa data.byte . +to the device, followed by the byte given in +.Fa wdata.byte . .It Dv SMB_WRITEW Ta -The .Em WriteWord -command first sends the byte from the +first sends the byte from .Fa cmd -field to the device, followed by the word given in -.Fa data.word . +to the device, followed by the word given in +.Fa wdata.word . Note that the SMBus byte-order is little-endian by definition. .It Dv SMB_READB Ta -The .Em ReadByte -command first sends the byte from the +first sends the byte from .Fa cmd -field to the device, and then reads one byte of data from +to the device, then reads one byte of data from the device. -The returned data will be stored in the location pointed to by -.Fa data.byte_ptr . +Returned data is stored in +.Fa rdata.byte . .It Dv SMB_READW Ta -The .Em ReadWord -command first sends the byte from the +first sends the byte from .Fa cmd -field to the device, and then reads one word of data from +to the device, then reads one word of data from the device. -The returned data will be stored in the location pointed to by -.Fa data.word_ptr . +Returned data is stored in +.Fa rdata.word . .It Dv SMB_PCALL Ta -The .Em ProcedureCall -command first sends the byte from the +first sends the byte from .Fa cmd -field to the device, followed by the word provided in -.Fa data.process.sdata . -It then reads one word of data from the device, and returns it -in the location pointed to by -.Fa data.process.rdata . +to the device, followed by the word provided in +.Fa wdata.word . +It then reads one word of data from the device and returns it +in +.Fa rdata.word . .It Dv SMB_BWRITE Ta -The .Em BlockWrite -command first sends the byte from the +first sends the byte from .Fa cmd -field to the device, followed by -.Fa count +to the device, followed by +.Fa wcount bytes of data that are taken from the buffer pointed to by -.Fa data.byte_ptr . +.Fa wbuf . The SMBus specification mandates that no more than 32 bytes of -data can be transferred in a single block read or write command. -This value is available in the constant +data can be transferred in a single block read or write command, +but since +.Xr smbus 4 +is also used to access I2C devices, the limit has been increased +to 1024. +This value can be read from the constant .Dv SMB_MAXBLOCKSIZE . .It Dv SMB_BREAD Ta -The .Em BlockRead -command first sends the byte from the +first sends the byte from .Fa cmd -field to the device, and then reads -.Fa count +to the device, then reads +.Fa rcount bytes of data that from the device. -These data will be returned in the buffer pointed to by -.Fa data.byte_ptr . +This data is returned in the buffer pointed to by +.Fa rbuf . +.It Dv SMB_TRANS Ta +.Em Trans +sends an SMB roll-up transaction with flags that also allow it to +be used for (mostly) I2C pass-through and with 10-bit addresses. +This function can be utilized to roll up all of the above functions. +It first sends the byte from +.Fa cmd +to the device, followed by +.Fa wcount +bytes of data that are taken from the buffer pointed to by +.Fa wbuf , +then reads +.Fa rcount +bytes of data that from the device. +This data is returned in the buffer pointed to by +.Fa rbuf . +.Pp +The following flags are allowed in +.Fa op : +.Pp +.Bd -literal -compact +SMB_TRANS_NOSTOP Do not send STOP at end +SMB_TRANS_NOCMD Ignore cmd field (do not tx) +SMB_TRANS_NOCNT Do not tx or rx count field +SMB_TRANS_7BIT Change address mode to 7-bit +SMB_TRANS_10BIT Change address mode to 10-bit +.Ed .El .Pp The @@ -201,4 +223,6 @@ manual page first appeared in .Sh AUTHORS This manual page was written by -.An Nicolas Souchu . +.An Nicolas Souchu +and extended by +.An Michael Gmelin Aq freebsd@grem.de . Modified: user/ngie/more-tests/sys/amd64/vmm/vmm_instruction_emul.c ============================================================================== --- user/ngie/more-tests/sys/amd64/vmm/vmm_instruction_emul.c Mon Apr 27 06:34:51 2015 (r282054) +++ user/ngie/more-tests/sys/amd64/vmm/vmm_instruction_emul.c Mon Apr 27 06:40:28 2015 (r282055) @@ -72,6 +72,7 @@ enum { VIE_OP_TYPE_POP, VIE_OP_TYPE_MOVS, VIE_OP_TYPE_GROUP1, + VIE_OP_TYPE_STOS, VIE_OP_TYPE_LAST }; @@ -146,6 +147,16 @@ static const struct vie_op one_byte_opco .op_type = VIE_OP_TYPE_MOVS, .op_flags = VIE_OP_F_NO_MODRM | VIE_OP_F_NO_GLA_VERIFICATION }, + [0xAA] = { + .op_byte = 0xAA, + .op_type = VIE_OP_TYPE_STOS, + .op_flags = VIE_OP_F_NO_MODRM | VIE_OP_F_NO_GLA_VERIFICATION + }, + [0xAB] = { + .op_byte = 0xAB, + .op_type = VIE_OP_TYPE_STOS, + .op_flags = VIE_OP_F_NO_MODRM | VIE_OP_F_NO_GLA_VERIFICATION + }, [0xC6] = { /* XXX Group 11 extended opcode - not just MOV */ .op_byte = 0xC6, @@ -803,6 +814,68 @@ done: } static int +emulate_stos(void *vm, int vcpuid, uint64_t gpa, struct vie *vie, + struct vm_guest_paging *paging, mem_region_read_t memread, + mem_region_write_t memwrite, void *arg) +{ + int error, opsize, repeat; + uint64_t val; + uint64_t rcx, rdi, rflags; + + opsize = (vie->op.op_byte == 0xAA) ? 1 : vie->opsize; + repeat = vie->repz_present | vie->repnz_present; + + if (repeat) { + error = vie_read_register(vm, vcpuid, VM_REG_GUEST_RCX, &rcx); + KASSERT(!error, ("%s: error %d getting rcx", __func__, error)); + + /* + * The count register is %rcx, %ecx or %cx depending on the + * address size of the instruction. + */ + if ((rcx & vie_size2mask(vie->addrsize)) == 0) + return (0); + } + + error = vie_read_register(vm, vcpuid, VM_REG_GUEST_RAX, &val); + KASSERT(!error, ("%s: error %d getting rax", __func__, error)); + + error = memwrite(vm, vcpuid, gpa, val, opsize, arg); + if (error) + return (error); + + error = vie_read_register(vm, vcpuid, VM_REG_GUEST_RDI, &rdi); + KASSERT(error == 0, ("%s: error %d getting rdi", __func__, error)); + + error = vie_read_register(vm, vcpuid, VM_REG_GUEST_RFLAGS, &rflags); + KASSERT(error == 0, ("%s: error %d getting rflags", __func__, error)); + + if (rflags & PSL_D) + rdi -= opsize; + else + rdi += opsize; + + error = vie_update_register(vm, vcpuid, VM_REG_GUEST_RDI, rdi, + vie->addrsize); + KASSERT(error == 0, ("%s: error %d updating rdi", __func__, error)); + + if (repeat) { + rcx = rcx - 1; + error = vie_update_register(vm, vcpuid, VM_REG_GUEST_RCX, + rcx, vie->addrsize); + KASSERT(!error, ("%s: error %d updating rcx", __func__, error)); + + /* + * Repeat the instruction if the count register is not zero. + */ + if ((rcx & vie_size2mask(vie->addrsize)) != 0) + vm_restart_instruction(vm, vcpuid); + } + + return (0); +} + +static int *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***