changeset 20609:8ecaafd1ab30

Merge illumos-gate
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Sun, 19 May 2019 20:15:38 -0400
parents df98494a0c23 (current diff) 068da7e6bca0 (diff)
children 7616bf36dcb7
files arch/x86/include/sys/x86_archext.h arch/x86/kernel/os/cpuid.c include/sys/font.h kernel/font/font.c share/man/man1/expand.1 share/man/man1/kbd.1 share/man/man1/msgfmt.1 share/man/man1/mt.1 share/man/man1/truss.1 share/man/man2/sysinfo.2 share/man/man2/utimes.2 share/man/man3c/pthread_getschedparam.3c share/man/man3c/pthread_rwlock_rdlock.3c share/man/man3c/pthread_rwlock_timedwrlock.3c share/man/man3c/select.3c share/man/man3contract/ct_dev_tmpl_set_aset.3contract share/man/man3elf/elf32_checksum.3elf share/man/man3lib/libproc.3lib share/man/man3nsl/getrpcbyname.3nsl share/man/man3nsl/t_sndudata.3nsl share/man/man3nsl/t_sndvudata.3nsl share/man/man3secdb/getauthattr.3secdb share/man/man4/service_provider.conf.4 share/man/man8/boot.8 share/man/man8/ypmap2src.8 share/man/man8/zfs.8 usr/src/boot/sys/boot/forth/menu.4th usr/src/boot/sys/boot/forth/support.4th usr/src/boot/sys/boot/i386/libi386/spinconsole.c usr/src/boot/sys/cddl/boot/zfs/zfsimpl.h usr/src/lib/libdtrace/common/dt_consume.c
diffstat 35 files changed, 345 insertions(+), 332 deletions(-) [+]
line wrap: on
line diff
--- a/arch/x86/include/sys/x86_archext.h	Sun May 19 15:28:21 2019 -0400
+++ b/arch/x86/include/sys/x86_archext.h	Sun May 19 20:15:38 2019 -0400
@@ -27,7 +27,7 @@
  * All rights reserved.
  */
 /*
- * Copyright 2018 Joyent, Inc.
+ * Copyright (c) 2019, Joyent, Inc.
  * Copyright 2012 Jens Elkner <jel+illumos@cs.uni-magdeburg.de>
  * Copyright 2012 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
  * Copyright 2014 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
@@ -254,6 +254,7 @@
 #define	CPUID_INTC_EDX_7_0_AVX5124FMAPS	0x00000008	/* AVX512 4FMAPS */
 #define	CPUID_INTC_EDX_7_0_SPEC_CTRL	0x04000000	/* Spec, IBPB, IBRS */
 #define	CPUID_INTC_EDX_7_0_STIBP	0x08000000	/* STIBP */
+#define	CPUID_INTC_EDX_7_0_FLUSH_CMD	0x10000000	/* IA32_FLUSH_CMD */
 #define	CPUID_INTC_EDX_7_0_ARCH_CAPS	0x20000000	/* IA32_ARCH_CAPS */
 #define	CPUID_INTC_EDX_7_0_SSBD		0x80000000	/* SSBD */
 
@@ -362,11 +363,12 @@
 /*
  * Intel IA32_ARCH_CAPABILITIES MSR.
  */
-#define	MSR_IA32_ARCH_CAPABILITIES	0x10a
-#define	IA32_ARCH_CAP_RDCL_NO		0x0001
-#define	IA32_ARCH_CAP_IBRS_ALL		0x0002
-#define	IA32_ARCH_CAP_RSBA		0x0004
-#define	IA32_ARCH_CAP_SSB_NO		0x0010
+#define	MSR_IA32_ARCH_CAPABILITIES		0x10a
+#define	IA32_ARCH_CAP_RDCL_NO			0x0001
+#define	IA32_ARCH_CAP_IBRS_ALL			0x0002
+#define	IA32_ARCH_CAP_RSBA			0x0004
+#define	IA32_ARCH_CAP_SKIP_L1DFL_VMENTRY	0x0008
+#define	IA32_ARCH_CAP_SSB_NO			0x0010
 
 /*
  * Intel Speculation related MSRs
@@ -379,6 +381,9 @@
 #define	MSR_IA32_PRED_CMD	0x49
 #define	IA32_PRED_CMD_IBPB	0x01
 
+#define	MSR_IA32_FLUSH_CMD	0x10b
+#define	IA32_FLUSH_CMD_L1D	0x01
+
 #define	MCI_CTL_VALUE		0xffffffff
 
 #define	MTRR_TYPE_UC		0
@@ -491,6 +496,8 @@
 #define	X86FSET_RSBA		78
 #define	X86FSET_SSB_NO		79
 #define	X86FSET_STIBP_ALL	80
+#define	X86FSET_FLUSH_CMD	81
+#define	X86FSET_L1D_VM_NO	82
 
 /*
  * Intel Deep C-State invariant TSC in leaf 0x80000007.
@@ -773,7 +780,7 @@
 
 #if defined(_KERNEL) || defined(_KMEMUSER)
 
-#define	NUM_X86_FEATURES	81
+#define	NUM_X86_FEATURES	83
 extern uchar_t x86_featureset[];
 
 extern void free_x86_featureset(void *featureset);
--- a/arch/x86/kernel/os/cpuid.c	Sun May 19 15:28:21 2019 -0400
+++ b/arch/x86/kernel/os/cpuid.c	Sun May 19 20:15:38 2019 -0400
@@ -32,7 +32,7 @@
  * Portions Copyright 2009 Advanced Micro Devices, Inc.
  */
 /*
- * Copyright 2018 Joyent, Inc.
+ * Copyright (c) 2019, Joyent, Inc.
  */
 /*
  * Various routines to handle identification
@@ -208,7 +208,9 @@
 	"ibrs_all",
 	"rsba",
 	"ssb_no",
-	"stibp_all"
+	"stibp_all",
+	"flush_cmd",
+	"l1d_vmentry_no"
 };
 
 boolean_t
@@ -950,6 +952,10 @@
 					add_x86_feature(featureset,
 					    X86FSET_RSBA);
 				}
+				if (reg & IA32_ARCH_CAP_SKIP_L1DFL_VMENTRY) {
+					add_x86_feature(featureset,
+					    X86FSET_L1D_VM_NO);
+				}
 				if (reg & IA32_ARCH_CAP_SSB_NO) {
 					add_x86_feature(featureset,
 					    X86FSET_SSB_NO);
@@ -960,6 +966,9 @@
 
 		if (ecp->cp_edx & CPUID_INTC_EDX_7_0_SSBD)
 			add_x86_feature(featureset, X86FSET_SSBD);
+
+		if (ecp->cp_edx & CPUID_INTC_EDX_7_0_FLUSH_CMD)
+			add_x86_feature(featureset, X86FSET_FLUSH_CMD);
 	}
 }
 
@@ -4002,7 +4011,7 @@
 static const char sh_l2_tlb4k_str[] = "shared-l2-tlb-4k";
 
 static const struct cachetab {
-	uint8_t	ct_code;
+	uint8_t		ct_code;
 	uint8_t		ct_assoc;
 	uint16_t	ct_line_size;
 	size_t		ct_size;
--- a/include/sys/font.h	Sun May 19 15:28:21 2019 -0400
+++ b/include/sys/font.h	Sun May 19 20:15:38 2019 -0400
@@ -22,6 +22,7 @@
 /*
  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
+ * Copyright 2019 Toomas Soome <tsoome@me.com>
  */
 
 #ifndef _SYS_FONT_H
@@ -42,7 +43,7 @@
 struct font {
 	short	width;
 	short	height;
-	uchar_t	*char_ptr[ENCODED_CHARS];
+	uint8_t	*char_ptr[ENCODED_CHARS];
 	void	*image_data;
 };
 
@@ -71,11 +72,11 @@
 extern bitmap_data_t font_data_6x10;
 
 void set_font(struct font *, short *, short *, short, short);
-void font_bit_to_pix4(struct font *, uint8_t *, uint8_t, uint8_t, uint8_t);
-void font_bit_to_pix8(struct font *, uint8_t *, uint8_t, uint8_t, uint8_t);
-void font_bit_to_pix16(struct font *, uint16_t *, uint8_t, uint16_t, uint16_t);
-void font_bit_to_pix24(struct font *, uint8_t *, uint8_t, uint32_t, uint32_t);
-void font_bit_to_pix32(struct font *, uint32_t *, uint8_t, uint32_t, uint32_t);
+void font_bit_to_pix4(struct font *, uint8_t *, uint32_t, uint8_t, uint8_t);
+void font_bit_to_pix8(struct font *, uint8_t *, uint32_t, uint8_t, uint8_t);
+void font_bit_to_pix16(struct font *, uint16_t *, uint32_t, uint16_t, uint16_t);
+void font_bit_to_pix24(struct font *, uint8_t *, uint32_t, uint32_t, uint32_t);
+void font_bit_to_pix32(struct font *, uint32_t *, uint32_t, uint32_t, uint32_t);
 
 #ifdef __cplusplus
 }
