svn commit: r332570 - in user/markj/netdump: . bin/expr contrib/amd contrib/amd/amd contrib/bsnmp/snmp_mibII gnu/usr.bin/gdb/kgdb lib/clang lib/libc/net share/man/man4 share/vt/fonts stand/common s...

Mark Johnston markj at FreeBSD.org
Mon Apr 16 14:43:04 UTC 2018


Author: markj
Date: Mon Apr 16 14:43:01 2018
New Revision: 332570
URL: https://svnweb.freebsd.org/changeset/base/332570

Log:
  MFH at r332568.

Added:
  user/markj/netdump/share/vt/fonts/tom-thumb.hex
     - copied unchanged from r332568, head/share/vt/fonts/tom-thumb.hex
  user/markj/netdump/sys/i386/i386/copyout.c
     - copied unchanged from r332568, head/sys/i386/i386/copyout.c
  user/markj/netdump/sys/i386/i386/copyout_fast.s
     - copied unchanged from r332568, head/sys/i386/i386/copyout_fast.s
Deleted:
  user/markj/netdump/share/man/man4/cm.4
  user/markj/netdump/sys/dev/cm/if_cm_isa.c
  user/markj/netdump/sys/dev/cm/smc90cx6.c
  user/markj/netdump/sys/dev/cm/smc90cx6reg.h
  user/markj/netdump/sys/dev/cm/smc90cx6var.h
  user/markj/netdump/sys/modules/arcnet/Makefile
  user/markj/netdump/sys/modules/cm/Makefile
  user/markj/netdump/sys/net/if_arc.h
  user/markj/netdump/sys/net/if_arcsubr.c
Modified:
  user/markj/netdump/ObsoleteFiles.inc
  user/markj/netdump/UPDATING
  user/markj/netdump/bin/expr/expr.y
  user/markj/netdump/contrib/amd/FREEBSD-upgrade
  user/markj/netdump/contrib/amd/amd/amd.8
  user/markj/netdump/contrib/bsnmp/snmp_mibII/mibII.c
  user/markj/netdump/gnu/usr.bin/gdb/kgdb/trgt_i386.c
  user/markj/netdump/lib/clang/freebsd_cc_version.h
  user/markj/netdump/lib/libc/net/getnameinfo.c
  user/markj/netdump/share/man/man4/Makefile
  user/markj/netdump/share/vt/fonts/Makefile
  user/markj/netdump/stand/common/bootstrap.h
  user/markj/netdump/stand/common/commands.c
  user/markj/netdump/stand/efi/boot1/generate-fat.sh
  user/markj/netdump/stand/i386/libi386/pxe.h
  user/markj/netdump/sys/amd64/amd64/pmap.c
  user/markj/netdump/sys/amd64/include/vmm.h
  user/markj/netdump/sys/amd64/vmm/intel/vmx.c
  user/markj/netdump/sys/amd64/vmm/vmm.c
  user/markj/netdump/sys/arm/include/db_machdep.h
  user/markj/netdump/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  user/markj/netdump/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  user/markj/netdump/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
  user/markj/netdump/sys/conf/NOTES
  user/markj/netdump/sys/conf/files
  user/markj/netdump/sys/conf/files.i386
  user/markj/netdump/sys/conf/ldscript.i386
  user/markj/netdump/sys/ddb/db_access.c
  user/markj/netdump/sys/dev/cxgbe/adapter.h
  user/markj/netdump/sys/dev/cxgbe/offload.h
  user/markj/netdump/sys/dev/cxgbe/t4_ioctl.h
  user/markj/netdump/sys/dev/cxgbe/t4_main.c
  user/markj/netdump/sys/dev/cxgbe/t4_sge.c
  user/markj/netdump/sys/dev/cxgbe/tom/t4_connect.c
  user/markj/netdump/sys/dev/cxgbe/tom/t4_cpl_io.c
  user/markj/netdump/sys/dev/cxgbe/tom/t4_listen.c
  user/markj/netdump/sys/dev/cxgbe/tom/t4_tom.c
  user/markj/netdump/sys/dev/cxgbe/tom/t4_tom.h
  user/markj/netdump/sys/dev/dcons/dcons_crom.c
  user/markj/netdump/sys/dev/dcons/dcons_os.c
  user/markj/netdump/sys/dev/hyperv/vmbus/i386/vmbus_vector.S
  user/markj/netdump/sys/dev/netmap/netmap_freebsd.c
  user/markj/netdump/sys/dev/ppc/ppc.c
  user/markj/netdump/sys/dev/syscons/syscons.c
  user/markj/netdump/sys/i386/conf/NOTES
  user/markj/netdump/sys/i386/i386/apic_vector.s
  user/markj/netdump/sys/i386/i386/atpic_vector.s
  user/markj/netdump/sys/i386/i386/bios.c
  user/markj/netdump/sys/i386/i386/db_disasm.c
  user/markj/netdump/sys/i386/i386/db_interface.c
  user/markj/netdump/sys/i386/i386/db_trace.c
  user/markj/netdump/sys/i386/i386/elf_machdep.c
  user/markj/netdump/sys/i386/i386/exception.s
  user/markj/netdump/sys/i386/i386/genassym.c
  user/markj/netdump/sys/i386/i386/locore.s
  user/markj/netdump/sys/i386/i386/machdep.c
  user/markj/netdump/sys/i386/i386/mem.c
  user/markj/netdump/sys/i386/i386/minidump_machdep.c
  user/markj/netdump/sys/i386/i386/mp_machdep.c
  user/markj/netdump/sys/i386/i386/mpboot.s
  user/markj/netdump/sys/i386/i386/pmap.c
  user/markj/netdump/sys/i386/i386/sigtramp.s
  user/markj/netdump/sys/i386/i386/support.s
  user/markj/netdump/sys/i386/i386/swtch.s
  user/markj/netdump/sys/i386/i386/sys_machdep.c
  user/markj/netdump/sys/i386/i386/trap.c
  user/markj/netdump/sys/i386/i386/vm86.c
  user/markj/netdump/sys/i386/i386/vm86bios.s
  user/markj/netdump/sys/i386/i386/vm_machdep.c
  user/markj/netdump/sys/i386/include/asmacros.h
  user/markj/netdump/sys/i386/include/frame.h
  user/markj/netdump/sys/i386/include/md_var.h
  user/markj/netdump/sys/i386/include/param.h
  user/markj/netdump/sys/i386/include/pc/bios.h
  user/markj/netdump/sys/i386/include/pcpu.h
  user/markj/netdump/sys/i386/include/pmap.h
  user/markj/netdump/sys/i386/include/segments.h
  user/markj/netdump/sys/i386/include/vmparam.h
  user/markj/netdump/sys/kern/imgact_aout.c
  user/markj/netdump/sys/kern/subr_witness.c
  user/markj/netdump/sys/mips/include/db_machdep.h
  user/markj/netdump/sys/modules/Makefile
  user/markj/netdump/sys/net/if.c
  user/markj/netdump/sys/net/if_arp.h
  user/markj/netdump/sys/netinet/if_ether.c
  user/markj/netdump/sys/netinet6/in6.c
  user/markj/netdump/sys/netinet6/in6_ifattach.c
  user/markj/netdump/sys/netinet6/nd6.c
  user/markj/netdump/sys/netinet6/nd6_nbr.c
  user/markj/netdump/sys/powerpc/include/db_machdep.h
  user/markj/netdump/sys/powerpc/mpc85xx/fsl_diu.c
  user/markj/netdump/sys/sparc64/include/db_machdep.h
  user/markj/netdump/sys/x86/acpica/acpi_wakeup.c
  user/markj/netdump/sys/x86/cpufreq/est.c
  user/markj/netdump/sys/x86/x86/local_apic.c
  user/markj/netdump/sys/x86/x86/mp_x86.c
  user/markj/netdump/sys/x86/x86/mptable.c
  user/markj/netdump/usr.bin/dtc/dtc.1
  user/markj/netdump/usr.bin/dtc/dtc.cc
  user/markj/netdump/usr.bin/dtc/fdt.cc
  user/markj/netdump/usr.bin/dtc/fdt.hh
  user/markj/netdump/usr.bin/wall/ttymsg.c
  user/markj/netdump/usr.bin/wall/ttymsg.h
  user/markj/netdump/usr.sbin/cxgbetool/Makefile
  user/markj/netdump/usr.sbin/cxgbetool/cxgbetool.8
  user/markj/netdump/usr.sbin/cxgbetool/cxgbetool.c
  user/markj/netdump/usr.sbin/daemon/daemon.8
  user/markj/netdump/usr.sbin/daemon/daemon.c
  user/markj/netdump/usr.sbin/mountd/mountd.c
  user/markj/netdump/usr.sbin/pkg/pkg.c
  user/markj/netdump/usr.sbin/syslogd/syslogd.8
  user/markj/netdump/usr.sbin/syslogd/syslogd.c
