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...
Garrett Cooper
ngie at FreeBSD.org
Mon Apr 27 06:40:38 UTC 2015
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 <osreldate.h>
+
/* 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 at FreeBSD.org
+.An \&Ed Schouten Aq Mt ed at 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 <freebsd at grem.de>
.\" 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 <sys/types.h>
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 at 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 ***
More information about the svn-src-user
mailing list