--- a/kernel/font/font.c	Sun May 19 15:28:21 2019 -0400
+++ b/kernel/font/font.c	Sun May 19 20:15:38 2019 -0400
@@ -25,7 +25,7 @@
  */
 
 /*
- * Copyright 2017 Toomas Soome <tsoome@me.com>
+ * Copyright 2019 Toomas Soome <tsoome@me.com>
  */
 
 /*
@@ -126,7 +126,7 @@
 font_bit_to_pix4(
     struct font *f,
     uint8_t *dest,
-    uint8_t c,
+    uint32_t c,
     uint8_t fg_color,
     uint8_t bg_color)
 {
@@ -138,6 +138,9 @@
 	uint8_t	nibblett;
 	int	bytes_wide;
 
+	if (c >= ENCODED_CHARS)
+		c = '?';
+
 	cp = f->char_ptr[c];
 	bytes_wide = (f->width + 7) / 8;
 
@@ -179,7 +182,7 @@
 font_bit_to_pix8(
     struct font *f,
     uint8_t *dest,
-    uint8_t c,
+    uint32_t c,
     uint8_t fg_color,
     uint8_t bg_color)
 {
@@ -192,6 +195,9 @@
 	uint8_t	mask;
 	int	bitsleft, nbits;
 
+	if (c >= ENCODED_CHARS)
+		c = '?';
+
 	cp = f->char_ptr[c];
 	bytes_wide = (f->width + 7) / 8;
 
@@ -234,7 +240,7 @@
 font_bit_to_pix16(
     struct font *f,
     uint16_t *dest,
-    uint8_t c,
+    uint32_t c,
     uint16_t fg_color16,
     uint16_t bg_color16)
 {
@@ -246,6 +252,9 @@
 	int	bytes_wide;
 	int	bitsleft, nbits;
 
+	if (c >= ENCODED_CHARS)
+		c = '?';
+
 	cp = f->char_ptr[c];
 	bytes_wide = (f->width + 7) / 8;
 
@@ -288,7 +297,7 @@
 font_bit_to_pix24(
     struct font *f,
     uint8_t *dest,
-    uint8_t c,
+    uint32_t c,
     uint32_t fg_color32,
     uint32_t bg_color32)
 {
@@ -300,6 +309,9 @@
 	int	bytes_wide;
 	int	bitsleft, nbits;
 
+	if (c >= ENCODED_CHARS)
+		c = '?';
+
 	cp = f->char_ptr[c];
 	bytes_wide = (f->width + 7) / 8;
 
@@ -346,7 +358,7 @@
 font_bit_to_pix32(
     struct font *f,
     uint32_t *dest,
-    uint8_t c,
+    uint32_t c,
     uint32_t fg_color32,
     uint32_t bg_color32)
 {
@@ -358,6 +370,9 @@
 	int	bytes_wide;
 	int	bitsleft, nbits;
 
+	if (c >= ENCODED_CHARS)
+		c = '?';
+
 	cp = f->char_ptr[c];
 	bytes_wide = (f->width + 7) / 8;
 
--- a/share/man/man1/expand.1	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man1/expand.1	Sun May 19 20:15:38 2019 -0400
@@ -63,7 +63,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 The \fBexpand\fR utility copies \fIfile\fRs (or the standard input) to the
 standard output, with TAB characters expanded to SPACE characters. BACKSPACE
@@ -78,7 +77,6 @@
 SPACE and TAB characters are converted to strings of tabs, but this can be
 overridden by the \fB-a\fR option (see the OPTIONS section below).
 .SH OPTIONS
-.sp
 .LP
 The following options are supported for \fBexpand\fR:
 .sp
@@ -165,9 +163,8 @@
 .RE
 
 .SH OPERANDS
-.sp
 .LP
-The following ooperand is supported for \fBexpand\fR and \fBunexpand\fR:
+The following operand is supported for \fBexpand\fR and \fBunexpand\fR:
 .sp
 .ne 2
 .na
@@ -178,13 +175,11 @@
 .RE
 
 .SH ENVIRONMENT VARIABLES
-.sp
 .LP
 See \fBenviron\fR(5) for descriptions of the following environment variables
 that affect the execution of \fBexpand\fR and \fBunexpand\fR: \fBLANG\fR,
 \fBLC_ALL\fR, \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
 .SH EXIT STATUS
-.sp
 .LP
 The following exit values are returned:
 .sp
@@ -206,7 +201,6 @@
 .RE
 
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
@@ -224,6 +218,5 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBtabs\fR(1), \fBattributes\fR(5), \fBenviron\fR(5), \fBstandards\fR(5)
--- a/share/man/man1/kbd.1	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man1/kbd.1	Sun May 19 20:15:38 2019 -0400
@@ -75,7 +75,7 @@
 .LP
 Although PPP is a binary protocol, it has the ability to avoid using characters
 that interfere with serial operation. The default alternate break sequence is
-CTRL-m \fB~\fR CTRL-b, or \fB0D 7E 02\fR in hexidecimal. In PPP, this can be
+CTRL-m \fB~\fR CTRL-b, or \fB0D 7E 02\fR in hexadecimal. In PPP, this can be
 avoided by setting either \fB0x00000004\fR or \fB0x00002000\fR in the ACCM.
 This forces an escape for the CTRL-b or CTRL-m characters, respectively.
 .sp
--- a/share/man/man1/msgfmt.1	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man1/msgfmt.1	Sun May 19 20:15:38 2019 -0400
@@ -16,7 +16,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 The \fBmsgfmt\fR utility creates message object files from portable object
 files (\fIfilename\fR\fB\&.po\fR), without changing the portable object files.
@@ -35,7 +34,6 @@
 the \fBLC_CTYPE\fR locale category or according to the codeset specified in the
 \fB\&.po\fR file.
 .SH OPTIONS
-.sp
 .LP
 The following options are supported:
 .sp
@@ -135,7 +133,6 @@
 .RE
 
 .SH USAGE
-.sp
 .LP
 The format of portable object files (\fB\&.po\fR files) is defined as follows.
 Each \fB\&.po\fR file contains one or more lines, with each line containing
@@ -243,7 +240,7 @@
 .LP
 The directive \fBmsgstr\fR[\fIn\fR] (where \fIn\fR = 0, 1, 2, ...) specifies
 the target string to be used with plural form handling functions
-\fBngettext()\fR, \fBdngettext()\fR, and \fBdcngetttext()\fR.
+\fBngettext()\fR, \fBdngettext()\fR, and \fBdcngettext()\fR.
 .sp
 .LP
 Message strings can contain the escape sequences \fB\\n\fR for newline,
@@ -353,7 +350,6 @@
 \fBnl_langinfo(CODESET\fR)) by default, and can be changed by the call of
 \fBbind_textdomain_codeset()\fR.
 .SS "Message catalog file format"
-.sp
 .LP
 The \fBmsgfmt\fR utility can generate the message object both in Solaris
 message catalog file format and in GNU-compatible message catalog file format.
@@ -467,13 +463,11 @@
 .sp
 
 .SH ENVIRONMENT VARIABLES
-.sp
 .LP
 See \fBenviron\fR(5) for descriptions of the following environmental variables
 that affect the execution of \fBmsgfmt\fR: \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR,
 and \fBNLSPATH\fR.
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
@@ -489,12 +483,10 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBxgettext\fR(1), \fBgettext\fR(3C), \fBsetlocale\fR(3C), \fBattributes\fR(5),
 \fBenviron\fR(5)
 .SH NOTES
-.sp
 .LP
 Installing message catalogs under the C locale is pointless, since they are
 ignored for the sake of efficiency.
--- a/share/man/man1/mt.1	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man1/mt.1	Sun May 19 20:15:38 2019 -0400
@@ -13,13 +13,11 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 The \fBmt\fR utility sends commands to a magnetic tape drive. If \fB-f\fR
 \fItapename\fR is not specified, the environment variable \fBTAPE\fR is used.
 If \fBTAPE\fR does not exist, \fBmt\fR uses the device \fB/dev/rmt/0n\fR.
 .SH OPTIONS
-.sp
 .LP
 The following options are supported:
 .sp
@@ -32,7 +30,6 @@
 .RE
 
 .SH OPERANDS
-.sp
 .LP
 The following operands are supported:
 .sp
@@ -173,7 +170,7 @@
 .ad
 .RS 10n
 Back spaces \fIcount\fR files. The tape is positioned on the first block of the
-file. This is equivalent to \fIcount+1\fR \fBbsf\fRs ollowed by one \fBfsf\fR.
+file. This is equivalent to \fIcount+1\fR \fBbsf\fRs followed by one \fBfsf\fR.
 .RE
 
 .sp
@@ -321,7 +318,6 @@
 .RE
 
 .SH EXIT STATUS
-.sp
 .ne 2
 .na
 \fB\fB0\fR\fR
@@ -350,7 +346,6 @@
 .RE
 
 .SH FILES
-.sp
 .ne 2
 .na
 \fB\fB/dev/rmt/*\fR\fR
@@ -360,12 +355,10 @@
 .RE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBtar\fR(1), \fBtcopy\fR(1), \fBar.h\fR(3HEAD), \fBattributes\fR(5),
 \fBmtio\fR(7I), \fBst\fR(7D)
 .SH BUGS
-.sp
 .LP
 Not all devices support all options. Some options are hardware-dependent. Refer
 to the corresponding device manual page.
--- a/share/man/man1/truss.1	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man1/truss.1	Sun May 19 20:15:38 2019 -0400
@@ -217,7 +217,7 @@
 executed. \fBtruss\fR takes control of each process and begins tracing it
 provided that the userid and groupid of the process match those of the user or
 that the user is a privileged user. Users can trace only selected threads by
-appending \fB/\fR\fIthread-id\fR to the process-id. Mutiple threads can be
+appending \fB/\fR\fIthread-id\fR to the process-id. Multiple threads can be
 selected using the \fB-\fR and \fB,\fR delimiters. For example \fB/1,2,7-9\fR
 traces threads \fB1\fR, \fB2\fR, \fB7\fR, \fB8\fR, and \fB9\fR. Processes can
 also be specified by their names in the \fB/proc\fR directory, for example,
--- a/share/man/man2/sysinfo.2	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man2/sysinfo.2	Sun May 19 20:15:38 2019 -0400
@@ -279,7 +279,7 @@
 .sp .6
 .RS 4n
 Copy into the array pointed to by \fIbuf\fR an ASCII string consisting of the
-ASCII hexidecimal encoding of the name of the interface configured by
+ASCII hexadecimal encoding of the name of the interface configured by
 \fBboot\fR(8) followed by the DHCPACK reply from the server. This command is
 intended for use only by the \fBdhcpagent\fR(8) DHCP client daemon for the
 purpose of adopting the DHCP maintenance of the interface configured by
--- a/share/man/man2/utimes.2	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man2/utimes.2	Sun May 19 20:15:38 2019 -0400
@@ -119,7 +119,7 @@
 when encountering symbolic links may be controlled by the value of the
 \fIflag\fR argument. If the value of flag is the constant
 \fBAT_SYMLINK_NOFOLLOW\fR, then when a symbolic link is encountered while
-resoloving a path, it will not be followed. Otherwise, the value of \fIflag\fR
+resolving a path, it will not be followed. Otherwise, the value of \fIflag\fR
 should be \fB0\fR.
 .SH RETURN VALUES
 .LP
--- a/share/man/man3c/pthread_getschedparam.3c	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3c/pthread_getschedparam.3c	Sun May 19 20:15:38 2019 -0400
@@ -65,7 +65,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 The \fBpthread_getschedparam()\fR and \fBpthread_setschedparam()\fR functions
 allow the scheduling policy and scheduling parameters of individual threads
@@ -147,15 +146,13 @@
 If the \fBpthread_setschedparam()\fR function fails, no scheduling parameters
 will be changed  for the target thread.
 .SH RETURN VALUES
-.sp
 .LP
 If successful, the \fBpthread_getschedparam()\fR and
 \fBpthread_setschedparam()\fR functions return  \fB0\fR. Otherwise, an error
 number is returned to indicate the error.
 .SH ERRORS
-.sp
 .LP
-The \fBpthread_getschedparam()\fR and \fBpthread_gsetschedparam()\fR functions
+The \fBpthread_getschedparam()\fR and \fBpthread_setschedparam()\fR functions
 will fail if:
 .sp
 .ne 2
@@ -190,7 +187,6 @@
 .RE
 
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
@@ -210,7 +206,6 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBpthread_attr_init\fR(3C), \fBsched_getparam\fR(3C),
 \fBsched_get_priority_max\fR(3C), \fBsched_get_priority_max\fR(3C),
--- a/share/man/man3c/pthread_rwlock_rdlock.3c	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3c/pthread_rwlock_rdlock.3c	Sun May 19 20:15:38 2019 -0400
@@ -63,7 +63,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 The \fBpthread_rwlock_rdlock()\fR function applies a read lock to the
 read-write lock referenced by \fIrwlock\fR.  The calling thread acquires the
@@ -93,7 +92,7 @@
 \fBpthread_rwlock_rdlock()\fR function, with the exception that the function
 fails if the equivalent \fBpthread_rwlock_rdlock()\fR call would have blocked
 the calling thread.  In no case will the \fBpthread_rwlock_tryrdlock()\fR
-function ever bloc. It always either acquires the lock or fails and returns
+function ever block. It always either acquires the lock or fails and returns
 immediately.
 .sp
 .LP
@@ -105,7 +104,6 @@
 upon return from the signal handler the thread resumes waiting for the
 read-write lock for reading as if it was not interrupted.
 .SH RETURN VALUES
-.sp
 .LP
 If successful, the \fBpthread_rwlock_rdlock()\fR function returns \fB0\fR.
 Otherwise, an error number is returned to indicate the error.
@@ -115,7 +113,6 @@
 reading on the read-write lock object referenced by \fIrwlock\fR is acquired.
 Otherwise an error number  is returned to indicate the error.
 .SH ERRORS
-.sp
 .LP
 The \fBpthread_rwlock_rdlock()\fR and \fBpthread_rwlock_tryrdlock()\fR
 functions will fail if:
@@ -155,7 +152,6 @@
 .RE
 
 .SH ATTRIBUTES
-.sp
 .LP
 See  \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
@@ -173,7 +169,6 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBpthread_rwlock_init\fR(3C), \fBpthread_rwlock_wrlock\fR(3C),
 \fBpthread_rwlockattr_init\fR(3C), \fBpthread_rwlock_unlock\fR(3C),
--- a/share/man/man3c/pthread_rwlock_timedwrlock.3c	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3c/pthread_rwlock_timedwrlock.3c	Sun May 19 20:15:38 2019 -0400
@@ -65,7 +65,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 The \fBpthread_rwlock_timedwrlock()\fR function applies a write lock to the
 read-write lock referenced by \fIrwlock\fR as in the
@@ -89,7 +88,7 @@
 The resolution of the timeout is the resolution of the \fBCLOCK_REALTIME\fR
 clock. The \fBtimespec\fR data type is defined in the <\fBtime.h\fR> header.
 Under no circumstances does either function fail with a timeout if the lock can
-be acquired immediately. The validity of the a\fIbs_timeout\fR parameter need
+be acquired immediately. The validity of the \fIabs_timeout\fR parameter need
 not be checked if the lock can be immediately acquired.
 .sp
 .LP
@@ -104,14 +103,12 @@
 read-write lock. The results are undefined if this function is called with an
 uninitialized read-write lock.
 .SH RETURN VALUES
-.sp
 .LP
 The \fBpthread_rwlock_timedwrlock()\fR and
 \fBpthread_rwlock_reltimedwrlock_np()\fR functions return 0 if the lock for
 writing on the read-write lock object referenced by \fIrwlock\fR is acquired.
 Otherwise, an error number is returned to indicate the error.
 .SH ERRORS
-.sp
 .LP
 The \fBpthread_rwlock_timedwrlock()\fR and
 \fBpthread_rwlock_reltimedwrlock_np()\fR functions will fail if:
@@ -149,7 +146,6 @@
 .RE
 
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
@@ -171,7 +167,6 @@
 The \fBpthread_rwlock_timedwrlock()\fR function is Standard. The
 \fBpthread_rwlock_reltimedwrlock_np()\fR function is Stable.
 .SH SEE ALSO
-.sp
 .LP
 \fBpthread_rwlock_destroy\fR(3C), \fBpthread_rwlock_rdlock\fR(3C),
 \fBpthread_rwlock_timedrdlock\fR(3C), \fBpthread_rwlock_trywrlock\fR(3C),
--- a/share/man/man3c/select.3c	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3c/select.3c	Sun May 19 20:15:38 2019 -0400
@@ -164,7 +164,7 @@
 in the descriptor sets are examined.
 .Pp
 If the
-.Fa readfs
+.Fa readfds
 argument is not a null pointer, it points to an object of
 type
 .Vt fd_set
@@ -173,7 +173,7 @@
 ready to read.
 .Pp
 If the
-.Fa writefs
+.Fa writefds
 argument is not a null pointer, it points to an object of
 type
 .Vt fd_set
@@ -191,8 +191,8 @@
 have error conditions pending.
 .Pp
 Upon successful completion, the objects pointed to by the
-.Fa readfs ,
-.Fa writefs ,
+.Fa readfds ,
+.Fa writefds ,
 and
 .Fa errorfds
 arguments are modified to indicate which file descriptors are ready for reading,
@@ -354,7 +354,7 @@
 completes successfully and returns 0.
 .Pp
 If the
-.Fa readfs ,
+.Fa readfds ,
 .Fa writefds ,
 and
 .Fa errorfds
--- a/share/man/man3contract/ct_dev_tmpl_set_aset.3contract	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3contract/ct_dev_tmpl_set_aset.3contract	Sun May 19 20:15:38 2019 -0400
@@ -49,7 +49,6 @@
 .fi
 
 .SH PARAMETERS
-.sp
 .ne 2
 .na
 \fB\fIaset\fR\fR
@@ -118,7 +117,6 @@
 .RE
 
 .SH DESCRIPTION
-.sp
 .LP
 These functions read and write device contract terms and operate on device
 contract template file descriptors obtained from the \fBcontract\fR(4)
@@ -152,12 +150,10 @@
 \fBct_dev_tmpl_clear_noneg()\fR term clears the nonnegotiable term from a
 template.
 .SH RETURN VALUES
-.sp
 .LP
 Upon successful completion, these functions return 0. Otherwise, they return a
 non-zero error value.
 .SH ERRORS
-.sp
 .LP
 The \fBct_dev_tmpl_set_aset()\fR function will fail if:
 .sp
@@ -242,14 +238,13 @@
 .sp
 .ne 2
 .na
-\fB\fBEOVEFLOW\fR\fR
+\fB\fBEOVERFLOW\fR\fR
 .ad
 .RS 12n
 The supplied buffer is too small.
 .RE
 
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
@@ -267,7 +262,6 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBlibcontract\fR(3LIB), \fBcontract\fR(4), \fBdevices\fR(4),
 \fBattributes\fR(5)
--- a/share/man/man3elf/elf32_checksum.3elf	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3elf/elf32_checksum.3elf	Sun May 19 20:15:38 2019 -0400
@@ -21,7 +21,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 The \fBelf32_checksum()\fR function returns a simple checksum of selected
 sections of the image identified by \fIelf\fR. The value is typically used as
@@ -29,13 +28,12 @@
 shared objects.
 .sp
 .LP
-Selected sections of the image are used to calcluate the checksum in order that
+Selected sections of the image are used to calculate the checksum in order that
 its value is not affected by utilities such as \fBstrip\fR(1).
 .sp
 .LP
 For the 64\(mibit class, replace 32 with 64 as appropriate.
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
@@ -53,7 +51,6 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBelf\fR(3ELF), \fBelf_version\fR(3ELF), \fBgelf\fR(3ELF), \fBlibelf\fR(3LIB),
 \fBattributes\fR(5)
--- a/share/man/man3lib/libproc.3lib	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3lib/libproc.3lib	Sun May 19 20:15:38 2019 -0400
@@ -9,9 +9,9 @@
 .\" http://www.illumos.org/license/CDDL.
 .\"
 .\"
-.\" Copyright 2015 Joyent, Inc.
+.\" Copyright 2018 Joyent, Inc.
 .\"
-.Dd June 06, 2016
+.Dd September 15, 2018
 .Dt LIBPROC 3LIB
 .Os
 .Sh NAME
@@ -58,7 +58,7 @@
 To manipulate an existing process first
 .Em grab
 it with the
-.Em Pgrab
+.Fn Pgrab
 function.
 A process is generally stopped as a side effect of grabbing it.
 Callers must exercise caution, as if they do not use the library correctly, or
@@ -66,7 +66,7 @@
 .Pp
 Unprivileged users may only grab their own processes.
 Users with the privilege
-.Sy PRIV_PROC_OWNER
+.Brq Sy PRIV_PROC_OWNER
 may manipulate processes that they do not own; however, additional
 restrictions as described in
 .Xr privileges 5
@@ -114,9 +114,9 @@
 Many of the operations in the library rely on debug information being
 present in a process and its associated libraries.
 The library leverages symbol table information, CTF data
-.Pf ( Xr CTF 4 )
+.Pq Xr CTF 4
 sections, and frame unwinding information based on the use of an ABI
-defined frame pointer, eg.
+defined frame pointer, e\&.g\&.
 .Sy %ebp
 and
 .Sy %rbp
@@ -217,34 +217,34 @@
 .It Sy Plmid_to_loadobj Ta Sy Plmid_to_map
 .It Sy Plookup_by_addr Ta Sy Plookup_by_name
 .It Sy Plwp_alt_stack Ta Sy Plwp_getfpregs
-.It Sy Plwp_getpsinfo Ta Sy Plwp_getregs
-.It Sy Plwp_getspymaster Ta Sy Plwp_main_stack
-.It Sy Plwp_setfpregs Ta Sy Plwp_setregs
-.It Sy Plwp_stack Ta Sy Pname_to_ctf
-.It Sy Pname_to_loadobj Ta Sy Pname_to_map
-.It Sy Pobjname Ta Sy Pobjname_resolved
-.It Sy Pplatform Ta Sy Ppltdest
-.It Sy Ppriv Ta Sy Ppsinfo
-.It Sy Pputareg Ta Sy Prd_agent
-.It Sy Pread Ta Sy Pread_string
-.It Sy Preset_maps Ta Sy Psetbkpt
-.It Sy Psecflags Ta Sy Psetcred
-.It Sy Psetfault Ta Sy Psetflags
-.It Sy Psetpriv Ta Sy Psetrun
-.It Sy Psetsignal Ta Sy Psetsysentry
-.It Sy Psetsysexit Ta Sy Psetwapt
-.It Sy Psetzoneid Ta Sy Psignal
-.It Sy Pstate Ta Sy Pstatus
-.It Sy Pstop Ta Sy Pstopstatus
-.It Sy Psync Ta Sy Psysentry
-.It Sy Psysexit Ta Sy Puname
-.It Sy Punsetflags Ta Sy Pupdate_maps
-.It Sy Pupdate_syms Ta Sy Pwait
-.It Sy Pwrite Ta Sy Pxecbkpt
-.It Sy Pxecwapt Ta Sy Pxlookup_by_addr
-.It Sy Pxlookup_by_addr_resolved Ta Sy Pxlookup_by_name
-.It Sy Pzonename Ta Sy Pzonepath
-.It Sy Pzoneroot Ta
+.It Sy Plwp_getname Ta Sy Plwp_getpsinfo
+.It Sy Plwp_getregs Ta Sy Plwp_getspymaster
+.It Sy Plwp_main_stack Ta Sy Plwp_setfpregs
+.It Sy Plwp_setregs Ta Sy Plwp_stack
+.It Sy Pname_to_ctf Ta Sy Pname_to_loadobj
+.It Sy Pname_to_map Ta Sy Pobjname
+.It Sy Pobjname_resolved Ta Sy Pplatform
+.It Sy Ppltdest Ta Sy Ppriv
+.It Sy Ppsinfo Ta Sy Pputareg
+.It Sy Prd_agent Ta Sy Pread
+.It Sy Pread_string Ta Sy Preset_maps
+.It Sy Psetbkpt Ta Sy Psecflags
+.It Sy Psetcred Ta Sy Psetfault
+.It Sy Psetflags Ta Sy Psetpriv
+.It Sy Psetrun Ta Sy Psetsignal
+.It Sy Psetsysentry Ta Sy Psetsysexit
+.It Sy Psetwapt Ta Sy Psetzoneid
+.It Sy Psignal Ta Sy Pstate
+.It Sy Pstatus Ta Sy Pstop
+.It Sy Pstopstatus Ta Sy Psync
+.It Sy Psysentry Ta Sy Psysexit
+.It Sy Puname Ta Sy Punsetflags
+.It Sy Pupdate_maps Ta Sy Pupdate_syms
+.It Sy Pwait Ta Sy Pwrite
+.It Sy Pxecbkpt Ta Sy Pxecwapt
+.It Sy Pxlookup_by_addr Ta Sy Pxlookup_by_addr_resolved
+.It Sy Pxlookup_by_name Ta Sy Pzonename
+.It Sy Pzonepath Ta Sy Pzoneroot Ta
 .El
 .Ss Thread interrogation and manipulation
 The following routines obtain information about a thread and allow
@@ -371,7 +371,7 @@
 for example) or if a tracing event is hit.
 .Pp
 The reason a process is stopped may be obtained through the thread's
-.Sy lwpstatus_t
+.Vt lwpstatus_t
 structure read directly from /proc or obtained through the
 .Xr Lstatus 3PROC
 function.
@@ -383,12 +383,12 @@
 .Xr Preopen 3PROC .
 For more information on losing control of a process, see
 .Xr proc 4 .
-.It DV PS_UNDEAD
+.It Dv PS_UNDEAD
 A zombie process.
 It has terminated, but it has not been cleaned up yet by its parent.
 For more on the conditions of becoming a zombie, see
 .Xr exec 2 .
-.It DV_PS_DEAD
+.It Dv PS_DEAD
 Processes in this state are always core files.
 See the earlier section
 .Sx Core Files
@@ -414,21 +414,21 @@
 .Dv PS_STOP .
 Process handles in the other states have no notion of settable tracing
 flags, though core files
-.Pf ( type Dv PS_DEAD )
+.Pq type Dv PS_DEAD
 may have a read-only snapshot of their tracing settings available.
 .Sh TYPES
 The
 .Nm
 library uses many types that come from the /proc file system
-.Pf ( Xr proc 4 )
+.Pq Xr proc 4
 and the ELF format
-.Pf ( Xr elf 3ELF ) .
+.Pq Xr elf 3ELF .
 However, it also defines the following types:
 .Pp
-.Sy struct ps_prochandle
+.Vt struct ps_prochandle
 .Pp
 The
-.Sy struct ps_prochandle
+.Vt struct ps_prochandle
 is an opaque handle to the library and the core element of control for a
 process.
 Consumers obtain pointers to a handle through the use of the
@@ -442,12 +442,12 @@
 functions to relinquish the handle, release associated resources, and
 potentially set the process to run again.
 .Pp
-.Sy struct ps_lwphandle
+.Vt struct ps_lwphandle
 .Pp
 The
-.Sy struct ps_lwphandle
+.Vt struct ps_lwphandle
 is analogous to the
-.Sy struct ps_prochandle ,
+.Vt struct ps_prochandle ,
 but it represents the control of an individual thread, rather than a
 process.
 Consumers obtain pointers to a handle through the
@@ -456,10 +456,10 @@
 .Fn Lfree
 function.
 .Pp
-.Sy core_content_t
+.Vt core_content_t
 .Pp
 The
-.Sy core_content_t
+.Vt core_content_t
 is a value which describes the various content types of core files.
 These are used in functions such as
 .Xr Pcontent 3PROC
@@ -546,19 +546,19 @@
 .Dv CC_CONTENT_ANON ,
 .Dv CC_CONTENT_CTF ,
 and
-.Dv CC_CONTENT_SYMTAB.
+.Dv CC_CONTENT_SYMTAB .
 Note that the default may change.
 Comparisons with CC_CONTENT_DEFAULT should validate that all of the expected
 bits are set with an expression such as
-.Li (c\ &\ CC_CONTENT_DEFAULT)\ ==\ CC_CONTENT_DEFAULT.
+.Li (c\ &\ CC_CONTENT_DEFAULT)\ ==\ CC_CONTENT_DEFAULT .
 .It Dv CC_CONTENT_INVALID
 This indicates that the contents are invalid.
 .El
 .Pp
-.Sy prfdinfo_t
+.Vt prfdinfo_t
 .Pp
 The
-.Sy prfdinfo_t
+.Vt prfdinfo_t
 structure is used with the
 .Fn Pfdinfo_iter
 function which describes information about a file descriptor.
@@ -591,55 +591,55 @@
 .Sy pr_fd
 contains the number of the file descriptor of the file.
 The members
-.Sy pr_mode ,
-.Sy pr_uid ,
-.Sy pr_gid ,
-.Sy pr_ino ,
+.Fa pr_mode ,
+.Fa pr_uid ,
+.Fa pr_gid ,
+.Fa pr_ino ,
 and
-.Sy pr_size
+.Fa pr_size
 are the same as the members
-.Sy st_mode ,
-.Sy st_uid ,
-.Sy st_gid ,
-.Sy st_ino ,
+.Fa st_mode ,
+.Fa st_uid ,
+.Fa st_gid ,
+.Fa st_ino ,
 and
-.Sy st_size
+.Fa st_size
 in the
-.Sy stat
+.Fa stat
 structure.
 .Pp
 The
-.Sy pr_major
+.Fa pr_major
 and
-.Sy pr_minor
+.Fa pr_minor
 members contain the major and minor numbers of the device containing the
 directory for this file.
 This is similar to the
-.Sy st_dev
+.Fa st_dev
 member of the
-.Sy stat
+.Vt stat
 structure, except that it is broken out into its major and minor components.
 The
-.Sy pr_rmajor
+.Fa pr_rmajor
 and
-.Sy pr_rminor
+.Fa pr_rminor
 members are similar in spirit to
-.Sy pr_major
+.Fa pr_major
 and
-.Sy pr_minor ;
+.Fa pr_minor ;
 however, they are equivalent to the
-.Sy st_rdev
+.Fa st_rdev
 member of the
-.Sy stat
+.Vt stat
 structure and thus have meaning for special character and block files.
 .Pp
 The
-.Sy pr_offset
+.Fa pr_offset
 member contains the current seek offset of the file descriptor.
 The
-.Sy pr_fileflags
+.Fa pr_fileflags
 and
-.Sy pr_fdflags
+.Fa pr_fdflags
 members contain the flags that would have been returned by a call to
 .Xr fcntl 2
 with the arguments
@@ -648,10 +648,10 @@
 .Dv F_GETFD
 respectively.
 .Pp
-.Sy prsyminfo_t
+.Vt prsyminfo_t
 .Pp
 The
-.Sy prsyminfo_t
+.Vt prsyminfo_t
 structure is used with the various symbol look up functions
 .Fn Pxlookup_by_name ,
 .Fn Pxlookup_by_addr ,
@@ -670,29 +670,29 @@
 .Ed
 .Pp
 The member
-.Sy prs_object
+.Fa prs_object
 points to a string that contains the name of the object file, if known,
 that the symbol comes from.
 The member
-.Sy prs_name
+.Fa prs_name
 points to the name of the symbol, if known.
 This may be unknown due to a stripped binary that contains no symbol table.
 The member
-.Sy prs_lmid
+.Fa prs_lmid
 indicates the link map identifier that the symbol was found on.
 For more information on link map identifiers refer to the
-.Em Linker and Libraries Guide
+.%B Linker and Libraries Guide
 and
 .Xr dlopen 3C .
 .Pp
 The members
-.Sy prs_id
+.Fa prs_id
 and
-.Sy prs_table
+.Fa prs_table
 can be used to determine both the symbol table that the entry came from
 and which entry in the table it corresponds to.
 If the value of
-.Sy prs_table
+.Fa prs_table
 is
 .Dv PR_SYMTAB
 then it came from the ELF standard symbol table.
@@ -700,10 +700,10 @@
 .Dv PR_DYNSYM ,
 then that indicates that it comes from the process's dynamic section.
 .Pp
-.Sy proc_lwp_f
+.Vt proc_lwp_f
 .Pp
 The
-.Sy proc_lwp_f
+.Vt proc_lwp_f
 is a function pointer type that is used with the
 .Fn Plwp_iter
 function.
@@ -720,10 +720,10 @@
 For additional information on using this type, see
 .Xr Plwp_iter 3PROC .
 .Pp
-.Sy proc_lwp_all_f
+.Vt proc_lwp_all_f
 .Pp
 The
-.Sy proc_lwp_all_f
+.Vt proc_lwp_all_f
 is a function pointer type that is used with the
 .Fn Plwp_iter_all
 function.
@@ -745,10 +745,10 @@
 For additional information on using this type, see
 .Xr Plwp_iter_all 3PROC .
 .Pp
-.Sy proc_walk_f
+.Vt proc_walk_f
 .Pp
 The
-.Sy proc_walk_f
+.Vt proc_walk_f
 is a function pointer type that is used with the
 .Fn proc_walk
 function.
@@ -771,10 +771,10 @@
 For more information on using this, see
 .Xr proc_walk 3PROC .
 .Pp
-.Sy proc_map_f
+.Vt proc_map_f
 .Pp
 The
-.Sy proc_map_f
+.Vt proc_map_f
 is a function pointer type that is used with the
 .Fn Pmapping_iter ,
 .Fn Pmapping_iter_resolved ,
@@ -799,10 +799,10 @@
 For additional information on using this type, see
 .Xr Pmapping_iter 3PROC .
 .Pp
-.Sy proc_env_f
+.Vt proc_env_f
 .Pp
 The
-.Sy proc_env_f
+.Vt proc_env_f
 is a function pointer type that is used with the
 .Fn Penv_iter
 function.
@@ -817,7 +817,7 @@
 .Fc .
 The first argument is a pointer to an argument that the user specifies.
 The second argument is a pointer to the
-.Sy struct ps_prochandle
+.Vt struct ps_prochandle
 that the callback was passed to.
 The third argument is the address of the environment variable in the process.
 The fourth argument is the environment variable.
@@ -830,10 +830,10 @@
 For additional information on using this type, see
 .Xr Penv_iter 3PROC .
 .Pp
-.Sy proc_sym_f
+.Vt proc_sym_f
 .Pp
 The
-.Sy proc_sym_f
+.Vt proc_sym_f
 is a function pointer type that is used with the
 .Fn Psmbol_iter ,
 .Fn Psymbol_iter_by_addr ,
@@ -865,10 +865,10 @@
 and
 .Xr Psymbol_iter_by_lmid 3PROC .
 .Pp
-.Sy proc_xsym_f
+.Vt proc_xsym_f
 .Pp
 The
-.Sy proc_xsym_f
+.Vt proc_xsym_f
 is a function pointer type that is used with the
 .Fn Pxsymbol_iter
 function.
@@ -882,19 +882,19 @@
 .Fa "const prsyminfo_t *"
 .Fc .
 The first three arguments are identical to those of
-.Sy proc_sym_f .
+.Vt proc_sym_f .
 The final argument contains additional information about the symbol
 itself.
 The members of the
-.Sy prsyminfo_t
+.Vt prsyminfo_t
 are defined earlier in this section.
 For additional information on using this type, see
 .Xr Pxsymbol_iter 3PROC .
 .Pp
-.Sy proc_stack_f
+.Vt proc_stack_f
 .Pp
 The
-.Sy proc_stack_f
+.Vt proc_stack_f
 is a function pointer type that is used with the
 .Fn Pstack_iter
 function.
@@ -912,7 +912,7 @@
 The registers that contain stack information, usually the stack pointer and
 frame pointer, will be filled in to point to an entry.
 The
-.Sy prgregset_t
+.Vt prgregset_t
 is defined in
 .Xr proc 4 .
 .Pp
@@ -924,10 +924,10 @@
 For additional information on using this type, see
 .Xr Pstack_iter 3PROC .
 .Pp
-.Sy proc_fdinfo_f
+.Vt proc_fdinfo_f
 .Pp
 The
-.Sy proc_fdinfo_f
+.Vt proc_fdinfo_f
 is a function pointer type that is used with the
 .Fn Pfdinfo_iter
 function.
@@ -941,7 +941,7 @@
 The first argument is a pointer to an argument that the user specifies.
 The second argument contains information about an open file descriptor.
 The members of the
-.Sy prfdinfo_t
+.Vt prfdinfo_t
 are defined earlier in this section.
 For additional information on using this type, see
 .Xr Pfdinfo_iter 3PROC .
@@ -973,7 +973,7 @@
 .Ev LIBPROC_DEBUG
 to some value will print information to standard error.
 For example,
-.Ev LIBPROC_DEUBG Ns = Ns Em please .
+.Ev LIBPROC_DEBUG Ns = Ns Em please .
 .Sh LOCKING
 Most functions operate on a handle to a process in the form of a
 .Vt "struct ps_prochandle *" .
--- a/share/man/man3nsl/getrpcbyname.3nsl	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3nsl/getrpcbyname.3nsl	Sun May 19 20:15:38 2019 -0400
@@ -57,7 +57,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 These functions are used to obtain entries for RPC (Remote Procedure Call)
 services.  An entry may come from any of the sources for \fBrpc\fR specified in
@@ -94,7 +93,6 @@
 the process to call more RPC entry retrieval functions after calling
 \fBendrpcent()\fR.
 .SS "Reentrant Interfaces"
-.sp
 .LP
 The functions \fBgetrpcbyname()\fR, \fBgetrpcbynumber()\fR, and
 \fBgetrpcent()\fR use static storage that is re-used in each call, making these
@@ -136,7 +134,6 @@
 \fBgetrpcbynumber_r()\fR leave the enumeration position in an indeterminate
 state.
 .SH RETURN VALUES
-.sp
 .LP
 RPC entries are represented by the \fBstruct rpcent\fR structure defined in
 \fB<rpc/rpcent.h>\fR:
@@ -173,22 +170,19 @@
 \fBgetrpcbynumber_r()\fR, and \fBgetrpcent_r()\fR is non-NULL, it is always
 equal to the \fIresult\fR pointer that was supplied by the caller.
 .SH ERRORS
-.sp
 .LP
-The reentrant functions  \fBgetrpcyname_r()\fR, \fBgetrpcbynumber_r(\|)\fR and
+The reentrant functions  \fBgetrpcbyname_r()\fR, \fBgetrpcbynumber_r(\|)\fR and
 \fBgetrpcent_r()\fR will return \fBNULL\fR and set \fBerrno\fR to \fBERANGE\fR
 if the length of the buffer supplied by caller is not large enough to store the
 result. See \fBIntro\fR(2) for the proper usage and interpretation of
 \fBerrno\fR in multithreaded applications.
 .SH FILES
-.sp
 .LP
 \fB/etc/rpc\fR
 .sp
 .LP
 \fB/etc/nsswitch.conf\fR
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
@@ -206,18 +200,15 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBrpcinfo\fR(8), \fBrpc\fR(3NSL), \fBnsswitch.conf\fR(4), \fBrpc\fR(4),
 \fBattributes\fR(5)
 .SH WARNINGS
-.sp
 .LP
 The reentrant interfaces \fBgetrpcbyname_r()\fR, \fBgetrpcbynumber_r()\fR, and
 \fBgetrpcent_r()\fR are included in this release on an uncommitted basis only,
 and are subject to change or removal in future minor releases.
 .SH NOTES
-.sp
 .LP
 Use of the enumeration interfaces \fBgetrpcent()\fR and \fBgetrpcent_r()\fR is
 discouraged; enumeration may not be supported for all database sources.  The
--- a/share/man/man3nsl/t_sndudata.3nsl	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3nsl/t_sndudata.3nsl	Sun May 19 20:15:38 2019 -0400
@@ -59,7 +59,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 This routine is part of the \fBXTI\fR interfaces which evolved from the
 \fBTLI\fR interfaces. \fBXTI\fR represents the future evolution of these
@@ -117,7 +116,7 @@
 .sp
 .LP
 If it is not possible for the transport provider to immediately detect the
-conditions that cause the errors \fBTBADDADDR\fR and \fBTBADOPT\fR, these
+conditions that cause the errors \fBTBADADDR\fR and \fBTBADOPT\fR, these
 errors will alternatively be returned by \fIt_rcvuderr.\fR Therefore, an
 application must be prepared to receive these errors in both of these ways.
 .sp
@@ -125,16 +124,13 @@
 If the call is interrupted, \fBt_sndudata()\fR will return \fBEINTR\fR and the
 datagram will not be sent.
 .SH RETURN VALUES
-.sp
 .LP
 Upon successful completion, a value of  \fB0\fR is returned.  Otherwise, a
 value of  -1 is returned and \fBt_errno\fR is set to indicate an error.
 .SH VALID STATES
-.sp
 .LP
 \fBT_IDLE\fR.
 .SH ERRORS
-.sp
 .LP
 On failure, \fBt_errno\fR is set to one of the following:
 .sp
@@ -236,13 +232,11 @@
 .RE
 
 .SH TLI COMPATIBILITY
-.sp
 .LP
 The \fBXTI\fR and \fBTLI\fR interface definitions have common names but use
 different header files. This, and other semantic differences between the two
 interfaces are described in the subsections below.
 .SS "Interface Header"
-.sp
 .LP
 The \fBXTI\fR interfaces use the header file, \fBxti.h.\fR \fBTLI\fR interfaces
 should \fInot\fR use this header.  They should use the header:
@@ -251,7 +245,6 @@
 #include <tiuser.h>
 .in -2
 .SS "Error Description Values"
-.sp
 .LP
 The \fBt_errno\fR values that can be set by the \fBXTI\fR interface and cannot
 be set by the \fBTLI\fR interface are:
@@ -276,18 +269,15 @@
 \fBTOUTSTATE\fR
 .in -2
 .SS "Notes"
-.sp
 .LP
 Whenever this function fails with \fBt_error\fR set to \fBTFLOW,\fR
 \fBO_NONBLOCK\fR must have been set.
 .SS "Option Buffers"
-.sp
 .LP
 The format of the options in an \fBopt\fR buffer is dictated by the transport
 provider. Unlike the \fBXTI\fR interface, the \fBTLI\fR interface does not fix
 the buffer format.
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5)  for descriptions of the following attributes:
 .sp
@@ -303,7 +293,6 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBfcntl\fR(2), \fBt_alloc\fR(3NSL), \fBt_bind\fR(3NSL), \fBt_error\fR(3NSL),
 \fBt_getinfo\fR(3NSL), \fBt_look\fR(3NSL), \fBt_open\fR(3NSL),
--- a/share/man/man3nsl/t_sndvudata.3nsl	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3nsl/t_sndvudata.3nsl	Sun May 19 20:15:38 2019 -0400
@@ -60,7 +60,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 This function is used in connectionless mode to send a data unit to another
 transport user.  The argument  \fIfd\fR identifies the local transport endpoint
@@ -131,21 +130,18 @@
 .sp
 .LP
 If it is not possible for the transport provider to immediately detect the
-conditions that cause the errors \fBTBADDADDR\fR and \fBTBADOPT\fR, these
+conditions that cause the errors \fBTBADADDR\fR and \fBTBADOPT\fR, these
 errors will alternatively be returned by  \fBt_rcvuderr\fR(3NSL). An
 application must therefore be prepared to receive these errors in both of these
 ways.
 .SH RETURN VALUES
-.sp
 .LP
 Upon successful completion, a value of  \fB0\fR is returned. Otherwise, a value
 of  -1 is returned and  \fBt_errno\fR is set to indicate an error.
 .SH VALID STATES
-.sp
 .LP
 \fBT_IDLE\fR.
 .SH ERRORS
-.sp
 .LP
 On failure,  \fBt_errno\fR is set to one of the following:
 .sp
@@ -259,12 +255,10 @@
 .RE
 
 .SH TLI COMPATIBILITY
-.sp
 .LP
 In the \fBTLI\fR interface definition, no counterpart of this routine was
 defined.
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5)  for descriptions of the following attributes:
 .sp
@@ -280,7 +274,6 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBfcntl\fR(2), \fBt_alloc\fR(3NSL), \fBt_open\fR(3NSL),
 \fBt_rcvudata\fR(3NSL), \fBt_rcvvudata\fR(3NSL) \fBt_rcvuderr\fR(3NSL),
--- a/share/man/man3secdb/getauthattr.3secdb	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man3secdb/getauthattr.3secdb	Sun May 19 20:15:38 2019 -0400
@@ -55,7 +55,7 @@
 either successive \fBauth_attr\fR entries or \fINULL\fR.
 .sp
 .LP
-Th internal representation of an \fBauth_attr\fR entry is an \fBauthattr_t\fR
+The internal representation of an \fBauth_attr\fR entry is an \fBauthattr_t\fR
 structure defined in  <\fBauth_attr.h\fR> with the following members:
 .sp
 .in +2
--- a/share/man/man4/service_provider.conf.4	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man4/service_provider.conf.4	Sun May 19 20:15:38 2019 -0400
@@ -13,7 +13,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 \fBservice_provider.conf\fR contains information about the device type that the
 service provider supports. This information includes the pathname of the
@@ -27,7 +26,7 @@
 adapters, that is, interfaces to external network that are available to uDAPL
 consumers. This new list of interface adapters is appended to other service
 providers' information in the DAT static registry, \fBdat.conf\fR. You can do
-this is you invoke the \fBdatadm\fR program with the \fB-a\fR option and the
+this if you invoke the \fBdatadm\fR program with the \fB-a\fR option and the
 pathname of the \fBservice_provider.conf\fR file.
 .sp
 .LP
@@ -40,7 +39,7 @@
 .in +2
 .nf
 "\fIdriver_name\fR" "\fIAPI_version\fR" "\fIthreadsafe_library\fR | \e
-      \fInonthreadsafe_librar\fRy"\e
+      \fInonthreadsafe_library\fR"\e
 "\fIdefault_version\fR | \fInondefault_version\fR" \e
      "\fIservice_provider_library_pathname\fR"\e
 "\fIservice_provider_version\fR" "\fIservice_provider_instance_data\fR"\e
@@ -68,14 +67,14 @@
 .ad
 .sp .6
 .RS 4n
-Specifies the API version of the service provide library: For example,
+Specifies the API version of the service provider library: For example,
 \fB"u"major.minor\fR is \fBu1.2\fR.
 .RE
 
 .sp
 .ne 2
 .na
-\fB\fIthreadsafe_library\fR | \fInonthreadsafe_librar\fR\fR
+\fB\fIthreadsafe_library\fR | \fInonthreadsafe_library\fR\fR
 .ad
 .sp .6
 .RS 4n
@@ -89,7 +88,7 @@
 .ad
 .sp .6
 .RS 4n
-Specifies a default or non-default version of library. A service provider can
+Specifies a default or non-default version of a library. A service provider can
 offer several versions of the library. If so, one version is designated as
 \fBdefault\fR with the rest as \fBnondefault\fR.
 .RE
@@ -166,7 +165,6 @@
 .in -2
 
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
@@ -181,6 +179,5 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBdatadm\fR(8), \fBdat.conf\fR(4), \fBattributes\fR(5)
--- a/share/man/man8/boot.8	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man8/boot.8	Sun May 19 20:15:38 2019 -0400
@@ -66,7 +66,7 @@
 system has been halted.
 .sp
 .LP
-The second level program is either a fileystem-specific boot block (when
+The second level program is either a filesystem-specific boot block (when
 booting from a disk), or \fBinetboot\fR (when booting across
 the network).
 .sp
--- a/share/man/man8/ypmap2src.8	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man8/ypmap2src.8	Sun May 19 20:15:38 2019 -0400
@@ -15,7 +15,6 @@
 .fi
 
 .SH DESCRIPTION
-.sp
 .LP
 Use the \fBypmap2src\fR utility to convert standard NIS maps to approximations
 of the equivalent NIS source files. This utility functions like the reverse of
@@ -56,14 +55,12 @@
 When \fBypmap2src\fR is run, it will take up-to-date comments from the map file
 and insert them into the NIS source file generated.
 .SS "Handling Custom Maps"
-.sp
 .LP
 \fBypmap2src\fR only knows about the standard NIS maps and standard source to
 map conversion. If an advanced user has changed these, that is, the user has
 modified the NIS makefile, the equivalent changes must also be made to the
 \fBypmap2src\fR script.
 .SH OPTIONS
-.sp
 .LP
 \fBypmap2src\fR supports the following options:
 .sp
@@ -112,7 +109,6 @@
 .RE
 
 .SH OPERANDS
-.sp
 .LP
 \fBypmap2src\fR supports the following operands:
 .sp
@@ -122,12 +118,11 @@
 .ad
 .RS 15n
 Lists the standard source files to convert. If this option is not given, then
-all the standard source files, plus any custom files pecified by the \fB-c\fR
+all the standard source files, plus any custom files specified by the \fB-c\fR
 option, are converted.
 .RE
 
 .SH ATTRIBUTES
-.sp
 .LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
@@ -143,7 +138,6 @@
 .TE
 
 .SH SEE ALSO
-.sp
 .LP
 \fBypmake\fR(8), \fBypserv\fR(8), \fBNISLDAPmapping\fR(4),
 \fBattributes\fR(5)
--- a/share/man/man8/zfs.8	Sun May 19 15:28:21 2019 -0400
+++ b/share/man/man8/zfs.8	Sun May 19 20:15:38 2019 -0400
@@ -2451,7 +2451,7 @@
 .Cm remap
 .Ar filesystem Ns | Ns Ar volume
 .Xc
-Remap the indirect blocks in the given fileystem or volume so that they no
+Remap the indirect blocks in the given filesystem or volume so that they no
 longer reference blocks on previously removed vdevs and we can eventually
 shrink the size of the indirect mapping objects for the previously removed
 vdevs. Note that remapping all blocks might not be possible and that
--- a/usr/src/boot/Makefile.version	Sun May 19 15:28:21 2019 -0400
+++ b/usr/src/boot/Makefile.version	Sun May 19 20:15:38 2019 -0400
@@ -33,4 +33,4 @@
 # Use date like formatting here, YYYY.MM.DD.XX, without leading zeroes.
 # The version is processed from left to right, the version number can only
 # be increased.
-BOOT_VERSION = $(LOADER_VERSION)-2019.01.08.1
+BOOT_VERSION = $(LOADER_VERSION)-2019.01.09.1
--- a/usr/src/boot/sys/boot/forth/check-password.4th	Sun May 19 15:28:21 2019 -0400
+++ b/usr/src/boot/sys/boot/forth/check-password.4th	Sun May 19 20:15:38 2019 -0400
@@ -1,6 +1,7 @@
 \ Copyright (c) 2006-2015 Devin Teske <dteske@FreeBSD.org>
+\ Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
 \ All rights reserved.
-\ 
+\
 \ Redistribution and use in source and binary forms, with or without
 \ modification, are permitted provided that the following conditions
 \ are met:
@@ -9,7 +10,7 @@
 \ 2. Redistributions in binary form must reproduce the above copyright
 \    notice, this list of conditions and the following disclaimer in the
 \    documentation and/or other materials provided with the distribution.
-\ 
+\
 \ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 \ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 \ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -21,8 +22,6 @@
 \ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 \ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 \ SUCH DAMAGE.
-\ 
-\ $FreeBSD$
 
 marker task-check-password.4th
 
@@ -49,7 +48,7 @@
 \ this is to pass 0 as a stack parameter (ie. `0 sgetkey'). This function is
 \ called by the read function. You need not call it directly. NOTE: arrow keys
 \ show as 0 on the stack
-\ 
+\
 : sgetkey ( -- )
 
 	begin \ Loop forever
@@ -68,7 +67,7 @@
 				dup 3 = if ( 4 ) ." |" else
 					1 spaces
 				then then then then drop
-				read-start @ 25 at-xy
+				read-start @ sr at-xy
 				exit
 			then then
 
@@ -94,7 +93,7 @@
 
 : read ( c-addr/u -- ) \ Expects string prompt as stack input
 
-	0 25 at-xy           \ Move the cursor to the bottom-left
+	at-bl                \ Move the cursor to the bottom-left
 	dup 1+ read-start !  \ Store X offset after the prompt
 	0 readlen !          \ Initialize the read length
 	type                 \ Print the prompt
@@ -113,12 +112,12 @@
 			10 emit  \ Echo new line
 			exit
 		else dup ctrl_u = if
-			3 spaces read-start @ 25 at-xy \ Erase the twiddle
+			3 spaces read-start @ sr at-xy \ Erase the twiddle
 			0 readlen ! \ Reset input to NULL
 		else dup bs_key = if
 			readlen @ 1 - dup readlen ! \ Decrement input length
 			dup 0< if drop 0 dup readlen ! then \ Don't go negative
-			0= if 3 spaces read-start @ 25 at-xy then \ Twiddle
+			0= if 3 spaces read-start @ sr at-xy then \ Twiddle
 		else dup \ Store the character
 			\ NB: sgetkey prevents overflow by way of blocking
 			\     at readmax except for Backspace or Enter
--- a/usr/src/boot/sys/boot/forth/menu.4th	Sun May 19 15:28:21 2019 -0400
+++ b/usr/src/boot/sys/boot/forth/menu.4th	Sun May 19 20:15:38 2019 -0400
@@ -1,8 +1,9 @@
 \ Copyright (c) 2003 Scott Long <scottl@FreeBSD.org>
 \ Copyright (c) 2003 Aleksander Fafula <alex@fafula.com>
 \ Copyright (c) 2006-2015 Devin Teske <dteske@FreeBSD.org>
+\ Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
 \ All rights reserved.
-\ 
+\
 \ Redistribution and use in source and binary forms, with or without
 \ modification, are permitted provided that the following conditions
 \ are met:
@@ -11,7 +12,7 @@
 \ 2. Redistributions in binary form must reproduce the above copyright
 \    notice, this list of conditions and the following disclaimer in the
 \    documentation and/or other materials provided with the distribution.
-\ 
+\
 \ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 \ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 \ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -23,8 +24,6 @@
 \ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 \ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 \ SUCH DAMAGE.
-\ 
-\ $FreeBSD$
 
 marker task-menu.4th
 
@@ -204,7 +203,7 @@
 \ increments the cursor position to the next row for the creation of the next
 \ menu item. This function is called by the menu-create function. You need not
 \ call it directly.
-\ 
+\
 : printmenuitem ( menu_item_str -- ascii_keycode )
 
 	loader_color? if [char] ^ escc! then
@@ -256,7 +255,7 @@
 \ display which kernel to boot when the [overloaded] `boot' word is interpreted.
 \ Used internally by menu-create, you need not (nor should you) call this
 \ directly.
-\ 
+\
 : parse-kernels ( N -- ) \ kernidx
 	kernidx ! ( n -- )	\ store provided `x' value
 	[char] 0 kernmenuidx !	\ initialize `y' value for menu_caption[x][y]
@@ -393,7 +392,7 @@
 \ This function goes through the kernels that were discovered by the
 \ parse-kernels function [above], adding " (# of #)" text to the end of each
 \ caption.
-\ 
+\
 : tag-kernels ( -- )
 	kernidx @ ( -- x ) dup 0= if exit then
 	[char] 0 s"  (Y of Z)" ( x -- x y c-addr/u )
@@ -482,7 +481,7 @@
 
 \ This function creates the list of menu items. This function is called by the
 \ menu-display function. You need not call it directly.
-\ 
+\
 : menu-create ( -- )
 
 	\ Print the frame caption at (x,y)
@@ -506,12 +505,12 @@
 	if ( use default center alignement? )
 		menuX @ 19 + over 2 / - menuY @ 1-
 	then
-	at-xy type 
+	at-xy type
 
 	\ If $menu_init is set, evaluate it (allowing for whole menus to be
 	\ constructed dynamically -- as this function could conceivably set
 	\ the remaining environment variables to construct the menu entirely).
-	\ 
+	\
 	s" menu_init" getenv dup -1 <> if
 		evaluate
 	else
@@ -529,13 +528,13 @@
 	\ and the key required to activate that menu item will be the decimal
 	\ ASCII of 48 plus the menu item (ie. 58 for the tenth item, aka. `:')
 	\ which is misleading and not desirable.
-	\ 
+	\
 	\ Thus, we do not allow more than 8 configurable items on the menu
 	\ (with "Reboot" as the optional ninth and highest numbered item).
 
-	\ 
+	\
 	\ Initialize the OsConsole option status.
-	\ 
+	\
 	0 menuosconsole !
 	s" menu_osconsole" getenv -1 <> if
 		c@ dup 48 > over 57 < and if ( '1' <= c1 <= '8' )
@@ -569,9 +568,9 @@
 		drop
 	then
 
-	\ 
+	\
 	\ Initialize the ACPI option status.
-	\ 
+	\
 	0 menuacpi !
 	s" menu_acpi" getenv -1 <> if
 		c@ dup 48 > over 57 < and if ( '1' <= c1 <= '8' )
@@ -605,9 +604,9 @@
 		drop
 	then
 
-	\ 
+	\
 	\ Initialize kernel captions after parsing $kernels
-	\ 
+	\
 	0 menukernel !
 	s" menu_kernel" getenv -1 <> if
 		c@ dup 48 > over 57 < and if ( '1' <= c1 <= '8' )
@@ -646,9 +645,9 @@
 		drop
 	then
 
-	\ 
+	\
 	\ Initialize the menu_options visual separator.
-	\ 
+	\
 	0 menuoptions !
 	s" menu_options" getenv -1 <> if
 		c@ dup 48 > over 57 < and if ( '1' <= c1 <= '8' )
@@ -742,7 +741,7 @@
 \ Takes a single integer on the stack and updates the timeout display. The
 \ integer must be between 0 and 9 (we will only update a single digit in the
 \ source message).
-\ 
+\
 : menu-timeout-update ( N -- )
 
 	\ Enforce minimum/maximum
@@ -763,7 +762,7 @@
 		2drop ( n c-addr -- )
 	then
 
-	0 25 at-xy ( position cursor back at bottom-left )
+	at-bl
 ;
 
 \ This function blocks program flow (loops forever) until a key is pressed.
@@ -772,7 +771,7 @@
 \ function. You need not call it directly.
 \ note, the esc sequences will be dropped, this needs to be changed if
 \ menu is built based on arrow keys.
-\ 
+\
 : getkey ( -- ascii_keycode )
 
 	begin \ loop forever
@@ -903,7 +902,7 @@
 			ansi_caption[x]
 		else
 			menu_caption[x]
-		then	
+		then
 		getenv dup -1 <> if
 
 			2 pick ( n c-addr/u -- n c-addr/u n )
@@ -1033,13 +1032,13 @@
 
 	\ At this point, we should have the following on the stack (in order,
 	\ from bottom to top):
-	\ 
+	\
 	\    n        - Ascii numeral representing the menu choice (inherited)
 	\    addr     - address of our internal cycle_stateN variable
 	\    k        - zero-based number we intend to store to the above
 	\    c-addr/u - string value we intend to store to menu_caption[x]
 	\               (or ansi_caption[x] with loader_color enabled)
-	\ 
+	\
 	\ Let's perform what we need to with the above.
 
 	\ Assign array value text to menu caption
@@ -1058,7 +1057,7 @@
 
 \ Erase and redraw the menu. Useful if you change a caption and want to
 \ update the menu to reflect the new value.
-\ 
+\
 : menu-redraw ( -- )
 	menu-erase
 	menu-create
@@ -1066,7 +1065,7 @@
 
 \ This function initializes the menu. Call this from your `loader.rc' file
 \ before calling any other menu-related functions.
-\ 
+\
 : menu-init ( -- )
 	menu_start
 	1- menuidx !    \ Initialize the starting index for the menu
@@ -1109,13 +1108,13 @@
 		42 13 menuX @ 3 - menuY @ 1- box \ Draw frame (w,h,x,y)
 	then
 
-	0 25 at-xy \ Move cursor to the bottom for output
+	at-bl
 ;
 
 also menu-namespace
 
 \ Main function. Call this from your `loader.rc' file.
-\ 
+\
 : menu-display ( -- )
 
 	0 menu_timeout_enabled ! \ start with automatic timeout disabled
@@ -1148,7 +1147,7 @@
 				dup 0< if
 					drop
 					menu-create
-					0 25 at-xy
+					at-bl
 					0 boot
 				then
 			then
@@ -1167,7 +1166,7 @@
 				then
 			then
 			menu_timeout_x ! ( store value on stack from above )
-        
+
 			\ read custom row position (if set)
 			s" loader_menu_timeout_y" getenv dup -1 = if
 				drop \ no custom row position
@@ -1186,7 +1185,7 @@
 
 	begin \ Loop forever
 
-		0 25 at-xy \ Move cursor to the bottom for output
+		at-bl
 		getkey     \ Block here, waiting for a key to be pressed
 
 		dup -1 = if
@@ -1212,13 +1211,13 @@
 			rot tuck = if
 
 				\ Adjust for missing ACPI menuitem on non-i386
-\ 				arch-i386? true <> menuacpi @ 0<> and if
-\ 					menuacpi @ over 2dup < -rot = or
-\ 					over 58 < and if
-\ 					( key >= menuacpi && key < 58: N -- N )
-\ 						1+
-\ 					then
-\ 				then
+\				arch-i386? true <> menuacpi @ 0<> and if
+\					menuacpi @ over 2dup < -rot = or
+\					over 58 < and if
+\					( key >= menuacpi && key < 58: N -- N )
+\						1+
+\					then
+\				then
 
 				\ Test for the environment variable
 				dup menu_command[x]
@@ -1253,9 +1252,9 @@
 				swap \ need iterator on top
 			then
 
-			\ 
+			\
 			\ Check for menu keycode shortcut(s)
-			\ 
+			\
 			dup menu_keycode[x]
 			getenv dup -1 = if
 				drop
@@ -1290,7 +1289,7 @@
 
 \ This function unsets all the possible environment variables associated with
 \ creating the interactive menu.
-\ 
+\
 : menu-unset ( -- )
 
 	49 \ Iterator start (loop range 49 to 56; ASCII '1' to '8')
@@ -1341,7 +1340,7 @@
 
 \ This function both unsets menu variables and visually erases the menu area
 \ in-preparation for another menu.
-\ 
+\
 : menu-clear ( -- )
 	menu-unset
 	menu-erase
--- a/usr/src/boot/sys/boot/forth/screen.4th	Sun May 19 15:28:21 2019 -0400
+++ b/usr/src/boot/sys/boot/forth/screen.4th	Sun May 19 20:15:38 2019 -0400
@@ -1,7 +1,8 @@
 \ Copyright (c) 2003 Scott Long <scottl@FreeBSD.org>
 \ Copyright (c) 2015 Devin Teske <dteske@FreeBSD.org>
+\ Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
 \ All rights reserved.
-\ 
+\
 \ Redistribution and use in source and binary forms, with or without
 \ modification, are permitted provided that the following conditions
 \ are met:
@@ -10,7 +11,7 @@
 \ 2. Redistributions in binary form must reproduce the above copyright
 \    notice, this list of conditions and the following disclaimer in the
 \    documentation and/or other materials provided with the distribution.
-\ 
+\
 \ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 \ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 \ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -22,8 +23,6 @@
 \ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 \ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 \ SUCH DAMAGE.
-\ 
-\ $FreeBSD$
 
 marker task-screen.4th
 
@@ -72,3 +71,11 @@
 	repeat
 	2drop drop
 ;
+
+\ Get the number of screen rows/columns
+: sr ( -- y ) 25 s" screen-#rows" getenvn ;
+: sc ( -- x ) 80 s" screen-#cols" getenvn ;
+
+\ Place the cursor at the bottom left of the screen
+: at-bl 0 sr at-xy ;
+
--- a/usr/src/boot/sys/boot/forth/support.4th	Sun May 19 15:28:21 2019 -0400
+++ b/usr/src/boot/sys/boot/forth/support.4th	Sun May 19 20:15:38 2019 -0400
@@ -201,8 +201,31 @@
 : 2r> postpone r> postpone r> ; immediate
 : 2r@ postpone 2r> postpone 2dup postpone 2>r ; immediate
 
+\ Number to string
+: n2s ( n -- c-addr/u ) s>d <# #s #> ;
+\ String to number
+: s2n ( c-addr/u1 -- u2 | -1 ) ?number 0= if -1 then ;
+
+\ Test if an environment variable is set
 : getenv?  getenv -1 = if false else drop true then ;
 
+\ Fetch a number from an environment variable, or a default if not set or does
+\ not parse (s2n returns -1).
+: getenvn ( n1 c-addr/u -- n1 | n2 )
+	getenv dup -1 = if
+		\ environment variable not set
+		drop		( n1 -1 -- n1 )
+	else
+		s2n		( n1 c-addr/u1 -- n1 n2 )
+		dup -1 = if
+			\ parse failed
+			drop	( n1 n2 -- n1 )
+		else
+			nip	( n1 n2 -- n2 )
+		then
+	then
+;
+
 \ Returns TRUE if the framebuffer is active, FALSE otherwise
 : framebuffer? ( -- flag )
 	\ Use the screen-height variable as a proxy for framebuffer
--- a/usr/src/boot/sys/boot/forth/version.4th	Sun May 19 15:28:21 2019 -0400
+++ b/usr/src/boot/sys/boot/forth/version.4th	Sun May 19 20:15:38 2019 -0400
@@ -1,6 +1,7 @@
 \ Copyright (c) 2006-2015 Devin Teske <dteske@FreeBSD.org>
+\ Copyright 2019 OmniOS Community Edition (OmniOSce) Association.
 \ All rights reserved.
-\ 
+\
 \ Redistribution and use in source and binary forms, with or without
 \ modification, are permitted provided that the following conditions
 \ are met:
@@ -9,7 +10,7 @@
 \ 2. Redistributions in binary form must reproduce the above copyright
 \    notice, this list of conditions and the following disclaimer in the
 \    documentation and/or other materials provided with the distribution.
-\ 
+\
 \ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 \ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 \ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
@@ -21,8 +22,6 @@
 \ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 \ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 \ SUCH DAMAGE.
-\ 
-\ $FreeBSD$
 
 marker task-version.4th
 
@@ -90,7 +89,7 @@
 	-rot type
 	if me then
 
-	0 25 at-xy
+	at-bl
 ;
 
 only forth definitions
--- a/usr/src/boot/sys/boot/i386/libi386/spinconsole.c	Sun May 19 15:28:21 2019 -0400
+++ b/usr/src/boot/sys/boot/i386/libi386/spinconsole.c	Sun May 19 20:15:38 2019 -0400
@@ -63,46 +63,64 @@
 static void
 spinc_probe(struct console *cp)
 {
-	cp->c_flags |= (C_PRESENTIN | C_PRESENTOUT);
+	int i;
+	struct console *parent;
+
+	if (cp->c_private == NULL) {
+		for (i = 0; consoles[i] != NULL; i++)
+			if (strcmp(consoles[i]->c_name, "text") == 0)
+				break;
+		cp->c_private = consoles[i];
+	}
+
+	parent = cp->c_private;
+	if (parent != NULL)
+		parent->c_probe(cp);
 }
 
 static int
-spinc_init(struct console *cp __unused, int arg __unused)
+spinc_init(struct console *cp, int arg)
 {
-	return(0);
+	struct console *parent;
+
+	parent = cp->c_private;
+	if (parent != NULL)
+		return (parent->c_init(cp, arg));
+	else
+		return (0);
 }
 
 static void
-spinc_putchar(struct console *cp __unused, int c __unused)
+spinc_putchar(struct console *cp, int c __unused)
 {
 	static unsigned tw_chars = 0x5C2D2F7C;    /* "\-/|" */