Directory Properties:
  user/markj/netdump/   (props changed)
  user/markj/netdump/contrib/amd/   (props changed)
  user/markj/netdump/gnu/usr.bin/gdb/   (props changed)
  user/markj/netdump/sys/cddl/contrib/opensolaris/   (props changed)

Modified: user/markj/netdump/ObsoleteFiles.inc
==============================================================================
--- user/markj/netdump/ObsoleteFiles.inc	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/ObsoleteFiles.inc	Mon Apr 16 14:43:01 2018	(r332570)
@@ -38,6 +38,9 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20180413: remove Arcnet support
+OLD_FILES+=usr/include/net/if_arc.h
+OLD_FILES+=usr/share/man/man4/cm.4.gz
 # 20180409: remove FDDI support
 OLD_FILES+=usr/include/net/fddi.h
 OLD_FILES+=usr/share/man/man4/fpa.4.gz
@@ -416,7 +419,7 @@ OLD_FILES+=usr/share/man/man9/mbp_sync.9.gz
 OLD_FILES+=usr/lib/libstand.a
 OLD_FILES+=usr/lib/libstand_p.a
 OLD_FILES+=usr/include/stand.h
-OLD_FILES+=usr/share/man/man3/libstand.3
+OLD_FILES+=usr/share/man/man3/libstand.3.gz
 # 20171003: remove RCMDS
 OLD_FILES+=bin/rcp
 OLD_FILES+=rescue/rcp

Modified: user/markj/netdump/UPDATING
==============================================================================
--- user/markj/netdump/UPDATING	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/UPDATING	Mon Apr 16 14:43:01 2018	(r332570)
@@ -51,6 +51,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
 
 ****************************** SPECIAL WARNING: ******************************
 
+20180413:
+	Support for Arcnet networks has been removed.  If you have device
+	arcnet or device cm in your kernel config file they must be
+	removed.
+
 20180411:
 	Support for FDDI networks has been removed.  If you have device
 	fddi or device fpa in your kernel config file they must be