-	static time_t lasttime;
-	int i;
+	static time_t lasttime = 0;
+	struct console *parent;
 	time_t now;
 
 	now = time(NULL);
 	if (now < (lasttime + 1))
 		return;
 	lasttime = now;
-	for (i = 0; consoles[i] != NULL; i++)
-		if (strcmp(consoles[i]->c_name, "text") == 0)
-			break;
-	if (consoles[i] == NULL)
+	parent = cp->c_private;
+	if (parent == NULL)
 		return;
 
-	consoles[i]->c_out(consoles[i], (char)tw_chars);
-	consoles[i]->c_out(consoles[i], '\b');
+	parent->c_out(parent, (char)tw_chars);
+	parent->c_out(parent, '\b');
 	tw_chars = (tw_chars >> 8) | ((tw_chars & (unsigned long)0xFF) << 24);
 }
 
 static int
 spinc_getchar(struct console *cp __unused)
 {
-	return(-1);
+
+	return (-1);
 }
 
 static int
 spinc_ischar(struct console *cp __unused)
 {
-	return(0);
+
+	return (0);
 }
--- a/usr/src/boot/sys/cddl/boot/zfs/zfsimpl.h	Sun May 19 15:28:21 2019 -0400
+++ b/usr/src/boot/sys/cddl/boot/zfs/zfsimpl.h	Sun May 19 20:15:38 2019 -0400
@@ -1,4 +1,4 @@
-/*-
+/*
  * Copyright (c) 2002 McAfee, Inc.
  * All rights reserved.
  *
@@ -59,6 +59,9 @@
  * Copyright (c) 2013 by Delphix. All rights reserved.
  */
 
+#ifndef _ZFSIMPL_H
+#define	_ZFSIMPL_H
+
 #define	MAXNAMELEN	256
 
 #define _NOTE(s)
@@ -76,7 +79,8 @@
 #define	P2ROUNDUP(x, align)		(-(-(x) & -(align)))
 #define	P2END(x, align)			(-(~(x) & -(align)))
 #define	P2PHASEUP(x, align, phase)	((phase) - (((phase) - (x)) & -(align)))
-#define	P2BOUNDARY(off, len, align)	(((off) ^ ((off) + (len) - 1)) > (align) - 1)
+#define	P2BOUNDARY(off, len, align)	\
+	(((off) ^ ((off) + (len) - 1)) > (align) - 1)
 
 /*
  * General-purpose 32-bit and 64-bit bitfield encodings.
@@ -673,7 +677,7 @@
 #define	SPA_VERSION_SNAP_PROPS		SPA_VERSION_12
 #define	SPA_VERSION_USED_BREAKDOWN	SPA_VERSION_13
 #define	SPA_VERSION_PASSTHROUGH_X	SPA_VERSION_14
-#define SPA_VERSION_USERSPACE		SPA_VERSION_15
+#define	SPA_VERSION_USERSPACE		SPA_VERSION_15
 #define	SPA_VERSION_STMF_PROP		SPA_VERSION_16
 #define	SPA_VERSION_RAIDZ3		SPA_VERSION_17
 #define	SPA_VERSION_USERREFS		SPA_VERSION_18
@@ -737,10 +741,10 @@
  * 'vdev_state' entry.  This is because a device can be in multiple states, such
  * as offline and degraded.
  */