Modified: user/markj/netdump/bin/expr/expr.y
==============================================================================
--- user/markj/netdump/bin/expr/expr.y	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/bin/expr/expr.y	Mon Apr 16 14:43:01 2018	(r332570)
@@ -422,11 +422,9 @@ op_plus(struct val *a, struct val *b)
 void
 assert_minus(intmax_t a, intmax_t b, intmax_t r)
 {
-	/* special case subtraction of INTMAX_MIN */
-	if (b == INTMAX_MIN && a < 0)
+	if ((a >= 0 && b < 0 && r <= 0) ||
+	    (a < 0 && b > 0 && r >= 0))
 		errx(ERR_EXIT, "overflow");
-	/* check addition of negative subtrahend */
-	assert_plus(a, -b, r);
 }
 
 struct val *

Modified: user/markj/netdump/contrib/amd/FREEBSD-upgrade
==============================================================================
--- user/markj/netdump/contrib/amd/FREEBSD-upgrade	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/contrib/amd/FREEBSD-upgrade	Mon Apr 16 14:43:01 2018	(r332570)
@@ -32,6 +32,7 @@ https://bugzilla.am-utils.org for inclusion in the nex
 Local changes:
 
 	amd/amd.8
+	  - corrected formatting of SEE ALSO
 	  r1.17 Uniformly refer to a file system as "file system"
 	  r1.16 Add the am-utils homepage to SEE ALSO
 	  r1.15 s/BSD/.Bx/ where appropriate

Modified: user/markj/netdump/contrib/amd/amd/amd.8
==============================================================================
--- user/markj/netdump/contrib/amd/amd/amd.8	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/contrib/amd/amd/amd.8	Mon Apr 16 14:43:01 2018	(r332570)
@@ -362,15 +362,15 @@ number of process context switches.
 A weird imagination is most useful to gain full advantage of all
 the features.
 .Sh SEE ALSO
-.Xr domainname 1,
-.Xr hostname 1,
-.Xr syslog 3.
-.Xr amd.conf 5,
-.Xr mtab 5,
-.Xr amq 8,
-.Xr automount 8,
-.Xr mount 8,
-.Xr umount 8,
+.Xr domainname 1 ,
+.Xr hostname 1 ,
+.Xr syslog 3 ,
+.Xr amd.conf 5 ,
+.Xr mtab 5 ,
+.Xr amq 8 ,
+.Xr automount 8 ,
+.Xr mount 8 ,
+.Xr umount 8
 .Pp
 .Dq am-utils
 .Xr info 1