-#define	ZPOOL_CONFIG_OFFLINE            "offline"
-#define	ZPOOL_CONFIG_FAULTED            "faulted"
-#define	ZPOOL_CONFIG_DEGRADED           "degraded"
-#define	ZPOOL_CONFIG_REMOVED            "removed"
+#define	ZPOOL_CONFIG_OFFLINE		"offline"
+#define	ZPOOL_CONFIG_FAULTED		"faulted"
+#define	ZPOOL_CONFIG_DEGRADED		"degraded"
+#define	ZPOOL_CONFIG_REMOVED		"removed"
 #define	ZPOOL_CONFIG_FRU		"fru"
 #define	ZPOOL_CONFIG_AUX_STATE		"aux_state"
 
@@ -1120,6 +1124,8 @@
 #define	SA_PARENT_OFFSET	40
 #define	SA_SYMLINK_OFFSET	160
 
+#define	ZIO_OBJSET_MAC_LEN	32
+
 /*
  * Intent log header - this on disk structure holds fields to manage
  * the log.  All fields are 64 bit to easily handle cross architectures.
@@ -1132,17 +1138,28 @@
 	uint64_t zh_pad[5];
 } zil_header_t;
 
-#define	OBJSET_PHYS_SIZE 2048
+#define	OBJSET_PHYS_SIZE_V2 2048
+#define	OBJSET_PHYS_SIZE_V3 4096
+
+#define	OBJSET_PHYS_PAD0_SIZE	\
+	(OBJSET_PHYS_SIZE_V2 - sizeof (dnode_phys_t) * 3 -	\
+	    sizeof (zil_header_t) - sizeof (uint64_t) * 2 -	\
+	    2 * ZIO_OBJSET_MAC_LEN)
+#define	OBJSET_PHYS_PAD1_SIZE	\
+	(OBJSET_PHYS_SIZE_V3 - OBJSET_PHYS_SIZE_V2 - sizeof (dnode_phys_t))
 
 typedef struct objset_phys {
 	dnode_phys_t os_meta_dnode;
 	zil_header_t os_zil_header;
 	uint64_t os_type;
 	uint64_t os_flags;
-	char os_pad[OBJSET_PHYS_SIZE - sizeof (dnode_phys_t)*3 -
-	    sizeof (zil_header_t) - sizeof (uint64_t)*2];
+	uint8_t os_portable_mac[ZIO_OBJSET_MAC_LEN];
+	uint8_t os_local_mac[ZIO_OBJSET_MAC_LEN];
+	char os_pad0[OBJSET_PHYS_PAD0_SIZE];
 	dnode_phys_t os_userused_dnode;
 	dnode_phys_t os_groupused_dnode;
+	dnode_phys_t os_projectused_dnode;
+	char os_pad1[OBJSET_PHYS_PAD1_SIZE];
 } objset_phys_t;
 
 typedef struct dsl_dir_phys {
@@ -1465,7 +1482,7 @@
 	uint16_t	a_type;		/* allow or deny */
 } ace_t;
 
-#define ACE_SLOT_CNT	6
+#define	ACE_SLOT_CNT	6
 
 typedef struct zfs_znode_acl {
 	uint64_t	z_acl_extern_obj;	  /* ext acl pieces */
@@ -1560,3 +1577,5 @@
 } spa_t;
 
 static void decode_embedded_bp_compressed(const blkptr_t *, void *);
+
+#endif	/* _ZFSIMPL_H */
--- a/usr/src/lib/libdtrace/common/dt_consume.c	Sun May 19 15:28:21 2019 -0400
+++ b/usr/src/lib/libdtrace/common/dt_consume.c	Sun May 19 20:15:38 2019 -0400
@@ -24,7 +24,7 @@
  */
 
 /*
- * Copyright (c) 2013, Joyent, Inc. All rights reserved.
+ * Copyright (c) 2017, Joyent, Inc. All rights reserved.
  * Copyright (c) 2012 by Delphix. All rights reserved.
  */
 
@@ -3013,9 +3013,6 @@
 				break;
 
 			timestamp = dt_buf_oldest(buf, dtp);
-			assert(timestamp >= dtp->dt_last_timestamp);
-			dtp->dt_last_timestamp = timestamp;
-
 			if (timestamp == buf->dtbd_timestamp) {
 				/*
 				 * We've reached the end of the time covered
@@ -3029,6 +3026,8 @@
 					break;
 				continue;
 			}
+			assert(timestamp >= dtp->dt_last_timestamp);
+			dtp->dt_last_timestamp = timestamp;
 
 			if ((rval = dt_consume_cpu(dtp, fp,
 			    buf->dtbd_cpu, buf, B_TRUE, pf, rf, arg)) != 0)