Modified: user/markj/netdump/contrib/bsnmp/snmp_mibII/mibII.c
==============================================================================
--- user/markj/netdump/contrib/bsnmp/snmp_mibII/mibII.c	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/contrib/bsnmp/snmp_mibII/mibII.c	Mon Apr 16 14:43:01 2018	(r332570)
@@ -846,7 +846,6 @@ static void
 check_llbcast(struct mibif *ifp)
 {
 	static u_char ether_bcast[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-	static u_char arcnet_bcast = 0;
 	struct mibrcvaddr *rcv;
 
 	if (!(ifp->mib.ifmd_flags & IFF_BROADCAST))
@@ -860,12 +859,6 @@ check_llbcast(struct mibif *ifp)
 	  case IFT_L2VLAN:
 		if (mib_find_rcvaddr(ifp->index, ether_bcast, 6) == NULL &&
 		    (rcv = mib_rcvaddr_create(ifp, ether_bcast, 6)) != NULL)
-			rcv->flags |= MIBRCVADDR_BCAST;
-		break;
-
-	  case IFT_ARCNET:
-		if (mib_find_rcvaddr(ifp->index, &arcnet_bcast, 1) == NULL &&
-		    (rcv = mib_rcvaddr_create(ifp, &arcnet_bcast, 1)) != NULL)
 			rcv->flags |= MIBRCVADDR_BCAST;
 		break;
 	}

Modified: user/markj/netdump/gnu/usr.bin/gdb/kgdb/trgt_i386.c
==============================================================================
--- user/markj/netdump/gnu/usr.bin/gdb/kgdb/trgt_i386.c	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/gnu/usr.bin/gdb/kgdb/trgt_i386.c	Mon Apr 16 14:43:01 2018	(r332570)
@@ -29,6 +29,8 @@ __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
 #include <sys/proc.h>
+#include <vm/vm.h>
+#include <vm/pmap.h>
 #include <machine/pcb.h>
 #include <machine/frame.h>
 #include <machine/segments.h>
@@ -279,12 +281,26 @@ kgdb_trgt_frame_cache(struct frame_info *next_frame, v
 	char buf[MAX_REGISTER_SIZE];
 	struct kgdb_frame_cache *cache;
 	char *pname;
+	CORE_ADDR pcx;
+	uintptr_t addr, setidt_disp;
 
 	cache = *this_cache;
 	if (cache == NULL) {
 		cache = FRAME_OBSTACK_ZALLOC(struct kgdb_frame_cache);
 		*this_cache = cache;
-		cache->pc = frame_func_unwind(next_frame);
+		pcx = frame_pc_unwind(next_frame);
+		if (pcx >= PMAP_TRM_MIN_ADDRESS) {
+			addr = kgdb_lookup("setidt_disp");
+			if (addr != 0) {
+				if (kvm_read(kvm, addr, &setidt_disp,
+				    sizeof(setidt_disp)) !=
+				    sizeof(setidt_disp))
+					warnx("kvm_read: %s", kvm_geterr(kvm));
+				else
+					pcx -= setidt_disp;
+			}
+		}
+		cache->pc = pcx;
 		find_pc_partial_function(cache->pc, &pname, NULL, NULL);
 		if (pname[0] != 'X')
 			cache->frame_type = FT_NORMAL;
@@ -373,6 +389,8 @@ kgdb_trgt_trapframe_sniffer(struct frame_info *next_fr
 	CORE_ADDR pc;
 
 	pc = frame_pc_unwind(next_frame);
+	if (pc >= PMAP_TRM_MIN_ADDRESS)
+		return (&kgdb_trgt_trapframe_unwind);
 	pname = NULL;
 	find_pc_partial_function(pc, &pname, NULL, NULL);
 	if (pname == NULL)

Modified: user/markj/netdump/lib/clang/freebsd_cc_version.h
==============================================================================
--- user/markj/netdump/lib/clang/freebsd_cc_version.h	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/lib/clang/freebsd_cc_version.h	Mon Apr 16 14:43:01 2018	(r332570)
@@ -1,3 +1,3 @@
 /* $FreeBSD$ */
 
-#define	FREEBSD_CC_VERSION		1200011
+#define	FREEBSD_CC_VERSION		1200013

Modified: user/markj/netdump/lib/libc/net/getnameinfo.c
==============================================================================
--- user/markj/netdump/lib/libc/net/getnameinfo.c	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/lib/libc/net/getnameinfo.c	Mon Apr 16 14:43:01 2018	(r332570)
@@ -481,7 +481,6 @@ getnameinfo_link(const struct afd *afd,
 	 * IFT_OTHER	(netinet/ip_ipip.c)
 	 */
 	/* default below is believed correct for all these. */
-	case IFT_ARCNET:
 	case IFT_ETHER:
 	case IFT_FDDI:
 	case IFT_HIPPI:

Modified: user/markj/netdump/share/man/man4/Makefile
==============================================================================
--- user/markj/netdump/share/man/man4/Makefile	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/share/man/man4/Makefile	Mon Apr 16 14:43:01 2018	(r332570)
@@ -120,7 +120,6 @@ MAN=	aac.4 \
 	chromebook_platform.4 \
 	ciss.4 \
 	cloudabi.4 \
-	cm.4 \
 	cmx.4 \
 	${_coretemp.4} \
 	${_cpuctl.4} \

Modified: user/markj/netdump/share/vt/fonts/Makefile
==============================================================================
--- user/markj/netdump/share/vt/fonts/Makefile	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/share/vt/fonts/Makefile	Mon Apr 16 14:43:01 2018	(r332570)
@@ -2,6 +2,7 @@
 
 FILES=	gallant.fnt \
 	terminus-b32.fnt \
+	tom-thumb.fnt \
 	vgarom-8x8.fnt \
 	vgarom-8x14.fnt \
 	vgarom-8x16.fnt \

Copied: user/markj/netdump/share/vt/fonts/tom-thumb.hex (from r332568, head/share/vt/fonts/tom-thumb.hex)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ user/markj/netdump/share/vt/fonts/tom-thumb.hex	Mon Apr 16 14:43:01 2018	(r332570, copy of r332568, head/share/vt/fonts/tom-thumb.hex)
@@ -0,0 +1,212 @@
+# $FreeBSD$
+# tom-thumb by Brian Swetland and Robey Pointer
+#
+# To the extent possible under law, the person who associated CC0 with
+# tom-thumb has waived all copyright and related or neighboring rights
+# to tom-thumb.
+#
+# You should have received a copy of the CC0 legalcode along with this
+# work.  If not, see <http://creativecommons.org/publicdomain/zero/1.0>.
+#
+# Height: 6
+# Width: 4
+0020:000000000000
+0021:404040004000
+0022:A0A000000000
+0023:A0E0A0E0A000
+0024:60C060C04000
+0025:802040802000
+0026:C0C0E0A06000
+0027:404000000000
+0028:408080804000
+0029:804040408000
+002A:00A040A00000
+002B:0040E0400000
+002C:000000408000
+002D:0000E0000000
+002E:000000004000
+002F:202040808000
+0030:60A0A0A0C000
+0031:40C040404000
+0032:C0204080E000
+0033:C0204020C000
+0034:A0A0E0202000
+0035:E080C020C000
+0036:6080E0A0E000
+0037:E02040808000
+0038:E0A0E0A0E000
+0039:E0A0E020C000
+003A:004000400000
+003B:004000408000
+003C:204080402000
+003D:00E000E00000
+003E:804020408000
+003F:E02040004000
+0040:40A0E0806000
+0041:40A0E0A0A000
+0042:C0A0C0A0C000
+0043:608080806000
+0044:C0A0A0A0C000
+0045:E080E080E000
+0046:E080E0808000
+0047:6080E0A06000
+0048:A0A0E0A0A000
+0049:E0404040E000
+004A:202020A04000
+004B:A0A0C0A0A000
+004C:80808080E000
+004D:A0E0E0A0A000
+004E:A0E0E0E0A000
+004F:40A0A0A04000
+0050:C0A0C0808000
+0051:40A0A0E06000
+0052:C0A0E0C0A000
+0053:60804020C000
+0054:E04040404000
+0055:A0A0A0A06000
+0056:A0A0A0404000
+0057:A0A0E0E0A000
+0058:A0A040A0A000
+0059:A0A040404000
+005A:E0204080E000
+005B:E0808080E000
+005C:008040200000
+005D:E0202020E000
+005E:40A000000000
+005F:00000000E000
+0060:804000000000
+0061:00C060A0E000
+0062:80C0A0A0C000
+0063:006080806000
+0064:2060A0A06000
+0065:0060A0C06000
+0066:2040E0404000
+0067:0060A0E02040
+0068:80C0A0A0A000
+0069:400040404000
+006A:20002020A040
+006B:80A0C0C0A000
+006C:C0404040E000
+006D:00E0E0E0A000
+006E:00C0A0A0A000
+006F:0040A0A04000
+0070:00C0A0A0C080
+0071:0060A0A06020
+0072:006080808000
+0073:0060C060C000
+0074:40E040406000
+0075:00A0A0A06000
+0076:00A0A0E04000
+0077:00A0E0E0E000
+0078:00A04040A000
+0079:00A0A0602040
+007A:00E060C0E000
+007B:604080406000
+007C:404000404000
+007D:C0402040C000
+007E:60C000000000
+00A1:800080808000
+00A2:40E080E04000
+00A3:6040E040E000
+00A4:A040E040A000
+00A5:A0A040E04000
+00A6:404000404000
+00A7:6040A040C000
+00A8:A00000000000
+00A9:608060000000
+00AA:60A0E000E000
+00AB:408040000000
+00AC:E02000000000
+00AD:C00000000000
+00AE:C0C0A0000000
+00AF:E00000000000
+00B0:40A040000000
+00B1:40E04000E000
+00B2:C04060000000
+00B3:E060E0000000
+00B4:408000000000
+00B5:A0A0A0C08000
+00B6:60A060606000
+00B7:E0E0E0000000
+00B8:4020C0000000
+00B9:808080000000
+00BA:40A04000E000
+00BB:804080000000
+00BC:808000602000
+00BD:808000C06000
+00BE:C0C000602000
+00BF:40004080E000
+00C0:402040E0A000
+00C1:408040E0A000
+00C2:E00040E0A000
+00C3:60C040E0A000
+00C4:A040A0E0A000
+00C5:C0C0A0E0A000
+00C6:60C0E0C0E000
+00C7:608080602040
+00C8:4020E0C0E000
+00C9:4080E0C0E000
+00CA:E000E0C0E000
+00CB:A000E0C0E000
+00CC:4020E040E000
+00CD:4080E040E000
+00CE:E000E040E000
+00CF:A000E040E000
+00D0:C0A0E0A0C000
+00D1:C060A0E0A000
+00D2:4020E0A0E000
+00D3:4080E0A0E000
+00D4:E000E0A0E000
+00D5:C060E0A0E000
+00D6:A000E0A0E000
+00D7:A040A0000000
+00D8:60A0E0A0C000
+00D9:8040A0A0E000
+00DA:2040A0A0E000
+00DB:E000A0A0E000
+00DC:A000A0A0E000
+00DD:2040A0E04000
+00DE:80E0A0E08000
+00DF:60A0C0A0C080
+00E0:402060A0E000
+00E1:408060A0E000
+00E2:E00060A0E000
+00E3:60C060A0E000
+00E4:A00060A0E000
+00E5:606060A0E000
+00E6:60E0E0C00000
+00E7:608060204000
+00E8:402060E06000
+00E9:408060E06000
+00EA:E00060E06000
+00EB:A00060E06000
+00EC:804080808000
+00ED:408040404000
+00EE:E00040404000
+00EF:A00040404000
+00F0:60C060A06000
+00F1:C060C0A0A000
+00F2:402040A04000
+00F3:408040A04000
+00F4:E00040A04000
+00F5:C06040A04000
+00F6:A00040A04000
+00F7:4000E0004000
+00F8:60E0A0C00000
+00F9:8040A0A06000
+00FA:2040A0A06000
+00FB:E000A0A06000
+00FC:A000A0A06000
+00FD:2040A0602040
+00FE:80C0A0C08000
+00FF:A000A0602040
+0152:60C0E0C06000
+0153:60E0C0E00000
+0160:A060C060C000
+0161:A060C060C000
+0178:A000A0404000
+017D:A0E060C0E000
+017E:A0E060C0E000
+2022:000040000000
+2026:00000000A000
+20AC:60E0E0C06000

Modified: user/markj/netdump/stand/common/bootstrap.h
==============================================================================
--- user/markj/netdump/stand/common/bootstrap.h	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/stand/common/bootstrap.h	Mon Apr 16 14:43:01 2018	(r332570)
@@ -36,7 +36,7 @@
 /* Commands and return values; nonzero return sets command_errmsg != NULL */
 typedef int	(bootblk_cmd_t)(int argc, char *argv[]);
 #define	COMMAND_ERRBUFSZ	(256)
-extern char	*command_errmsg;	
+extern const char *command_errmsg;
 extern char	command_errbuf[COMMAND_ERRBUFSZ];
 #define CMD_OK		0
 #define CMD_WARN	1

Modified: user/markj/netdump/stand/common/commands.c
==============================================================================
--- user/markj/netdump/stand/common/commands.c	Mon Apr 16 14:42:25 2018	(r332569)
+++ user/markj/netdump/stand/common/commands.c	Mon Apr 16 14:43:01 2018	(r332570)
@@ -32,7 +32,7 @@ __FBSDID("$FreeBSD$");
 
 #include "bootstrap.h"
 
-char		*command_errmsg;
+const char	*command_errmsg;
 /* XXX should have procedural interface for setting, size limit? */
 char		command_errbuf[COMMAND_ERRBUFSZ];
 
@@ -61,153 +61,160 @@ here
 COMMAND_SET(help, "help", "detailed help", command_help);
 
 static int
-help_getnext(int fd, char **topic, char **subtopic, char **desc) 
+help_getnext(int fd, char **topic, char **subtopic, char **desc)
 {
-    char	line[81], *cp, *ep;
-    
-    for (;;) {
-	if (fgetstr(line, 80, fd) < 0)
-	    return(0);
-	
-	if ((strlen(line) < 3) || (line[0] != '#') || (line[1] != ' '))
-	    continue;
+	char	line[81], *cp, *ep;
 
+	/* Make sure we provide sane values. */
 	*topic = *subtopic = *desc = NULL;
-	cp = line + 2;
-	while((cp != NULL) && (*cp != 0)) {
-	    ep = strchr(cp, ' ');
-	    if ((*cp == 'T') && (*topic == NULL)) {
-		if (ep != NULL)
-		    *ep++ = 0;
-		*topic = strdup(cp + 1);
-	    } else if ((*cp == 'S') && (*subtopic == NULL)) {
-		if (ep != NULL)
-		    *ep++ = 0;
-		*subtopic = strdup(cp + 1);
-	    } else if (*cp == 'D') {
-		*desc = strdup(cp + 1);
-		ep = NULL;
-	    }
-	    cp = ep;
+	for (;;) {
+		if (fgetstr(line, 80, fd) < 0)
+			return (0);
+
+		if (strlen(line) < 3 || line[0] != '#' || line[1] != ' ')
+			continue;
+
+		cp = line + 2;
+		while (cp != NULL && *cp != 0) {
+			ep = strchr(cp, ' ');
+			if (*cp == 'T' && *topic == NULL) {
+				if (ep != NULL)
+					*ep++ = 0;
+				*topic = strdup(cp + 1);
+			} else if (*cp == 'S' && *subtopic == NULL) {
+				if (ep != NULL)
+					*ep++ = 0;
+				*subtopic = strdup(cp + 1);
+			} else if (*cp == 'D') {
+				*desc = strdup(cp + 1);
+				ep = NULL;
+			}
+			cp = ep;
+		}
+		if (*topic == NULL) {
+			free(*subtopic);
+			free(*desc);
+			*subtopic = *desc = NULL;
+			continue;
+		}
+		return (1);
 	}
-	if (*topic == NULL) {
-	    free(*subtopic);
-	    free(*desc);
-	    continue;
-	}
-	return(1);
-    }
 }
 
 static int
 help_emitsummary(char *topic, char *subtopic, char *desc)
 {
-    int		i;
-    
-    pager_output("    ");
-    pager_output(topic);
-    i = strlen(topic);
-    if (subtopic != NULL) {
-	pager_output(" ");
-	pager_output(subtopic);
-	i += strlen(subtopic) + 1;
-    }
-    if (desc != NULL) {
-	do {
-	    pager_output(" ");
-	} while (i++ < 30);
-	pager_output(desc);
-    }
-    return (pager_output("\n"));
+	int	i;
+
+	pager_output("    ");
+	pager_output(topic);
+	i = strlen(topic);
+	if (subtopic != NULL) {
+		pager_output(" ");
+		pager_output(subtopic);
+		i += strlen(subtopic) + 1;
+	}
+	if (desc != NULL) {
+		do {
+			pager_output(" ");
+		} while (i++ < 30);
+		pager_output(desc);
+	}
+	return (pager_output("\n"));
 }
 
-	    
+
 static int
-command_help(int argc, char *argv[]) 
+command_help(int argc, char *argv[])
 {
-    char	buf[81];	/* XXX buffer size? */
-    int		hfd, matched, doindex;
-    char	*topic, *subtopic, *t, *s, *d;
+	char	buf[81];	/* XXX buffer size? */
+	int	hfd, matched, doindex;
+	char	*topic, *subtopic, *t, *s, *d;
 
-    /* page the help text from our load path */
-    snprintf(buf, sizeof(buf), "%s/boot/loader.help", getenv("loaddev"));
-    if ((hfd = open(buf, O_RDONLY)) < 0) {
-	printf("Verbose help not available, use '?' to list commands\n");
-	return(CMD_OK);
-    }
+	/* page the help text from our load path */
+	snprintf(buf, sizeof(buf), "%s/boot/loader.help", getenv("loaddev"));
+	if ((hfd = open(buf, O_RDONLY)) < 0) {
+		printf("Verbose help not available, "
+		    "use '?' to list commands\n");
+		return (CMD_OK);
+	}
 
-    /* pick up request from arguments */
-    topic = subtopic = NULL;
-    switch(argc) {
-    case 3:
-	subtopic = strdup(argv[2]);
-    case 2:
-	topic = strdup(argv[1]);
-	break;
-    case 1:
-	topic = strdup("help");
-	break;
-    default:
-	command_errmsg = "usage is 'help <topic> [<subtopic>]";
-	close(hfd);
-	return(CMD_ERROR);
-    }
+	/* pick up request from arguments */
+	topic = subtopic = NULL;
+	switch (argc) {
+	case 3:
+		subtopic = strdup(argv[2]);
+		/* FALLTHROUGH */
+	case 2:
+		topic = strdup(argv[1]);
+		break;
+	case 1:
+		topic = strdup("help");
+		break;
+	default:
+		command_errmsg = "usage is 'help <topic> [<subtopic>]";
+		close(hfd);
+		return(CMD_ERROR);
+	}
 
-    /* magic "index" keyword */
-    doindex = !strcmp(topic, "index");
-    matched = doindex;
-    
-    /* Scan the helpfile looking for help matching the request */
-    pager_open();
-    while(help_getnext(hfd, &t, &s, &d)) {
+	/* magic "index" keyword */
+	doindex = strcmp(topic, "index") == 0? 1 : 0;
+	matched = doindex;
 
-	if (doindex) {		/* dink around formatting */
-	    if (help_emitsummary(t, s, d))
-		break;
+	/* Scan the helpfile looking for help matching the request */
+	pager_open();
+	while (help_getnext(hfd, &t, &s, &d)) {
 
-	} else if (strcmp(topic, t)) {
-	    /* topic mismatch */
-	    if (matched)	/* nothing more on this topic, stop scanning */
-		break;
+		if (doindex) {		/* dink around formatting */
+			if (help_emitsummary(t, s, d))
+				break;
 
-	} else {
-	    /* topic matched */
-	    matched = 1;
-	    if (((subtopic == NULL) && (s == NULL)) ||
-		((subtopic != NULL) && (s != NULL) && !strcmp(subtopic, s))) {
-		/* exact match, print text */
-		while ((fgetstr(buf, 80, hfd) >= 0) && (buf[0] != '#')) {
-		    if (pager_output(buf))
-			break;
-		    if (pager_output("\n"))
-			break;
+		} else if (strcmp(topic, t)) {
+			/* topic mismatch */
+			if (matched) {
+				/* nothing more on this topic, stop scanning */
+				break;
+			}
+		} else {
+			/* topic matched */
+			matched = 1;
+			if ((subtopic == NULL && s == NULL) ||
+			    (subtopic != NULL && s != NULL &&
+			    strcmp(subtopic, s) == 0)) {
+				/* exact match, print text */
+				while (fgetstr(buf, 80, hfd) >= 0 &&
+				    buf[0] != '#') {
+					if (pager_output(buf))
+						break;
+					if (pager_output("\n"))
+						break;
+				}
+			} else if (subtopic == NULL && s != NULL) {
+				/* topic match, list subtopics */
+				if (help_emitsummary(t, s, d))
+					break;
+			}
 		}
-	    } else if ((subtopic == NULL) && (s != NULL)) {
-		/* topic match, list subtopics */
-		if (help_emitsummary(t, s, d))
-		    break;
-	    }
+		free(t);
+		free(s);
+		free(d);
+		t = s = d = NULL;
 	}
 	free(t);
 	free(s);
 	free(d);
-	t = s = d = NULL;
-    }
-    free(t);
-    free(s);
-    free(d);
-    pager_close();
-    close(hfd);
-    if (!matched) {
-	snprintf(command_errbuf, sizeof(command_errbuf),
-	    "no help available for '%s'", topic);
+	pager_close();
+	close(hfd);
+	if (!matched) {
+		snprintf(command_errbuf, sizeof(command_errbuf),
+		    "no help available for '%s'", topic);
+		free(topic);
+		free(subtopic);
+		return (CMD_ERROR);
+	}
 	free(topic);
 	free(subtopic);
-	return(CMD_ERROR);
-    }
-    free(topic);
-    free(subtopic);
-    return(CMD_OK);
+	return (CMD_OK);
 }
 
 COMMAND_SET(commandlist, "?", "list commands", command_commandlist);
@@ -221,27 +228,28 @@ COMMAND_SET(commandlist, "?", "list commands", command
  * fixing it.
  */
 static int
-command_commandlist(int argc, char *argv[])
+command_commandlist(int argc __unused, char *argv[] __unused)
 {
-    struct bootblk_command	**cmdp;
-    int		res;
-    char	name[20];
+	struct bootblk_command	**cmdp;
+	int	res;
+	char	name[20];
 
-    res = 0;
-    pager_open();
-    res = pager_output("Available commands:\n");
-    SET_FOREACH(cmdp, Xcommand_set) {
-	if (res)
-	    break;
-	if (((*cmdp)->c_name != NULL) && ((*cmdp)->c_desc != NULL)) {
-	    sprintf(name, "  %-15s  ", (*cmdp)->c_name);
-	    pager_output(name);
-	    pager_output((*cmdp)->c_desc);
-	    res = pager_output("\n");
+	res = 0;
+	pager_open();
+	res = pager_output("Available commands:\n");
+	SET_FOREACH(cmdp, Xcommand_set) {
+		if (res)
+			break;
+		if ((*cmdp)->c_name != NULL && (*cmdp)->c_desc != NULL) {
+			snprintf(name, sizeof(name), "  %-15s  ",
+			    (*cmdp)->c_name);
+			pager_output(name);
+			pager_output((*cmdp)->c_desc);
+			res = pager_output("\n");
+		}
 	}
-    }
-    pager_close();
-    return(CMD_OK);
+	pager_close();
+	return (CMD_OK);
 }
 
 /*
@@ -254,35 +262,35 @@ COMMAND_SET(show, "show", "show variable(s)", command_
 static int
 command_show(int argc, char *argv[])
 {
-    struct env_var	*ev;
-    char		*cp;
+	struct env_var	*ev;
+	char		*cp;
 
-    if (argc < 2) {
-	/* 
-	 * With no arguments, print everything.
-	 */
-	pager_open();
-	for (ev = environ; ev != NULL; ev = ev->ev_next) {
-	    pager_output(ev->ev_name);
-	    cp = getenv(ev->ev_name);
-	    if (cp != NULL) {
-		pager_output("=");
-		pager_output(cp);
-	    }
-	    if (pager_output("\n"))
-		break;
-	}
-	pager_close();
-    } else {
-	if ((cp = getenv(argv[1])) != NULL) {
-	    printf("%s\n", cp);
+	if (argc < 2) {
+		/*
+		 * With no arguments, print everything.
+		 */
+		pager_open();
+		for (ev = environ; ev != NULL; ev = ev->ev_next) {
+			pager_output(ev->ev_name);
+			cp = getenv(ev->ev_name);
+			if (cp != NULL) {
+				pager_output("=");
+				pager_output(cp);
+			}
+			if (pager_output("\n"))
+				break;
+		}
+		pager_close();
 	} else {
-	    snprintf(command_errbuf, sizeof(command_errbuf),
-		"variable '%s' not found", argv[1]);
-	    return(CMD_ERROR);
+		if ((cp = getenv(argv[1])) != NULL) {
+			printf("%s\n", cp);
+		} else {
+			snprintf(command_errbuf, sizeof(command_errbuf),
+			    "variable '%s' not found", argv[1]);
+			return (CMD_ERROR);
+		}
 	}
-    }
-    return(CMD_OK);
+	return (CMD_OK);
 }
 
 COMMAND_SET(set, "set", "set a variable", command_set);
@@ -290,37 +298,37 @@ COMMAND_SET(set, "set", "set a variable", command_set)
 static int
 command_set(int argc, char *argv[])
 {
-    int		err;
-    
-    if (argc != 2) {
-	command_errmsg = "wrong number of arguments";
-	return(CMD_ERROR);
-    } else {
-	if ((err = putenv(argv[1])) != 0) {
-	    command_errmsg = strerror(err);
-	    return(CMD_ERROR);
+	int	err;
+
+	if (argc != 2) {
+		command_errmsg = "wrong number of arguments";
+		return (CMD_ERROR);
+	} else {
+		if ((err = putenv(argv[1])) != 0) {
+			command_errmsg = strerror(err);
+			return (CMD_ERROR);
+		}
 	}
-    }
-    return(CMD_OK);
+	return (CMD_OK);
 }
 
 COMMAND_SET(unset, "unset", "unset a variable", command_unset);
 
 static int
-command_unset(int argc, char *argv[]) 
+command_unset(int argc, char *argv[])
 {
-    int		err;
-    
-    if (argc != 2) {
-	command_errmsg = "wrong number of arguments";
-	return(CMD_ERROR);
-    } else {
-	if ((err = unsetenv(argv[1])) != 0) {
-	    command_errmsg = strerror(err);
-	    return(CMD_ERROR);
+	int	err;
+
+	if (argc != 2) {
+		command_errmsg = "wrong number of arguments";
+		return (CMD_ERROR);
+	} else {
+		if ((err = unsetenv(argv[1])) != 0) {
+			command_errmsg = strerror(err);
+			return (CMD_ERROR);
+		}
 	}
-    }
-    return(CMD_OK);
+	return (CMD_OK);
 }
 
 COMMAND_SET(echo, "echo", "echo arguments", command_echo);
@@ -328,34 +336,34 @@ COMMAND_SET(echo, "echo", "echo arguments", command_ec
 static int
 command_echo(int argc, char *argv[])
 {
-    char	*s;
-    int		nl, ch;
-    
-    nl = 0;
-    optind = 1;
-    optreset = 1;
-    while ((ch = getopt(argc, argv, "n")) != -1) {
-	switch(ch) {
-	case 'n':
-	    nl = 1;
-	    break;
-	case '?':
-	default:
-	    /* getopt has already reported an error */
-	    return(CMD_OK);
+	char	*s;
+	int	nl, ch;
+
+	nl = 0;
+	optind = 1;
+	optreset = 1;
+	while ((ch = getopt(argc, argv, "n")) != -1) {
+		switch (ch) {
+		case 'n':
+			nl = 1;
+			break;
+		case '?':
+		default:
+			/* getopt has already reported an error */
+			return (CMD_OK);
+		}
 	}
-    }
-    argv += (optind);
-    argc -= (optind);
+	argv += (optind);
+	argc -= (optind);
 
-    s = unargv(argc, argv);
-    if (s != NULL) {
-	printf("%s", s);
-	free(s);
-    }
-    if (!nl)
-	printf("\n");
-    return(CMD_OK);
+	s = unargv(argc, argv);
+	if (s != NULL) {
+		printf("%s", s);
+		free(s);
+	}
+	if (!nl)
+		printf("\n");
+	return (CMD_OK);
 }
 
 /*
@@ -367,55 +375,55 @@ COMMAND_SET(read, "read", "read input from the termina
 static int
 command_read(int argc, char *argv[])
 {
-    char	*prompt;
-    int		timeout;
-    time_t	when;
-    char	*cp;
-    char	*name;
-    char	buf[256];		/* XXX size? */
-    int		c;
+	char	*prompt;
+	int	timeout;
+	time_t	when;
+	char	*cp;
+	char	*name;
+	char	buf[256];		/* XXX size? */
+	int	c;
     
-    timeout = -1;
-    prompt = NULL;
-    optind = 1;
-    optreset = 1;
-    while ((c = getopt(argc, argv, "p:t:")) != -1) {
-	switch(c) {
-	    
-	case 'p':
-	    prompt = optarg;
-	    break;
-	case 't':
-	    timeout = strtol(optarg, &cp, 0);
-	    if (cp == optarg) {
-		snprintf(command_errbuf, sizeof(command_errbuf),
-		    "bad timeout '%s'", optarg);
-		return(CMD_ERROR);
-	    }
-	    break;
-	default:
-	    return(CMD_OK);
+	timeout = -1;
+	prompt = NULL;
+	optind = 1;
+	optreset = 1;
+	while ((c = getopt(argc, argv, "p:t:")) != -1) {
+		switch (c) {
+		case 'p':
+			prompt = optarg;
+			break;
+		case 't':
+			timeout = strtol(optarg, &cp, 0);
+			if (cp == optarg) {
+				snprintf(command_errbuf,
+				    sizeof(command_errbuf),
+				    "bad timeout '%s'", optarg);

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-user mailing list