CVS commit: src/sys/arch/amd64/stand/prekern

2017-11-13 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Tue Nov 14 07:06:34 UTC 2017

Modified Files:
src/sys/arch/amd64/stand/prekern: Makefile console.c elf.c mm.c
prekern.c prekern.h

Log Message:
Add -Wstrict-prototypes, and fix each warning.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/amd64/stand/prekern/Makefile
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/amd64/stand/prekern/console.c
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/amd64/stand/prekern/elf.c \
src/sys/arch/amd64/stand/prekern/mm.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/amd64/stand/prekern/prekern.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/amd64/stand/prekern/prekern.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/stand/prekern/Makefile
diff -u src/sys/arch/amd64/stand/prekern/Makefile:1.2 src/sys/arch/amd64/stand/prekern/Makefile:1.3
--- src/sys/arch/amd64/stand/prekern/Makefile:1.2	Mon Nov 13 20:03:26 2017
+++ src/sys/arch/amd64/stand/prekern/Makefile	Tue Nov 14 07:06:34 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.2 2017/11/13 20:03:26 maxv Exp $
+#	$NetBSD: Makefile,v 1.3 2017/11/14 07:06:34 maxv Exp $
 
 PROG=		prekern
 SRCS=	locore.S trap.S prekern.c mm.c console.c elf.c
@@ -23,6 +23,7 @@ CPPFLAGS+=	-D_STANDALONE
 
 CPPFLAGS+=	-DKERNEL -D__x86_64__
 CFLAGS+=	-Wall -Werror -mno-red-zone -mno-mmx -mno-sse -mno-avx -ffreestanding
+CFLAGS+=	-Wstrict-prototypes
 STRIPFLAG=
 LINKFLAGS=	-X -z max-page-size=0x10 -Ttext 0x10 -T prekern.ldscript
 

Index: src/sys/arch/amd64/stand/prekern/console.c
diff -u src/sys/arch/amd64/stand/prekern/console.c:1.1 src/sys/arch/amd64/stand/prekern/console.c:1.2
--- src/sys/arch/amd64/stand/prekern/console.c:1.1	Tue Oct 10 09:29:14 2017
+++ src/sys/arch/amd64/stand/prekern/console.c	Tue Nov 14 07:06:34 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: console.c,v 1.1 2017/10/10 09:29:14 maxv Exp $	*/
+/*	$NetBSD: console.c,v 1.2 2017/11/14 07:06:34 maxv Exp $	*/
 
 /*
  * Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -38,14 +38,14 @@ static char *cons_start;
 static size_t cons_x, cons_y;
 static char cons_buffer[CONS_WID * 2 * CONS_HEI];
 
-void init_cons()
+void init_cons(void)
 {
 	cons_start = (char *)atdevbase + (0xB8000 - IOM_BEGIN);
 	cons_x = 0;
 	cons_y = 0;
 }
 
-static void check_scroll()
+static void check_scroll(void)
 {
 	char *src, *dst;
 	size_t i;
@@ -106,7 +106,7 @@ void print_state(bool ok, char *buf)
 	print("\n");
 }
 
-void print_banner()
+void print_banner(void)
 {
 	char *banner = 
 		"   __ __\n"

Index: src/sys/arch/amd64/stand/prekern/elf.c
diff -u src/sys/arch/amd64/stand/prekern/elf.c:1.12 src/sys/arch/amd64/stand/prekern/elf.c:1.13
--- src/sys/arch/amd64/stand/prekern/elf.c:1.12	Mon Nov 13 21:33:42 2017
+++ src/sys/arch/amd64/stand/prekern/elf.c	Tue Nov 14 07:06:34 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: elf.c,v 1.12 2017/11/13 21:33:42 maxv Exp $	*/
+/*	$NetBSD: elf.c,v 1.13 2017/11/14 07:06:34 maxv Exp $	*/
 
 /*
  * Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -50,7 +50,7 @@ static struct elfinfo eif;
 static const char entrypoint[] = "start_prekern";
 
 static int
-elf_check_header()
+elf_check_header(void)
 {
 	if (memcmp((char *)eif.ehdr->e_ident, ELFMAG, SELFMAG) != 0 ||
 	eif.ehdr->e_ident[EI_CLASS] != ELFCLASS ||
@@ -61,7 +61,7 @@ elf_check_header()
 }
 
 static vaddr_t
-elf_get_entrypoint()
+elf_get_entrypoint(void)
 {
 	Elf_Sym *sym;
 	size_t i;
@@ -259,7 +259,7 @@ elf_build_head(vaddr_t headva)
 }
 
 void
-elf_map_sections()
+elf_map_sections(void)
 {
 	const paddr_t basepa = kernpa_start;
 	const vaddr_t headva = (vaddr_t)eif.ehdr;
@@ -361,7 +361,7 @@ elf_build_boot(vaddr_t bootva, paddr_t b
 }
 
 vaddr_t
-elf_kernel_reloc()
+elf_kernel_reloc(void)
 {
 	const vaddr_t baseva = (vaddr_t)eif.ehdr;
 	vaddr_t secva, ent;
@@ -454,7 +454,7 @@ elf_kernel_reloc()
 	/*
 	 * Get the entry point.
 	 */
-	ent = elf_get_entrypoint();
+	ent = elf_get_entrypoint();
 	if (ent == 0) {
 		fatal("elf_kernel_reloc: entry point not found");
 	}
@@ -463,4 +463,3 @@ elf_kernel_reloc()
 
 	return ent;
 }
-
Index: src/sys/arch/amd64/stand/prekern/mm.c
diff -u src/sys/arch/amd64/stand/prekern/mm.c:1.12 src/sys/arch/amd64/stand/prekern/mm.c:1.13
--- src/sys/arch/amd64/stand/prekern/mm.c:1.12	Mon Nov 13 21:14:04 2017
+++ src/sys/arch/amd64/stand/prekern/mm.c	Tue Nov 14 07:06:34 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: mm.c,v 1.12 2017/11/13 21:14:04 maxv Exp $	*/
+/*	$NetBSD: mm.c,v 1.13 2017/11/14 07:06:34 maxv Exp $	*/
 
 /*
  * Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -119,7 +119,7 @@ mm_mprotect(vaddr_t startva, size_t size
 }
 
 void
-mm_bootspace_mprotect()
+mm_bootspace_mprotect(void)
 {
 	int prot;
 	size_t i;
@@ -196,14 +196,14 @@ mm_map_tree(vaddr_t startva, vaddr_t end
 }
 
 static uint64_t
-mm_rand_num64()

CVS commit: src/sys/uvm

2017-11-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Nov 14 06:43:23 UTC 2017

Modified Files:
src/sys/uvm: uvm_page.h

Log Message:
remove duplicate prototype.


To generate a diff of this commit:
cvs rdiff -u -r1.81 -r1.82 src/sys/uvm/uvm_page.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/uvm/uvm_page.h
diff -u src/sys/uvm/uvm_page.h:1.81 src/sys/uvm/uvm_page.h:1.82
--- src/sys/uvm/uvm_page.h:1.81	Fri Dec 23 07:15:28 2016
+++ src/sys/uvm/uvm_page.h	Tue Nov 14 06:43:23 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvm_page.h,v 1.81 2016/12/23 07:15:28 cherry Exp $	*/
+/*	$NetBSD: uvm_page.h,v 1.82 2017/11/14 06:43:23 mrg Exp $	*/
 
 /*
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -336,10 +336,6 @@ int uvm_page_lookup_freelist(struct vm_p
 struct vm_page *uvm_phys_to_vm_page(paddr_t);
 paddr_t uvm_vm_page_to_phys(const struct vm_page *);
 
-#if !defined(PMAP_STEAL_MEMORY)
-bool uvm_page_physget(paddr_t *);
-#endif
-
 /*
  * macros
  */



CVS commit: src/external/gpl3/gcc/lib/libstdc++-v3/include/bits

2017-11-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Nov 14 00:55:29 UTC 2017

Modified Files:
src/external/gpl3/gcc/lib/libstdc++-v3/include/bits: Makefile

Log Message:
from gcc.old:
>it's ${BUILDINCS} not {BUILDINCS}


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 \
src/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile
diff -u src/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile:1.18 src/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile:1.19
--- src/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile:1.18	Tue Mar 22 04:53:17 2016
+++ src/external/gpl3/gcc/lib/libstdc++-v3/include/bits/Makefile	Tue Nov 14 00:55:29 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.18 2016/03/22 04:53:17 mrg Exp $
+#	$NetBSD: Makefile,v 1.19 2017/11/14 00:55:29 mrg Exp $
 
 .include 
 
@@ -29,7 +29,7 @@ INCSDIR=	/usr/include/g++/bits
 
 .include "${.CURDIR}/../Makefile.includes"
 
-CLEANFILES+=	{BUILDINCS}
+CLEANFILES+=	${BUILDINCS}
 
 CXXDIST=			${DIST}/libstdc++-v3
 COPYHEADERS= \



CVS commit: src/external/gpl3/gcc.old/lib

2017-11-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Nov 14 00:54:52 UTC 2017

Modified Files:
src/external/gpl3/gcc.old/lib/libgcc/arch/m68000: defs.mk
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/alpha: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/arm: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/armeb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earm: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmeb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmhf: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmhfeb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv4: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv4eb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv6: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv6eb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv6hf: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv6hfeb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv7: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv7eb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv7hf: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv7hfeb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/hppa: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/i386: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/ia64: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/m68000: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/m68k: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/mips64eb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/mips64el: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/mipseb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/mipsel: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/powerpc: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/powerpc64: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/sh3eb: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/sh3el: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/sparc: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/sparc64: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/vax: c++config.h
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/x86_64: c++config.h

Log Message:
regen for GCC 5.5.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/external/gpl3/gcc.old/lib/libgcc/arch/m68000/defs.mk
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/alpha/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/arm/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/armeb/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earm/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmeb/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmhf/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmhfeb/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv4/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv4eb/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv6/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv6eb/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv6hf/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv6hfeb/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv7/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv7eb/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv7hf/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/earmv7hfeb/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/hppa/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/i386/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/ia64/c++config.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/arch/m68000/c++config.h
cvs rdiff -u 

CVS commit: src/external/gpl3/gcc.old/lib/libstdc++-v3/include/bits

2017-11-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Tue Nov 14 00:54:38 UTC 2017

Modified Files:
src/external/gpl3/gcc.old/lib/libstdc++-v3/include/bits: Makefile

Log Message:
it's ${BUILDINCS} not {BUILDINCS}


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/external/gpl3/gcc.old/lib/libstdc++-v3/include/bits/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc.old/lib/libstdc++-v3/include/bits/Makefile
diff -u src/external/gpl3/gcc.old/lib/libstdc++-v3/include/bits/Makefile:1.5 src/external/gpl3/gcc.old/lib/libstdc++-v3/include/bits/Makefile:1.6
--- src/external/gpl3/gcc.old/lib/libstdc++-v3/include/bits/Makefile:1.5	Sun Jul 23 01:12:14 2017
+++ src/external/gpl3/gcc.old/lib/libstdc++-v3/include/bits/Makefile	Tue Nov 14 00:54:38 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.5 2017/07/23 01:12:14 mrg Exp $
+#	$NetBSD: Makefile,v 1.6 2017/11/14 00:54:38 mrg Exp $
 
 .include 
 
@@ -29,7 +29,7 @@ INCSDIR=	/usr/include/g++/bits
 
 .include "${.CURDIR}/../Makefile.includes"
 
-CLEANFILES+=	{BUILDINCS}
+CLEANFILES+=	${BUILDINCS}
 
 CXXDIST=			${DIST}/libstdc++-v3
 COPYHEADERS= \



CVS commit: src/sys/kern

2017-11-13 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Nov 13 22:01:45 UTC 2017

Modified Files:
src/sys/kern: kern_exec.c

Log Message:
grab a copy of the absolute pathbuf, before namei() munges it.


To generate a diff of this commit:
cvs rdiff -u -r1.452 -r1.453 src/sys/kern/kern_exec.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/kern_exec.c
diff -u src/sys/kern/kern_exec.c:1.452 src/sys/kern/kern_exec.c:1.453
--- src/sys/kern/kern_exec.c:1.452	Mon Nov 13 15:38:31 2017
+++ src/sys/kern/kern_exec.c	Mon Nov 13 17:01:45 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_exec.c,v 1.452 2017/11/13 20:38:31 christos Exp $	*/
+/*	$NetBSD: kern_exec.c,v 1.453 2017/11/13 22:01:45 christos Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.452 2017/11/13 20:38:31 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.453 2017/11/13 22:01:45 christos Exp $");
 
 #include "opt_exec.h"
 #include "opt_execfmt.h"
@@ -338,15 +338,17 @@ check_exec(struct lwp *l, struct exec_pa
 	struct nameidata nd;
 	size_t		resid;
 
+#if 1
+	// grab the absolute pathbuf here before namei() trashes it.
+	pathbuf_copystring(pb, epp->ep_resolvedname, PATH_MAX);
+#endif
 	NDINIT(, LOOKUP, FOLLOW | LOCKLEAF | TRYEMULROOT, pb);
 
 	/* first get the vnode */
 	if ((error = namei()) != 0)
 		return error;
 	epp->ep_vp = vp = nd.ni_vp;
-#if 1
-	pathbuf_copystring(pb, epp->ep_resolvedname, PATH_MAX);
-#else
+#if 0
 	/*
 	 * XXX: can't use nd.ni_pnbuf, because although pb contains an
 	 * absolute path, nd.ni_pnbuf does not if the path contains symlinks.



CVS commit: src/sys/arch/amd64/stand/prekern

2017-11-13 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Mon Nov 13 21:33:42 UTC 2017

Modified Files:
src/sys/arch/amd64/stand/prekern: elf.c

Log Message:
One more ASSERT, won't hurt.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/amd64/stand/prekern/elf.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/stand/prekern/elf.c
diff -u src/sys/arch/amd64/stand/prekern/elf.c:1.11 src/sys/arch/amd64/stand/prekern/elf.c:1.12
--- src/sys/arch/amd64/stand/prekern/elf.c:1.11	Mon Nov 13 21:32:21 2017
+++ src/sys/arch/amd64/stand/prekern/elf.c	Mon Nov 13 21:33:42 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: elf.c,v 1.11 2017/11/13 21:32:21 maxv Exp $	*/
+/*	$NetBSD: elf.c,v 1.12 2017/11/13 21:33:42 maxv Exp $	*/
 
 /*
  * Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -295,6 +295,7 @@ elf_map_sections()
 		secva = mm_map_segment(segtype, secpa, secsz);
 
 		/* We want (headva + sh_offset) to be the VA of the section. */
+		ASSERT(secva > headva);
 		shdr->sh_offset = secva - headva;
 	}
 }



CVS commit: src/sys

2017-11-13 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Mon Nov 13 21:32:21 UTC 2017

Modified Files:
src/sys/arch/amd64/stand/prekern: elf.c
src/sys/lib/libsa: loadfile_elf32.c

Log Message:
Don't process ELF sections that don't have the ALLOC flag set.

NOTE: you need to update both the prekern and the bootloader after this
change.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/amd64/stand/prekern/elf.c
cvs rdiff -u -r1.49 -r1.50 src/sys/lib/libsa/loadfile_elf32.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/stand/prekern/elf.c
diff -u src/sys/arch/amd64/stand/prekern/elf.c:1.10 src/sys/arch/amd64/stand/prekern/elf.c:1.11
--- src/sys/arch/amd64/stand/prekern/elf.c:1.10	Mon Nov 13 21:14:04 2017
+++ src/sys/arch/amd64/stand/prekern/elf.c	Mon Nov 13 21:32:21 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: elf.c,v 1.10 2017/11/13 21:14:04 maxv Exp $	*/
+/*	$NetBSD: elf.c,v 1.11 2017/11/13 21:32:21 maxv Exp $	*/
 
 /*
  * Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -272,6 +272,9 @@ elf_map_sections()
 	for (i = 0; i < eif.ehdr->e_shnum; i++) {
 		shdr = [i];
 
+		if (!(shdr->sh_flags & SHF_ALLOC)) {
+			continue;
+		}
 		if (shdr->sh_type != SHT_NOBITS &&
 		shdr->sh_type != SHT_PROGBITS) {
 			continue;

Index: src/sys/lib/libsa/loadfile_elf32.c
diff -u src/sys/lib/libsa/loadfile_elf32.c:1.49 src/sys/lib/libsa/loadfile_elf32.c:1.50
--- src/sys/lib/libsa/loadfile_elf32.c:1.49	Mon Nov 13 20:21:10 2017
+++ src/sys/lib/libsa/loadfile_elf32.c	Mon Nov 13 21:32:21 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: loadfile_elf32.c,v 1.49 2017/11/13 20:21:10 maxv Exp $ */
+/* $NetBSD: loadfile_elf32.c,v 1.50 2017/11/13 21:32:21 maxv Exp $ */
 
 /*
  * Copyright (c) 1997, 2008, 2017 The NetBSD Foundation, Inc.
@@ -390,6 +390,10 @@ ELFNAMEEND(loadfile_dynamic)(int fd, Elf
 		addr = maxp;
 		size = (size_t)shdr[i].sh_size;
 
+		if (!(shdr[i].sh_flags & SHF_ALLOC)) {
+			continue;
+		}
+
 		loaded = 0;
 		switch (shdr[i].sh_type) {
 		case SHT_NOBITS:



CVS commit: src/sys/arch/amd64/stand/prekern

2017-11-13 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Mon Nov 13 21:14:04 UTC 2017

Modified Files:
src/sys/arch/amd64/stand/prekern: elf.c mm.c prekern.h

Log Message:
Change the mapping logic: don't group sections of the same type into
segments, and rather map each section independently at a random VA.

In particular, .data and .bss are not merged anymore and reside at
different addresses.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/amd64/stand/prekern/elf.c
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/amd64/stand/prekern/mm.c
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/amd64/stand/prekern/prekern.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/stand/prekern/elf.c
diff -u src/sys/arch/amd64/stand/prekern/elf.c:1.9 src/sys/arch/amd64/stand/prekern/elf.c:1.10
--- src/sys/arch/amd64/stand/prekern/elf.c:1.9	Thu Nov  9 15:56:56 2017
+++ src/sys/arch/amd64/stand/prekern/elf.c	Mon Nov 13 21:14:04 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: elf.c,v 1.9 2017/11/09 15:56:56 maxv Exp $	*/
+/*	$NetBSD: elf.c,v 1.10 2017/11/13 21:14:04 maxv Exp $	*/
 
 /*
  * Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -258,184 +258,41 @@ elf_build_head(vaddr_t headva)
 	}
 }
 
-static bool
-elf_section_is_text(Elf_Shdr *shdr)
-{
-	if (shdr->sh_type != SHT_NOBITS &&
-	shdr->sh_type != SHT_PROGBITS) {
-		return false;
-	}
-	if (!(shdr->sh_flags & SHF_EXECINSTR)) {
-		return false;
-	}
-	return true;
-}
-
-static bool
-elf_section_is_rodata(Elf_Shdr *shdr)
-{
-	if (shdr->sh_type != SHT_NOBITS &&
-	shdr->sh_type != SHT_PROGBITS) {
-		return false;
-	}
-	if (shdr->sh_flags & (SHF_EXECINSTR|SHF_WRITE)) {
-		return false;
-	}
-	return true;
-}
-
-static bool
-elf_section_is_data(Elf_Shdr *shdr)
-{
-	if (shdr->sh_type != SHT_NOBITS &&
-	shdr->sh_type != SHT_PROGBITS) {
-		return false;
-	}
-	if (!(shdr->sh_flags & SHF_WRITE) ||
-	(shdr->sh_flags & SHF_EXECINSTR)) {
-		return false;
-	}
-	return true;
-}
-
 void
-elf_get_text(paddr_t *pa, size_t *sz)
-{
-	const paddr_t basepa = kernpa_start;
-	paddr_t minpa, maxpa, secpa;
-	size_t i, secsz;
-
-	minpa = 0x, maxpa = 0;
-	for (i = 0; i < eif.ehdr->e_shnum; i++) {
-		if (!elf_section_is_text([i])) {
-			continue;
-		}
-		secpa = basepa + eif.shdr[i].sh_offset;
-		secsz = eif.shdr[i].sh_size;
-		if (secpa < minpa) {
-			minpa = secpa;
-		}
-		if (secpa + secsz > maxpa) {
-			maxpa = secpa + secsz;
-		}
-	}
-	ASSERT(minpa % PAGE_SIZE == 0);
-
-	*pa = minpa;
-	*sz = maxpa - minpa;
-}
-
-void
-elf_build_text(vaddr_t textva, paddr_t textpa)
+elf_map_sections()
 {
 	const paddr_t basepa = kernpa_start;
 	const vaddr_t headva = (vaddr_t)eif.ehdr;
-	size_t i, offtext;
-
-	for (i = 0; i < eif.ehdr->e_shnum; i++) {
-		if (!elf_section_is_text([i])) {
-			continue;
-		}
-
-		/* Offset of the section within the text segment. */
-		offtext = basepa + eif.shdr[i].sh_offset - textpa;
-
-		/* We want (headva + sh_offset) to be the VA of the section. */
-		eif.shdr[i].sh_offset = (textva + offtext - headva);
-	}
-}
-
-void
-elf_get_rodata(paddr_t *pa, size_t *sz)
-{
-	const paddr_t basepa = kernpa_start;
-	paddr_t minpa, maxpa, secpa;
+	Elf_Shdr *shdr;
+	int segtype;
+	vaddr_t secva;
+	paddr_t secpa;
 	size_t i, secsz;
 
-	minpa = 0x, maxpa = 0;
-	for (i = 0; i < eif.ehdr->e_shnum; i++) {
-		if (!elf_section_is_rodata([i])) {
-			continue;
-		}
-		secpa = basepa + eif.shdr[i].sh_offset;
-		secsz = eif.shdr[i].sh_size;
-		if (secpa < minpa) {
-			minpa = secpa;
-		}
-		if (secpa + secsz > maxpa) {
-			maxpa = secpa + secsz;
-		}
-	}
-	ASSERT(minpa % PAGE_SIZE == 0);
-
-	*pa = minpa;
-	*sz = maxpa - minpa;
-}
-
-void
-elf_build_rodata(vaddr_t rodatava, paddr_t rodatapa)
-{
-	const paddr_t basepa = kernpa_start;
-	const vaddr_t headva = (vaddr_t)eif.ehdr;
-	size_t i, offrodata;
-
 	for (i = 0; i < eif.ehdr->e_shnum; i++) {
-		if (!elf_section_is_rodata([i])) {
-			continue;
-		}
-
-		/* Offset of the section within the rodata segment. */
-		offrodata = basepa + eif.shdr[i].sh_offset - rodatapa;
-
-		/* We want (headva + sh_offset) to be the VA of the section. */
-		eif.shdr[i].sh_offset = (rodatava + offrodata - headva);
-	}
-}
-
-void
-elf_get_data(paddr_t *pa, size_t *sz)
-{
-	const paddr_t basepa = kernpa_start;
-	paddr_t minpa, maxpa, secpa;
-	size_t i, secsz;
+		shdr = [i];
 
-	minpa = 0x, maxpa = 0;
-	for (i = 0; i < eif.ehdr->e_shnum; i++) {
-		if (!elf_section_is_data([i])) {
+		if (shdr->sh_type != SHT_NOBITS &&
+		shdr->sh_type != SHT_PROGBITS) {
 			continue;
 		}
-		secpa = basepa + eif.shdr[i].sh_offset;
-		secsz = eif.shdr[i].sh_size;
-		if (secpa < minpa) {
-			minpa = secpa;
-		}
-		if (secpa + secsz > maxpa) {
-			maxpa = secpa + secsz;
-		}
-	}
-	ASSERT(minpa % PAGE_SIZE == 0);
-
-	*pa = minpa;
-	*sz = maxpa - minpa;
-}
-
-void
-elf_build_data(vaddr_t datava, paddr_t 

CVS commit: src/sys/kern

2017-11-13 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Nov 13 20:38:32 UTC 2017

Modified Files:
src/sys/kern: kern_exec.c

Log Message:
Use the pathbuf which we pass to namei() (which is always absolute) as the
resolved pathname. We need this in the case of scripts where p_path needs
to point to the interpreter and not the script itself. Otherwise things
like perl script that depend on /proc/$$/exe to re-exec themselves end up
being fork bombs.

In reality we should be using the fully resolved/canonicalized path here, but
namei is not giving it back to us.


To generate a diff of this commit:
cvs rdiff -u -r1.451 -r1.452 src/sys/kern/kern_exec.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/kern/kern_exec.c
diff -u src/sys/kern/kern_exec.c:1.451 src/sys/kern/kern_exec.c:1.452
--- src/sys/kern/kern_exec.c:1.451	Tue Nov  7 15:58:23 2017
+++ src/sys/kern/kern_exec.c	Mon Nov 13 15:38:31 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern_exec.c,v 1.451 2017/11/07 20:58:23 christos Exp $	*/
+/*	$NetBSD: kern_exec.c,v 1.452 2017/11/13 20:38:31 christos Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -59,7 +59,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.451 2017/11/07 20:58:23 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kern_exec.c,v 1.452 2017/11/13 20:38:31 christos Exp $");
 
 #include "opt_exec.h"
 #include "opt_execfmt.h"
@@ -344,9 +344,17 @@ check_exec(struct lwp *l, struct exec_pa
 	if ((error = namei()) != 0)
 		return error;
 	epp->ep_vp = vp = nd.ni_vp;
+#if 1
+	pathbuf_copystring(pb, epp->ep_resolvedname, PATH_MAX);
+#else
+	/*
+	 * XXX: can't use nd.ni_pnbuf, because although pb contains an
+	 * absolute path, nd.ni_pnbuf does not if the path contains symlinks.
+	 */
 	/* normally this can't fail */
 	error = copystr(nd.ni_pnbuf, epp->ep_resolvedname, PATH_MAX, NULL);
 	KASSERT(error == 0);
+#endif
 
 #ifdef DIAGNOSTIC
 	/* paranoia (take this out once namei stuff stabilizes) */
@@ -1154,9 +1162,7 @@ execve_runproc(struct lwp *l, struct exe
 	if (error != 0)
 		goto exec_abort;
 
-	// XXX: Can't use epp->ep_resolvedname since namei can return
-	// a relative path in pnbuf when being passed an absolute path!
-	pathexec(p, data->ed_pathstring);
+	pathexec(p, epp->ep_resolvedname);
 
 	char * const newstack = STACK_GROW(vm->vm_minsaddr, epp->ep_ssize);
 



CVS commit: src/sys/lib/libsa

2017-11-13 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Mon Nov 13 20:21:10 UTC 2017

Modified Files:
src/sys/lib/libsa: loadfile_elf32.c

Log Message:
Revert my last revision, that is to say, don't group sections into
segments anymore. Initially I did this because I wanted to compress the
sections by reducing the padding between them; but we'll handle that
differently.


To generate a diff of this commit:
cvs rdiff -u -r1.48 -r1.49 src/sys/lib/libsa/loadfile_elf32.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/lib/libsa/loadfile_elf32.c
diff -u src/sys/lib/libsa/loadfile_elf32.c:1.48 src/sys/lib/libsa/loadfile_elf32.c:1.49
--- src/sys/lib/libsa/loadfile_elf32.c:1.48	Wed Oct 18 16:29:56 2017
+++ src/sys/lib/libsa/loadfile_elf32.c	Mon Nov 13 20:21:10 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: loadfile_elf32.c,v 1.48 2017/10/18 16:29:56 maxv Exp $ */
+/* $NetBSD: loadfile_elf32.c,v 1.49 2017/11/13 20:21:10 maxv Exp $ */
 
 /*
  * Copyright (c) 1997, 2008, 2017 The NetBSD Foundation, Inc.
@@ -341,7 +341,7 @@ ELFNAMEEND(loadfile_dynamic)(int fd, Elf
 {
 	const u_long offset = 0;
 	Elf_Shdr *shdr;
-	Elf_Addr shpp, addr, align;
+	Elf_Addr shpp, addr;
 	int i, j, loaded;
 	size_t size, shdrsz;
 	Elf_Addr maxp, elfp = 0;
@@ -383,101 +383,11 @@ ELFNAMEEND(loadfile_dynamic)(int fd, Elf
 	maxp += roundup(shdrsz, ELFROUND);
 
 	/*
-	 * Load the KERNEL SECTIONS, and group them into segments. First text,
-	 * then rodata, then data. Between sections, we align to the requested
-	 * section alignment. Between segments, we align to KERNALIGN.
+	 * Load the KERNEL SECTIONS.
 	 */
-
-	/* text */
-	maxp = roundup(maxp, KERNALIGN);
-	for (i = 0; i < elf->e_shnum; i++) {
-		if (!(shdr[i].sh_flags & SHF_EXECINSTR)) {
-			continue;
-		}
-		align = shdr[i].sh_addralign;
-		if (align == 0) {
-			align = ELFROUND;
-		}
-		addr = roundup(maxp, align);
-		size = (size_t)shdr[i].sh_size;
-
-		loaded = 0;
-		switch (shdr[i].sh_type) {
-		case SHT_NOBITS:
-			/* Zero out bss. */
-			BZERO(addr, size);
-			loaded = 1;
-			break;
-		case SHT_PROGBITS:
-			ret = ELFNAMEEND(readfile_global)(fd, offset,
-			shdr[i].sh_offset, addr, size);
-			if (ret == -1) {
-goto out;
-			}
-			loaded = 1;
-			break;
-		default:
-			loaded = 0;
-			break;
-		}
-
-		if (loaded) {
-			shdr[i].sh_offset = addr - elfp;
-			maxp = addr + size;
-		}
-	}
-
-	/* rodata */
-	maxp = roundup(maxp, KERNALIGN);
-	for (i = 0; i < elf->e_shnum; i++) {
-		if ((shdr[i].sh_flags & (SHF_EXECINSTR|SHF_WRITE))) {
-			continue;
-		}
-		align = shdr[i].sh_addralign;
-		if (align == 0) {
-			align = ELFROUND;
-		}
-		addr = roundup(maxp, align);
-		size = (size_t)shdr[i].sh_size;
-
-		loaded = 0;
-		switch (shdr[i].sh_type) {
-		case SHT_NOBITS:
-			/* Zero out bss. */
-			BZERO(addr, size);
-			loaded = 1;
-			break;
-		case SHT_PROGBITS:
-			ret = ELFNAMEEND(readfile_global)(fd, offset,
-			shdr[i].sh_offset, addr, size);
-			if (ret == -1) {
-goto out;
-			}
-			loaded = 1;
-			break;
-		default:
-			loaded = 0;
-			break;
-		}
-
-		if (loaded) {
-			shdr[i].sh_offset = addr - elfp;
-			maxp = addr + size;
-		}
-	}
-
-	/* data */
 	maxp = roundup(maxp, KERNALIGN);
 	for (i = 0; i < elf->e_shnum; i++) {
-		if (!(shdr[i].sh_flags & SHF_WRITE) ||
-		(shdr[i].sh_flags & SHF_EXECINSTR)) {
-			continue;
-		}
-		align = shdr[i].sh_addralign;
-		if (align == 0) {
-			align = ELFROUND;
-		}
-		addr = roundup(maxp, align);
+		addr = maxp;
 		size = (size_t)shdr[i].sh_size;
 
 		loaded = 0;
@@ -501,15 +411,15 @@ ELFNAMEEND(loadfile_dynamic)(int fd, Elf
 		}
 
 		if (loaded) {
-			shdr[i].sh_offset = addr - elfp;
-			maxp = addr + size;
+			shdr[i].sh_offset = maxp - elfp;
+			maxp = roundup(maxp + size, KERNALIGN);
 		}
 	}
 
 	/*
 	 * Load the SYM+REL SECTIONS.
 	 */
-	maxp = roundup(maxp, KERNALIGN);
+	maxp = roundup(maxp, ELFROUND);
 	for (i = 0; i < elf->e_shnum; i++) {
 		addr = maxp;
 		size = (size_t)shdr[i].sh_size;



CVS commit: src/sys/arch/amd64/stand/prekern

2017-11-13 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Mon Nov 13 20:03:26 UTC 2017

Modified Files:
src/sys/arch/amd64/stand/prekern: Makefile prekern.h

Log Message:
Link libkern in the prekern, and remove redefined functions.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/amd64/stand/prekern/Makefile
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/amd64/stand/prekern/prekern.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/stand/prekern/Makefile
diff -u src/sys/arch/amd64/stand/prekern/Makefile:1.1 src/sys/arch/amd64/stand/prekern/Makefile:1.2
--- src/sys/arch/amd64/stand/prekern/Makefile:1.1	Tue Oct 10 09:29:14 2017
+++ src/sys/arch/amd64/stand/prekern/Makefile	Mon Nov 13 20:03:26 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.1 2017/10/10 09:29:14 maxv Exp $
+#	$NetBSD: Makefile,v 1.2 2017/11/13 20:03:26 maxv Exp $
 
 PROG=		prekern
 SRCS=	locore.S trap.S prekern.c mm.c console.c elf.c
@@ -16,7 +16,8 @@ BINMODE=	444
 
 .include 
 
-CPPFLAGS+=	-I. -I${S}
+CPPFLAGS+=	-I. -I${S} -I${.OBJDIR} -I${.CURDIR}
+CPPFLAGS+=	-D_STANDALONE
 
 .include 
 
@@ -25,16 +26,25 @@ CFLAGS+=	-Wall -Werror -mno-red-zone -mn
 STRIPFLAG=
 LINKFLAGS=	-X -z max-page-size=0x10 -Ttext 0x10 -T prekern.ldscript
 
+KERN_AS=	library
+.include	"${S}/lib/libkern/Makefile.inc"
+LIBKERN=	${KERNLIB}
+
 LIBCRT0=	# nothing
 LIBCRTI=	# nothing
 LIBC=		# nothing
 LIBCRTBEGIN=	# nothing
 LIBCRTEND=	# nothing
 
-${PROG}: ${OBJS}
-	${LD} ${LINKFLAGS} -o ${.TARGET} ${OBJS}
+${PROG}: ${OBJS} ${LIBKERN}
+	${_MKTARGET_LINK}
+	${LD} ${LINKFLAGS} -o ${.TARGET} ${OBJS} ${LIBKERN}
 
 all:	${PROG}
 
 .include 
 
+cleandir distclean: .WAIT cleanlibdir
+
+cleanlibdir:
+	-rm -rf lib

Index: src/sys/arch/amd64/stand/prekern/prekern.h
diff -u src/sys/arch/amd64/stand/prekern/prekern.h:1.9 src/sys/arch/amd64/stand/prekern/prekern.h:1.10
--- src/sys/arch/amd64/stand/prekern/prekern.h:1.9	Sat Nov 11 12:51:06 2017
+++ src/sys/arch/amd64/stand/prekern/prekern.h	Mon Nov 13 20:03:26 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: prekern.h,v 1.9 2017/11/11 12:51:06 maxv Exp $	*/
+/*	$NetBSD: prekern.h,v 1.10 2017/11/13 20:03:26 maxv Exp $	*/
 
 /*
  * Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -31,6 +31,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 #include "pdir.h"
@@ -58,50 +59,6 @@ typedef uint64_t pte_prot_t;
 
 /* -- */
 
-static inline void
-memcpy(void *dst, void *src, size_t sz)
-{
-	char *bdst = dst, *bsrc = src;
-	while (sz > 0) {
-		*bdst = *bsrc;
-		bdst++, bsrc++, sz--;
-	}
-}
-
-static inline void
-memset(void *dst, char c, size_t sz)
-{
-	char *bdst = dst;
-	while (sz > 0) {
-		*bdst = c;
-		bdst++, sz--;
-	}
-}
-
-static inline int
-memcmp(const char *a, const char *b, size_t c)
-{
-	size_t i;
-	for (i = 0; i < c; i++) {
-		if (a[i] != b[i])
-			return 1;
-	}
-	return 0;
-}
-
-static inline int
-strcmp(char *a, char *b)
-{
-	size_t i;
-	for (i = 0; a[i] != '\0'; i++) {
-		if (a[i] != b[i])
-			return 1;
-	}
-	return 0;
-}
-
-/* -- */
-
 #define BTSEG_NONE	0
 #define BTSEG_TEXT	1
 #define BTSEG_RODATA	2



CVS commit: src/sys/arch/amd64/conf

2017-11-13 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Mon Nov 13 20:01:48 UTC 2017

Modified Files:
src/sys/arch/amd64/conf: kern.ldscript.kaslr

Log Message:
Use SUBALIGN, to force the alignment at the section level, and remove
the inter-section ALIGN which doesn't do anything since the physical
address of the section is chosen dynamically by the bootloader.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/amd64/conf/kern.ldscript.kaslr

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/conf/kern.ldscript.kaslr
diff -u src/sys/arch/amd64/conf/kern.ldscript.kaslr:1.1 src/sys/arch/amd64/conf/kern.ldscript.kaslr:1.2
--- src/sys/arch/amd64/conf/kern.ldscript.kaslr:1.1	Thu Nov  9 15:46:48 2017
+++ src/sys/arch/amd64/conf/kern.ldscript.kaslr	Mon Nov 13 20:01:48 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: kern.ldscript.kaslr,v 1.1 2017/11/09 15:46:48 maxv Exp $	*/
+/*	$NetBSD: kern.ldscript.kaslr,v 1.2 2017/11/13 20:01:48 maxv Exp $	*/
 
 #include "assym.h"
 
@@ -27,17 +27,16 @@ SECTIONS
 		*(.data)
 	}
 
-	. = ALIGN(COHERENCY_UNIT);
-	.data.cacheline_aligned :
+	.data.cacheline_aligned : SUBALIGN(COHERENCY_UNIT)
 	{
 		*(.data.cacheline_aligned)
+		. = ALIGN(COHERENCY_UNIT);
 	}
-	. = ALIGN(COHERENCY_UNIT);
-	.data.read_mostly :
+	.data.read_mostly : SUBALIGN(COHERENCY_UNIT)
 	{
 		*(.data.read_mostly)
+		. = ALIGN(COHERENCY_UNIT);
 	}
-	. = ALIGN(COHERENCY_UNIT);
 
 	_edata = . ;
 	PROVIDE (edata = .) ;
@@ -59,4 +58,3 @@ SECTIONS
 		KEEP(*(.note.netbsd.ident));
 	}
 }
-



CVS commit: src/external/gpl3/gcc.old/usr.bin

2017-11-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Nov 13 19:24:35 UTC 2017

Modified Files:
src/external/gpl3/gcc.old/usr.bin/gcc/arch/alpha: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/arm: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/armeb: auto-host.h
configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earm: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmeb: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmhf: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmhfeb: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv4: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv4eb: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv6: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv6eb: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv6hf: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv6hfeb: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv7: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv7eb: auto-host.h
configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv7hf: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv7hfeb: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/hppa: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/i386: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/ia64: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/m68000: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/m68k: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/mips64eb: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/mips64el: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/mipseb: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/mipsel: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/powerpc: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/powerpc64: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/sh3eb: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/sh3el: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/sparc: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/sparc64: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/vax: configargs.h
src/external/gpl3/gcc.old/usr.bin/gcc/arch/x86_64: configargs.h
src/external/gpl3/gcc.old/usr.bin/include/arch: i386.mk x86_64.mk
src/external/gpl3/gcc.old/usr.bin/libcpp/arch/armeb: config.h
src/external/gpl3/gcc.old/usr.bin/libcpp/arch/earmv7eb: config.h

Log Message:
mknative-gcc for some GCC 5.5.  c++config.h is wrong so far.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/alpha/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/arm/configargs.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/armeb/auto-host.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/armeb/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earm/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmeb/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmhf/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmhfeb/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv4/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv4eb/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv6/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv6eb/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv6hf/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv6hfeb/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv7/configargs.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv7eb/auto-host.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv7eb/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv7hf/configargs.h
cvs rdiff -u -r1.7 -r1.8 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/earmv7hfeb/configargs.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/hppa/configargs.h
cvs rdiff -u -r1.6 -r1.7 \
src/external/gpl3/gcc.old/usr.bin/gcc/arch/i386/configargs.h
cvs rdiff -u -r1.6 -r1.7 \

CVS commit: src/sys/arch/evbarm/conf

2017-11-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Nov 13 17:37:48 UTC 2017

Modified Files:
src/sys/arch/evbarm/conf: SUNXI

Log Message:
Enable Allwinner NAND flash support


To generate a diff of this commit:
cvs rdiff -u -r1.51 -r1.52 src/sys/arch/evbarm/conf/SUNXI

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/evbarm/conf/SUNXI
diff -u src/sys/arch/evbarm/conf/SUNXI:1.51 src/sys/arch/evbarm/conf/SUNXI:1.52
--- src/sys/arch/evbarm/conf/SUNXI:1.51	Wed Nov  8 21:44:29 2017
+++ src/sys/arch/evbarm/conf/SUNXI	Mon Nov 13 17:37:47 2017
@@ -1,5 +1,5 @@
 #
-#	$NetBSD: SUNXI,v 1.51 2017/11/08 21:44:29 jmcneill Exp $
+#	$NetBSD: SUNXI,v 1.52 2017/11/13 17:37:47 jmcneill Exp $
 #
 #	Allwinner sunxi family
 #
@@ -207,6 +207,11 @@ ld2		at sdmmc2
 ld3		at sdmmc3
 ld*		at sdmmc?
 
+# NAND Flash
+sunxinand*	at fdt?			# NAND flash controller
+nand*		at nandbus?
+flash*		at nand? dynamic 1
+
 # SATA
 ahcisata*	at fdt?			# SATA
 atabus*		at ata?



CVS commit: src/sys/arch/arm/sunxi

2017-11-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Nov 13 17:37:02 UTC 2017

Modified Files:
src/sys/arch/arm/sunxi: sunxi_nand.c

Log Message:
Use nand_attach_mtdparts


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/arm/sunxi/sunxi_nand.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/sunxi/sunxi_nand.c
diff -u src/sys/arch/arm/sunxi/sunxi_nand.c:1.3 src/sys/arch/arm/sunxi/sunxi_nand.c:1.4
--- src/sys/arch/arm/sunxi/sunxi_nand.c:1.3	Mon Nov 13 14:14:25 2017
+++ src/sys/arch/arm/sunxi/sunxi_nand.c	Mon Nov 13 17:37:02 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_nand.c,v 1.3 2017/11/13 14:14:25 jmcneill Exp $ */
+/* $NetBSD: sunxi_nand.c,v 1.4 2017/11/13 17:37:02 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: sunxi_nand.c,v 1.3 2017/11/13 14:14:25 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_nand.c,v 1.4 2017/11/13 17:37:02 jmcneill Exp $");
 
 #include 
 #include 
@@ -40,6 +40,8 @@ __KERNEL_RCSID(0, "$NetBSD: sunxi_nand.c
 #include 
 #include 
 
+#include 
+
 #define	NDFC_CTL		0x00
 #define	 NDFC_CTL_CE_SEL		__BITS(27,24)
 #define	 NDFC_CTL_PAGE_SIZE		__BITS(11,8)
@@ -432,7 +434,7 @@ sunxi_nand_attach_chip(struct sunxi_nand
 struct sunxi_nand_chip *chip, int phandle)
 {
 	struct nand_interface *nand = >chip_nand;
-	const char *ecc_mode;
+	const char *ecc_mode, *mtdparts;
 
 	chip->chip_sc = sc;
 	chip->chip_phandle = phandle;
@@ -514,6 +516,17 @@ sunxi_nand_attach_chip(struct sunxi_nand
 #endif
 
 	chip->chip_dev = nand_attach_mi(nand, sc->sc_dev);
+	if (chip->chip_dev == NULL)
+		return;
+
+	mtdparts = get_bootconf_string(boot_args, "mtdparts");
+	if (mtdparts != NULL) {
+		char mtd_id[strlen("sunxi-nand.X") + 1];
+		snprintf(mtd_id, sizeof(mtd_id), "sunxi-nand.%u",
+		device_unit(sc->sc_dev));
+
+		nand_attach_mtdparts(chip->chip_dev, mtd_id, mtdparts);
+	}
 }
 
 static int



CVS commit: src/sys/dev/flash

2017-11-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Nov 13 17:35:58 UTC 2017

Modified Files:
src/sys/dev/flash: files.flash flash.c flash.h
Added Files:
src/sys/dev/flash: flash_mtdparts.c

Log Message:
Add support for defining partitions using a Linux-style "mtdparts" string.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/flash/files.flash
cvs rdiff -u -r1.13 -r1.14 src/sys/dev/flash/flash.c
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/flash/flash.h
cvs rdiff -u -r0 -r1.1 src/sys/dev/flash/flash_mtdparts.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/flash/files.flash
diff -u src/sys/dev/flash/files.flash:1.2 src/sys/dev/flash/files.flash:1.3
--- src/sys/dev/flash/files.flash:1.2	Tue Jun 28 18:14:11 2011
+++ src/sys/dev/flash/files.flash	Mon Nov 13 17:35:58 2017
@@ -1,10 +1,11 @@
-# $NetBSD: files.flash,v 1.2 2011/06/28 18:14:11 ahoka Exp $
+# $NetBSD: files.flash,v 1.3 2017/11/13 17:35:58 jmcneill Exp $
 
-define	flashbus	{ [offset = 0], [size = 0], [readonly = 0] }
+define	flashbus	{ [offset = 0], [size = 0], [readonly = 0], [dynamic = 0] }
 
 device	flash
 attach	flash at flashbus
 file	dev/flash/flash.c		flash
 file	dev/flash/flash_io.c		flash
+file	dev/flash/flash_mtdparts.c	flash
 
 defflag opt_flash.h			FLASH_STATIC_PARTITIONS

Index: src/sys/dev/flash/flash.c
diff -u src/sys/dev/flash/flash.c:1.13 src/sys/dev/flash/flash.c:1.14
--- src/sys/dev/flash/flash.c:1.13	Sat Oct 28 04:53:55 2017
+++ src/sys/dev/flash/flash.c	Mon Nov 13 17:35:58 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: flash.c,v 1.13 2017/10/28 04:53:55 riastradh Exp $	*/
+/*	$NetBSD: flash.c,v 1.14 2017/11/13 17:35:58 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2011 Department of Software Engineering,
@@ -37,7 +37,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: flash.c,v 1.13 2017/10/28 04:53:55 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: flash.c,v 1.14 2017/11/13 17:35:58 jmcneill Exp $");
 
 #include 
 #include 
@@ -147,20 +147,12 @@ flash_attach(device_t parent, device_t s
 
 	aprint_naive("\n");
 
-	switch (sc->flash_if->type) {
-	case FLASH_TYPE_NOR:
-		aprint_normal(": NOR flash partition size %s, offset %#jx",
-			pbuf[0], (uintmax_t )sc->sc_partinfo.part_offset);
-		break;
-
-	case FLASH_TYPE_NAND:
-		aprint_normal(": NAND flash partition size %s, offset %#jx",
-			pbuf[0], (uintmax_t )sc->sc_partinfo.part_offset);
-		break;
+	aprint_normal(": partition");
+	if (sc->sc_partinfo.part_name != NULL)
+		aprint_normal(" \"%s\"", sc->sc_partinfo.part_name);
 
-	default:
-		aprint_normal(": %s unknown flash", pbuf[0]);
-	}
+	aprint_normal(", size %s, offset %#jx",
+		pbuf[0], (uintmax_t)sc->sc_partinfo.part_offset);
 
 	if (sc->sc_partinfo.part_flags & FLASH_PART_READONLY) {
 		sc->sc_readonly = true;

Index: src/sys/dev/flash/flash.h
diff -u src/sys/dev/flash/flash.h:1.7 src/sys/dev/flash/flash.h:1.8
--- src/sys/dev/flash/flash.h:1.7	Fri Jul 29 20:48:33 2011
+++ src/sys/dev/flash/flash.h	Mon Nov 13 17:35:58 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: flash.h,v 1.7 2011/07/29 20:48:33 ahoka Exp $	*/
+/*	$NetBSD: flash.h,v 1.8 2017/11/13 17:35:58 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2011 Department of Software Engineering,
@@ -53,6 +53,7 @@ struct flash_partition {
 	flash_off_t part_offset;
 	flash_size_t part_size;
 	int part_flags;
+	const char *part_name;
 };
 
 /**
@@ -120,6 +121,7 @@ struct flash_cache {
 };
 
 device_t flash_attach_mi(struct flash_interface *, device_t);
+void flash_attach_mtdparts(struct flash_interface *, device_t, flash_size_t, const char *, const char *);
 const struct flash_interface *flash_get_interface(dev_t);
 const struct flash_softc *flash_get_softc(dev_t);
 device_t flash_get_device(dev_t);

Added files:

Index: src/sys/dev/flash/flash_mtdparts.c
diff -u /dev/null src/sys/dev/flash/flash_mtdparts.c:1.1
--- /dev/null	Mon Nov 13 17:35:58 2017
+++ src/sys/dev/flash/flash_mtdparts.c	Mon Nov 13 17:35:58 2017
@@ -0,0 +1,196 @@
+/* $NetBSD: flash_mtdparts.c,v 1.1 2017/11/13 17:35:58 jmcneill Exp $ */
+
+/*-
+ * Copyright (c) 2017 Jared McNeill 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 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 ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE 

CVS commit: src/sys/dev/nand

2017-11-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Nov 13 17:36:39 UTC 2017

Modified Files:
src/sys/dev/nand: nand.c nand.h

Log Message:
Add support for dynamic flash partitions


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/dev/nand/nand.c
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/nand/nand.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/nand/nand.c
diff -u src/sys/dev/nand/nand.c:1.26 src/sys/dev/nand/nand.c:1.27
--- src/sys/dev/nand/nand.c:1.26	Thu Nov  9 21:50:15 2017
+++ src/sys/dev/nand/nand.c	Mon Nov 13 17:36:39 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: nand.c,v 1.26 2017/11/09 21:50:15 jmcneill Exp $	*/
+/*	$NetBSD: nand.c,v 1.27 2017/11/13 17:36:39 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2010 Department of Software Engineering,
@@ -34,7 +34,7 @@
 /* Common driver for NAND chips implementing the ONFI 2.2 specification */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: nand.c,v 1.26 2017/11/09 21:50:15 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nand.c,v 1.27 2017/11/13 17:36:39 jmcneill Exp $");
 
 #include "locators.h"
 
@@ -188,8 +188,12 @@ nand_search(device_t parent, cfdata_t cf
 	struct nand_chip *chip = >sc_chip;
 	struct flash_attach_args faa;
 
+	if (cf->cf_loc[FLASHBUSCF_DYNAMIC] != 0)
+		return 0;
+
 	faa.flash_if = _flash_if;
 
+	faa.partinfo.part_name = NULL;
 	faa.partinfo.part_offset = cf->cf_loc[FLASHBUSCF_OFFSET];
 
 	if (cf->cf_loc[FLASHBUSCF_SIZE] == 0) {
@@ -215,6 +219,16 @@ nand_search(device_t parent, cfdata_t cf
 	return 1;
 }
 
+void
+nand_attach_mtdparts(device_t parent, const char *mtd_id, const char *cmdline)
+{
+	struct nand_softc *sc = device_private(parent);
+	struct nand_chip *chip = >sc_chip;
+
+	flash_attach_mtdparts(_flash_if, parent, chip->nc_size,
+	mtd_id, cmdline);
+}
+
 int
 nand_detach(device_t self, int flags)
 {

Index: src/sys/dev/nand/nand.h
diff -u src/sys/dev/nand/nand.h:1.17 src/sys/dev/nand/nand.h:1.18
--- src/sys/dev/nand/nand.h:1.17	Thu Nov  9 21:50:15 2017
+++ src/sys/dev/nand/nand.h	Mon Nov 13 17:36:39 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: nand.h,v 1.17 2017/11/09 21:50:15 jmcneill Exp $	*/
+/*	$NetBSD: nand.h,v 1.18 2017/11/13 17:36:39 jmcneill Exp $	*/
 
 /*-
  * Copyright (c) 2010 Department of Software Engineering,
@@ -468,6 +468,7 @@ int nand_read_oob(device_t, size_t, uint
 
 device_t nand_attach_mi(struct nand_interface *, device_t);
 void nand_init_interface(struct nand_interface *);
+void nand_attach_mtdparts(device_t, const char *, const char *);
 
 /* controller drivers may use these functions to get info about the chip */
 void nand_read_id(device_t, uint8_t *, uint8_t *);



CVS commit: src/sys/arch/arm/sunxi

2017-11-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Nov 13 15:01:16 UTC 2017

Modified Files:
src/sys/arch/arm/sunxi: sun4i_a10_ccu.c

Log Message:
add NAND module clock


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/arm/sunxi/sun4i_a10_ccu.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/sunxi/sun4i_a10_ccu.c
diff -u src/sys/arch/arm/sunxi/sun4i_a10_ccu.c:1.4 src/sys/arch/arm/sunxi/sun4i_a10_ccu.c:1.5
--- src/sys/arch/arm/sunxi/sun4i_a10_ccu.c:1.4	Mon Oct  9 14:01:59 2017
+++ src/sys/arch/arm/sunxi/sun4i_a10_ccu.c	Mon Nov 13 15:01:16 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: sun4i_a10_ccu.c,v 1.4 2017/10/09 14:01:59 jmcneill Exp $ */
+/* $NetBSD: sun4i_a10_ccu.c,v 1.5 2017/11/13 15:01:16 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill 
@@ -28,7 +28,7 @@
 
 #include 
 
-__KERNEL_RCSID(1, "$NetBSD: sun4i_a10_ccu.c,v 1.4 2017/10/09 14:01:59 jmcneill Exp $");
+__KERNEL_RCSID(1, "$NetBSD: sun4i_a10_ccu.c,v 1.5 2017/11/13 15:01:16 jmcneill Exp $");
 
 #include 
 #include 
@@ -51,6 +51,7 @@ __KERNEL_RCSID(1, "$NetBSD: sun4i_a10_cc
 #define	AHB_GATING_REG1		0x064
 #define	APB0_GATING_REG		0x068
 #define	APB1_GATING_REG		0x06c
+#define	NAND_SCLK_CFG_REG	0x080
 #define	SD0_SCLK_CFG_REG0x088
 #define	SD1_SCLK_CFG_REG0x08c
 #define	SD2_SCLK_CFG_REG0x090
@@ -200,6 +201,14 @@ static struct sunxi_ccu_clk sun4i_a10_cc
 	0,/* enable */
 	SUNXI_CCU_NM_POWER_OF_TWO),
 
+	SUNXI_CCU_NM(A10_CLK_NAND, "nand", mod_parents,
+	NAND_SCLK_CFG_REG,		/* reg */
+	__BITS(17,16),		/* n */
+	__BITS(3,0),		/* m */
+	__BITS(25,24),		/* sel */
+	__BIT(31),			/* enable */
+	SUNXI_CCU_NM_POWER_OF_TWO),
+
 	SUNXI_CCU_NM(A10_CLK_MMC0, "mmc0", mod_parents,
 	SD0_SCLK_CFG_REG,		/* reg */
 	__BITS(17,16),		/* n */



CVS commit: src/doc

2017-11-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Nov 13 14:44:08 UTC 2017

Modified Files:
src/doc: CHANGES

Log Message:
sunxinand(4): Add driver for Allwinner NAND Flash Controller.


To generate a diff of this commit:
cvs rdiff -u -r1.2330 -r1.2331 src/doc/CHANGES

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/CHANGES
diff -u src/doc/CHANGES:1.2330 src/doc/CHANGES:1.2331
--- src/doc/CHANGES:1.2330	Sun Nov 12 03:03:53 2017
+++ src/doc/CHANGES	Mon Nov 13 14:44:08 2017
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2330 $>
+# LIST OF CHANGES FROM LAST RELEASE:			<$Revision: 1.2331 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -80,3 +80,5 @@ Changes from NetBSD 8.0 to NetBSD 9.0:
 		arguments, PR kern/52639.  Requires contemporaneous update
 		of vmstat(1). [pgoyette 20171028]
 	acpi(4): Updated ACPICA to 20171110. [christos 2017]
+	sunxinand(4): Add driver for Allwinner NAND Flash Controller.
+		[jmcneill 20171113]



CVS commit: src/sys/arch/arm/sunxi

2017-11-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Nov 13 14:14:25 UTC 2017

Modified Files:
src/sys/arch/arm/sunxi: sunxi_nand.c

Log Message:
Correct ecc block size for sw ecc case


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/sunxi/sunxi_nand.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/sunxi/sunxi_nand.c
diff -u src/sys/arch/arm/sunxi/sunxi_nand.c:1.2 src/sys/arch/arm/sunxi/sunxi_nand.c:1.3
--- src/sys/arch/arm/sunxi/sunxi_nand.c:1.2	Mon Nov 13 13:47:16 2017
+++ src/sys/arch/arm/sunxi/sunxi_nand.c	Mon Nov 13 14:14:25 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_nand.c,v 1.2 2017/11/13 13:47:16 jmcneill Exp $ */
+/* $NetBSD: sunxi_nand.c,v 1.3 2017/11/13 14:14:25 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: sunxi_nand.c,v 1.2 2017/11/13 13:47:16 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_nand.c,v 1.3 2017/11/13 14:14:25 jmcneill Exp $");
 
 #include 
 #include 
@@ -510,7 +510,7 @@ sunxi_nand_attach_chip(struct sunxi_nand
 	}
 #else
 	nand->ecc.necc_code_size = 3;
-	nand->ecc.necc_block_size = 512;
+	nand->ecc.necc_block_size = 256;
 #endif
 
 	chip->chip_dev = nand_attach_mi(nand, sc->sc_dev);



CVS commit: src/sys/arch/arm/sunxi

2017-11-13 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Mon Nov 13 13:47:17 UTC 2017

Modified Files:
src/sys/arch/arm/sunxi: sunxi_nand.c

Log Message:
Keep the controller enabled when unselecting, otherwise IO fails.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/arm/sunxi/sunxi_nand.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/arm/sunxi/sunxi_nand.c
diff -u src/sys/arch/arm/sunxi/sunxi_nand.c:1.1 src/sys/arch/arm/sunxi/sunxi_nand.c:1.2
--- src/sys/arch/arm/sunxi/sunxi_nand.c:1.1	Fri Nov 10 00:09:23 2017
+++ src/sys/arch/arm/sunxi/sunxi_nand.c	Mon Nov 13 13:47:16 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_nand.c,v 1.1 2017/11/10 00:09:23 jmcneill Exp $ */
+/* $NetBSD: sunxi_nand.c,v 1.2 2017/11/13 13:47:16 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2017 Jared McNeill 
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: sunxi_nand.c,v 1.1 2017/11/10 00:09:23 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_nand.c,v 1.2 2017/11/13 13:47:16 jmcneill Exp $");
 
 #include 
 #include 
@@ -334,8 +334,6 @@ sunxi_nand_select(device_t dev, bool ena
 
 			NAND_WRITE(sc, NDFC_SPARE_AREA, nc->nc_page_size);
 		}
-	} else {
-		ctl &= ~NDFC_CTL_EN;
 	}
 	NAND_WRITE(sc, NDFC_CTL, ctl);
 }



CVS commit: src/distrib/sets/lists/comp

2017-11-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Nov 13 12:42:27 UTC 2017

Modified Files:
src/distrib/sets/lists/comp: md.amd64 md.i386

Log Message:
pcommitintrin.h has been removed from gcc 5.5


To generate a diff of this commit:
cvs rdiff -u -r1.251 -r1.252 src/distrib/sets/lists/comp/md.amd64
cvs rdiff -u -r1.174 -r1.175 src/distrib/sets/lists/comp/md.i386

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/sets/lists/comp/md.amd64
diff -u src/distrib/sets/lists/comp/md.amd64:1.251 src/distrib/sets/lists/comp/md.amd64:1.252
--- src/distrib/sets/lists/comp/md.amd64:1.251	Sat Aug 12 07:35:08 2017
+++ src/distrib/sets/lists/comp/md.amd64	Mon Nov 13 12:42:26 2017
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.251 2017/08/12 07:35:08 maxv Exp $
+# $NetBSD: md.amd64,v 1.252 2017/11/13 12:42:26 martin Exp $
 
 ./usr/include/amd64comp-c-include
 ./usr/include/amd64/ansi.h			comp-c-include
@@ -443,7 +443,7 @@
 ./usr/include/gcc-5/mmintrin.h			comp-c-include		gcccmds,gcc=53
 ./usr/include/gcc-5/mwaitxintrin.h		comp-c-include		gcccmds,gcc=53
 ./usr/include/gcc-5/nmmintrin.h			comp-c-include		gcccmds,gcc=53
-./usr/include/gcc-5/pcommitintrin.h		comp-c-include		gcccmds,gcc=53
+./usr/include/gcc-5/pcommitintrin.h		comp-obsolete		obsolete
 ./usr/include/gcc-5/pmmintrin.h			comp-c-include		gcccmds,gcc=53
 ./usr/include/gcc-5/popcntintrin.h		comp-c-include		gcccmds,gcc=53
 ./usr/include/gcc-5/prfchwintrin.h		comp-c-include		gcccmds,gcc=53

Index: src/distrib/sets/lists/comp/md.i386
diff -u src/distrib/sets/lists/comp/md.i386:1.174 src/distrib/sets/lists/comp/md.i386:1.175
--- src/distrib/sets/lists/comp/md.i386:1.174	Sat Aug 12 07:35:08 2017
+++ src/distrib/sets/lists/comp/md.i386	Mon Nov 13 12:42:26 2017
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.174 2017/08/12 07:35:08 maxv Exp $
+# $NetBSD: md.i386,v 1.175 2017/11/13 12:42:26 martin Exp $
 ./usr/include/clang-3.4/__wmmintrin_aes.h	comp-obsolete		obsolete
 ./usr/include/clang-3.4/__wmmintrin_pclmul.h	comp-obsolete		obsolete
 ./usr/include/clang-3.4/ammintrin.h		comp-obsolete		obsolete
@@ -367,7 +367,7 @@
 ./usr/include/gcc-5/mmintrin.h			comp-c-include		gcccmds,gcc=53
 ./usr/include/gcc-5/mwaitxintrin.h		comp-c-include		gcccmds,gcc=53
 ./usr/include/gcc-5/nmmintrin.h			comp-c-include		gcccmds,gcc=53
-./usr/include/gcc-5/pcommitintrin.h		comp-c-include		gcccmds,gcc=53
+./usr/include/gcc-5/pcommitintrin.h		comp-obsolete		obsolete
 ./usr/include/gcc-5/pmmintrin.h			comp-c-include		gcccmds,gcc=53
 ./usr/include/gcc-5/popcntintrin.h		comp-c-include		gcccmds,gcc=53
 ./usr/include/gcc-5/prfchwintrin.h		comp-c-include		gcccmds,gcc=53



CVS commit: src/external/gpl3/gcc.old/dist/gcc

2017-11-13 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Mon Nov 13 11:49:16 UTC 2017

Modified Files:
src/external/gpl3/gcc.old/dist/gcc: toplev.c

Log Message:
Fix what looks like a merge botch.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/gpl3/gcc.old/dist/gcc/toplev.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc.old/dist/gcc/toplev.c
diff -u src/external/gpl3/gcc.old/dist/gcc/toplev.c:1.6 src/external/gpl3/gcc.old/dist/gcc/toplev.c:1.7
--- src/external/gpl3/gcc.old/dist/gcc/toplev.c:1.6	Mon Nov 13 08:05:17 2017
+++ src/external/gpl3/gcc.old/dist/gcc/toplev.c	Mon Nov 13 11:49:16 2017
@@ -1386,8 +1386,7 @@ process_options (void)
 
   if (flag_sanitize & SANITIZE_THREAD)
 	{
-	  error (UNKNOWN_LOCATION,
-		 "%<-fcheck-pointer-bounds%> is not supported with "
+	  error ("%<-fcheck-pointer-bounds%> is not supported with "
 		 "Thread Sanitizer");
 
 	  flag_check_pointer_bounds = 0;



CVS commit: src/sys/arch

2017-11-13 Thread Takeshi Nakayama
Module Name:src
Committed By:   nakayama
Date:   Mon Nov 13 11:45:54 UTC 2017

Modified Files:
src/sys/arch/amd64/include: i82093reg.h
src/sys/arch/i386/include: i82093reg.h
src/sys/arch/x86/x86: ioapic.c

Log Message:
Don't write a 1 to the read only RIRR bit in the IOAPIC redirection
register to fix "tlp0: filter setup and transmit timeout" observed
on Hyper-V VMs with the Legacy Network Adapter.

>From OpenBSD via PR kern/49323:

 https://marc.info/?l=openbsd-cvs=146718035432599=2

| Modified files:
|   sys/arch/amd64/amd64: ioapic.c
|   sys/arch/amd64/include: i82093reg.h
|
| Log message:
| Don't write a 1 to the RIRR bit in the IOAPIC redirection register. This bit
| is R/O, and although it should not matter what value is written there,
| Hyper-V's emulated IOAPIC interprets a write of 1 in some unexpected way and
| subsequently blocks interrupt delivery. This primarily manifests itself as
| de(4) timeouts when using Hyper-V VMs with the "Legacy Network Adapter"
| interface.

Tested both amd64 and i386 on Client Hyper-V on Windows 10.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/amd64/include/i82093reg.h
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/i386/include/i82093reg.h
cvs rdiff -u -r1.53 -r1.54 src/sys/arch/x86/x86/ioapic.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/amd64/include/i82093reg.h
diff -u src/sys/arch/amd64/include/i82093reg.h:1.8 src/sys/arch/amd64/include/i82093reg.h:1.9
--- src/sys/arch/amd64/include/i82093reg.h:1.8	Tue May 23 08:54:38 2017
+++ src/sys/arch/amd64/include/i82093reg.h	Mon Nov 13 11:45:54 2017
@@ -1,4 +1,4 @@
-/*	 $NetBSD: i82093reg.h,v 1.8 2017/05/23 08:54:38 nonaka Exp $ */
+/*	 $NetBSD: i82093reg.h,v 1.9 2017/11/13 11:45:54 nakayama Exp $ */
 
 #include 
 
@@ -57,6 +57,7 @@
 	movq	IOAPIC_SC_DATA(%rdi),%r15			;\
 	movl	(%r15),%esi	;\
 	orl	$IOAPIC_REDLO_MASK,%esi;\
+	andl	$~IOAPIC_REDLO_RIRR,%esi			;\
 	movl	%esi,(%r15)	;\
 	movq	IS_PIC(%r14),%rdi;\
 	ioapic_asm_unlock(num)
@@ -73,7 +74,7 @@
 	movq	IOAPIC_SC_DATA(%rdi),%r13			;\
 	movl	%esi, (%r15)	;\
 	movl	(%r13),%r12d	;\
-	andl	$~IOAPIC_REDLO_MASK,%r12d			;\
+	andl	$~(IOAPIC_REDLO_MASK|IOAPIC_REDLO_RIRR),%r12d	;\
 	movl	%esi,(%r15)	;\
 	movl	%r12d,(%r13)	;\
 	movq	IS_PIC(%r14),%rdi;\

Index: src/sys/arch/i386/include/i82093reg.h
diff -u src/sys/arch/i386/include/i82093reg.h:1.10 src/sys/arch/i386/include/i82093reg.h:1.11
--- src/sys/arch/i386/include/i82093reg.h:1.10	Tue May 23 08:54:39 2017
+++ src/sys/arch/i386/include/i82093reg.h	Mon Nov 13 11:45:54 2017
@@ -1,4 +1,4 @@
-/*	 $NetBSD: i82093reg.h,v 1.10 2017/05/23 08:54:39 nonaka Exp $ */
+/*	 $NetBSD: i82093reg.h,v 1.11 2017/11/13 11:45:54 nakayama Exp $ */
 
 #include 
 
@@ -48,6 +48,7 @@
 	movl	IOAPIC_SC_DATA(%edi),%ebx			;\
 	movl	(%ebx),%esi	;\
 	orl	$IOAPIC_REDLO_MASK,%esi;\
+	andl	$~IOAPIC_REDLO_RIRR,%esi			;\
 	movl	%esi,(%ebx)	;\
 	movl	IS_PIC(%ebp),%edi;\
 	ioapic_asm_unlock(num)
@@ -71,7 +72,7 @@
 	movl	IOAPIC_SC_DATA(%edi),%eax			;\
 	movl	%esi, (%ebx)	;\
 	movl	(%eax),%edx	;\
-	andl	$~IOAPIC_REDLO_MASK,%edx			;\
+	andl	$~(IOAPIC_REDLO_MASK|IOAPIC_REDLO_RIRR),%edx	;\
 	movl	%esi, (%ebx)	;\
 	movl	%edx,(%eax)	;\
 	movl	IS_PIC(%ebp),%edi;\

Index: src/sys/arch/x86/x86/ioapic.c
diff -u src/sys/arch/x86/x86/ioapic.c:1.53 src/sys/arch/x86/x86/ioapic.c:1.54
--- src/sys/arch/x86/x86/ioapic.c:1.53	Sat Nov  4 14:56:48 2017
+++ src/sys/arch/x86/x86/ioapic.c	Mon Nov 13 11:45:54 2017
@@ -1,4 +1,4 @@
-/* 	$NetBSD: ioapic.c,v 1.53 2017/11/04 14:56:48 cherry Exp $	*/
+/* 	$NetBSD: ioapic.c,v 1.54 2017/11/13 11:45:54 nakayama Exp $	*/
 
 /*-
  * Copyright (c) 2000, 2009 The NetBSD Foundation, Inc.
@@ -64,7 +64,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: ioapic.c,v 1.53 2017/11/04 14:56:48 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ioapic.c,v 1.54 2017/11/13 11:45:54 nakayama Exp $");
 
 #include "opt_ddb.h"
 
@@ -508,6 +508,7 @@ ioapic_hwmask(struct pic *pic, int pin)
 	flags = ioapic_lock(sc);
 	redlo = ioapic_read_ul(sc, IOAPIC_REDLO(pin));
 	redlo |= IOAPIC_REDLO_MASK;
+	redlo &= ~IOAPIC_REDLO_RIRR;
 	ioapic_write_ul(sc, IOAPIC_REDLO(pin), redlo);
 	ioapic_unlock(sc, flags);
 }
@@ -548,7 +549,7 @@ ioapic_hwunmask(struct pic *pic, int pin
 
 	flags = ioapic_lock(sc);
 	redlo = ioapic_read_ul(sc, IOAPIC_REDLO(pin));
-	redlo &= ~IOAPIC_REDLO_MASK;
+	redlo &= ~(IOAPIC_REDLO_MASK | IOAPIC_REDLO_RIRR);
 	ioapic_write_ul(sc, IOAPIC_REDLO(pin), redlo);
 	ioapic_unlock(sc, flags);
 }



CVS commit: src/share/man/man9

2017-11-13 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Mon Nov 13 09:10:47 UTC 2017

Modified Files:
src/share/man/man9: mb.9

Log Message:
Bump space for previous. Formatting fix.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/share/man/man9/mb.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/mb.9
diff -u src/share/man/man9/mb.9:1.7 src/share/man/man9/mb.9:1.8
--- src/share/man/man9/mb.9:1.7	Sun Nov 12 21:20:20 2017
+++ src/share/man/man9/mb.9	Mon Nov 13 09:10:47 2017
@@ -1,4 +1,4 @@
-.\"	$NetBSD: mb.9,v 1.7 2017/11/12 21:20:20 riastradh Exp $
+.\"	$NetBSD: mb.9,v 1.8 2017/11/13 09:10:47 wiz Exp $
 .\"
 .\" Copyright (c) 2007 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd January 2, 2011
+.Dd November 12, 2017
 .Dt MB 9
 .Os
 .Sh NAME
@@ -49,7 +49,7 @@
 .Nm
 .Em API is deprecated; use
 .Xr membar_ops 3
-.Em instead.
+.Em instead .
 .Pp
 Many types of processor can execute instructions in a different order
 than issued by the compiler or assembler.



CVS commit: src/share/man/man9

2017-11-13 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Mon Nov 13 09:10:37 UTC 2017

Modified Files:
src/share/man/man9: bus_space.9

Log Message:
Sort errors. Remove superfluous macros.


To generate a diff of this commit:
cvs rdiff -u -r1.52 -r1.53 src/share/man/man9/bus_space.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/bus_space.9
diff -u src/share/man/man9/bus_space.9:1.52 src/share/man/man9/bus_space.9:1.53
--- src/share/man/man9/bus_space.9:1.52	Sun Nov 12 21:14:33 2017
+++ src/share/man/man9/bus_space.9	Mon Nov 13 09:10:37 2017
@@ -1,4 +1,4 @@
-.\" $NetBSD: bus_space.9,v 1.52 2017/11/12 21:14:33 riastradh Exp $
+.\" $NetBSD: bus_space.9,v 1.53 2017/11/13 09:10:37 wiz Exp $
 .\"
 .\" Copyright (c) 1997 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -1047,16 +1047,16 @@ is undefined, and
 returns a non-zero error code.
 Possible error codes include
 .Bl -tag -width EOPNOTSUPP -offset indent
+.It Er ENOMEM
+There was not sufficient bus space at
+.Fa bpa
+to satisfy the request.
 .It Er EOPNOTSUPP
 .Fn bus_space_reserve
 is not supported on this architecture, or
 .Fa flags
 was incompatible with the bus space represented by
 .Fa t .
-.It Er ENOMEM
-There was not sufficient bus space at
-.Fa bpa
-to satisfy the request.
 .El
 .Pp
 .It Fn bus_space_reserve_subregion "t" "reg_start" "reg_end" \
@@ -1091,16 +1091,16 @@ is undefined, and
 returns a non-zero error code.
 Possible error codes include
 .Bl -tag -width EOPNOTSUPP -offset indent
+.It Er ENOMEM
+There was not sufficient bus space at
+.Fa bpa
+to satisfy the request.
 .It Er EOPNOTSUPP
 .Fn bus_space_reserve
 is not supported on this architecture, or
 .Fa flags
 was incompatible with the bus space represented by
 .Fa t .
-.It Er ENOMEM
-There was not sufficient bus space at
-.Fa bpa
-to satisfy the request.
 .El
 .Pp
 .It Fn bus_space_release "t" "bsr"
@@ -1388,7 +1388,6 @@ input port, and are placed by the device
 which is read by reading from the output port.
 The sequence to correctly write two data bytes to the device then read
 those two data bytes back would be:
-.Pp
 .Bd -literal
 /*
  * t and h are the tag and handle for the mapped device's
@@ -1425,7 +1424,6 @@ It is correct (and often easier) to make
 device's whole range of bus space, that is, to specify an offset of zero
 and the size of the whole region.
 .El
-.El
 .Sh REGION OPERATIONS
 Some devices use buffers which are mapped as regions in bus space.
 Often, drivers want to copy the contents of those buffers to or from
@@ -1900,7 +1898,6 @@ The definition of the
 functions should not yet be considered finalized.
 There are several changes and improvements which should be explored,
 including:
-.Pp
 .Bl -bullet
 .It
 Providing a mechanism by which incorrectly-written drivers will be



CVS commit: src/share/man/man3

2017-11-13 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Mon Nov 13 09:11:16 UTC 2017

Modified Files:
src/share/man/man3: __insn_barrier.3

Log Message:
Remove Tn.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/share/man/man3/__insn_barrier.3

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man3/__insn_barrier.3
diff -u src/share/man/man3/__insn_barrier.3:1.3 src/share/man/man3/__insn_barrier.3:1.4
--- src/share/man/man3/__insn_barrier.3:1.3	Sun Nov 12 21:15:22 2017
+++ src/share/man/man3/__insn_barrier.3	Mon Nov 13 09:11:16 2017
@@ -1,4 +1,4 @@
-.\" $NetBSD: __insn_barrier.3,v 1.3 2017/11/12 21:15:22 riastradh Exp $
+.\" $NetBSD: __insn_barrier.3,v 1.4 2017/11/13 09:11:16 wiz Exp $
 .\"
 .\" Copyright (c) 2010 Jukka Ruohonen 
 .\" All rights reserved.
@@ -37,9 +37,7 @@
 .Sh DESCRIPTION
 The
 .Fn __insn_barrier
-macro prevents
-.Tn GCC
-from moving code across the barrier.
+macro prevents GCC from moving code across the barrier.
 In other words, the compiler is not allowed to reorder read and write
 commands below the barrier with the code preceding the barrier.
 Like with the



CVS commit: src/share/man/man9

2017-11-13 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Mon Nov 13 09:09:28 UTC 2017

Modified Files:
src/share/man/man9: condvar.9

Log Message:
Bump date for previous.


To generate a diff of this commit:
cvs rdiff -u -r1.18 -r1.19 src/share/man/man9/condvar.9

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/man/man9/condvar.9
diff -u src/share/man/man9/condvar.9:1.18 src/share/man/man9/condvar.9:1.19
--- src/share/man/man9/condvar.9:1.18	Sun Nov 12 21:14:33 2017
+++ src/share/man/man9/condvar.9	Mon Nov 13 09:09:28 2017
@@ -1,4 +1,4 @@
-.\"	$NetBSD: condvar.9,v 1.18 2017/11/12 21:14:33 riastradh Exp $
+.\"	$NetBSD: condvar.9,v 1.19 2017/11/13 09:09:28 wiz Exp $
 .\"
 .\" Copyright (c) 2006, 2007, 2008 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd July 3, 2017
+.Dd November 12, 2017
 .Dt CONDVAR 9
 .Os
 .Sh NAME



CVS commit: src/lib/libc/sys

2017-11-13 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Mon Nov 13 09:04:57 UTC 2017

Modified Files:
src/lib/libc/sys: open.2

Log Message:
Remove Tn.


To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/lib/libc/sys/open.2

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/sys/open.2
diff -u src/lib/libc/sys/open.2:1.58 src/lib/libc/sys/open.2:1.59
--- src/lib/libc/sys/open.2:1.58	Thu Nov  9 20:30:02 2017
+++ src/lib/libc/sys/open.2	Mon Nov 13 09:04:57 2017
@@ -1,4 +1,4 @@
-.\"	$NetBSD: open.2,v 1.58 2017/11/09 20:30:02 christos Exp $
+.\"	$NetBSD: open.2,v 1.59 2017/11/13 09:04:57 wiz Exp $
 .\"
 .\" Copyright (c) 1980, 1991, 1993
 .\"	The Regents of the University of California.  All rights reserved.
@@ -383,9 +383,7 @@ is specified and the last path component
 .It Bq Er ENXIO
 The named file is a character special or block
 special file, and the device associated with this special file
-does not exist, or
-the named file is a
-.Tn FIFO ,
+does not exist, or the named file is a FIFO,
 .Dv O_NONBLOCK
 and
 .Dv O_WRONLY



CVS commit: src/doc

2017-11-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Nov 13 08:56:54 UTC 2017

Modified Files:
src/doc: 3RDPARTY

Log Message:
note GCC 5.5 exists and has been imported.


To generate a diff of this commit:
cvs rdiff -u -r1.1482 -r1.1483 src/doc/3RDPARTY

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/doc/3RDPARTY
diff -u src/doc/3RDPARTY:1.1482 src/doc/3RDPARTY:1.1483
--- src/doc/3RDPARTY:1.1482	Sun Nov 12 03:03:53 2017
+++ src/doc/3RDPARTY	Mon Nov 13 08:56:54 2017
@@ -1,4 +1,4 @@
-#	$NetBSD: 3RDPARTY,v 1.1482 2017/11/12 03:03:53 christos Exp $
+#	$NetBSD: 3RDPARTY,v 1.1483 2017/11/13 08:56:54 mrg Exp $
 #
 # This file contains a list of the software that has been integrated into
 # NetBSD where we are not the primary maintainer.
@@ -451,8 +451,8 @@ Notes:
 There is a flex2netbsd script to help newer imports.
 
 Package:	gcc
-Version:	5.4
-Current Vers:	5.4/6.4/7.2
+Version:	5.5
+Current Vers:	5.5/6.4/7.2
 Maintainer:	FSF
 Archive Site:	ftp://ftp.gnu.org/gnu/gcc/
 Home Page:	http://www.gnu.org/software/gcc/



CVS commit: src/tools/gcc

2017-11-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Nov 13 08:47:24 UTC 2017

Modified Files:
src/tools/gcc: gcc-version.mk

Log Message:
update netbsd version.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/tools/gcc/gcc-version.mk

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tools/gcc/gcc-version.mk
diff -u src/tools/gcc/gcc-version.mk:1.7 src/tools/gcc/gcc-version.mk:1.8
--- src/tools/gcc/gcc-version.mk:1.7	Wed Feb 22 12:34:49 2017
+++ src/tools/gcc/gcc-version.mk	Mon Nov 13 08:47:24 2017
@@ -1,5 +1,5 @@
-#	$NetBSD: gcc-version.mk,v 1.7 2017/02/22 12:34:49 maya Exp $
+#	$NetBSD: gcc-version.mk,v 1.8 2017/11/13 08:47:24 mrg Exp $
 
 # common location for tools and native build
 
-NETBSD_GCC_VERSION=nb1 20160606
+NETBSD_GCC_VERSION=nb1 20171112



CVS commit: src/external/gpl3/gcc.old

2017-11-13 Thread matthew green
Module Name:src
Committed By:   mrg
Date:   Mon Nov 13 08:05:34 UTC 2017

Modified Files:
src/external/gpl3/gcc.old/dist: LAST_UPDATED MD5SUMS NEWS config.sub
configure configure.ac
src/external/gpl3/gcc.old/dist/INSTALL: binaries.html build.html
configure.html download.html finalinstall.html gfdl.html index.html
old.html prerequisites.html specific.html test.html
src/external/gpl3/gcc.old/dist/contrib: gcc_update
src/external/gpl3/gcc.old/dist/fixincludes: fixincl.x inclhack.def
src/external/gpl3/gcc.old/dist/fixincludes/tests/base: math.h stdio.h
stdlib.h
src/external/gpl3/gcc.old/dist/fixincludes/tests/base/iso: stdio_iso.h
src/external/gpl3/gcc.old/dist/gcc: BASE-VER DATESTAMP Makefile.in
asan.c bb-reorder.c builtins.c calls.c cgraph.c cgraph.h
cgraphclones.c cgraphunit.c combine.c common.opt config.gcc
coverage.c coverage.h cselib.c data-streamer-in.c
data-streamer-out.c diagnostic.c dwarf2out.c explow.c expmed.c
expr.c fold-const.c function.c function.h fwprop.c gcc.c
gcov-dump.c gcov-io.c gcov.c gcse.c gengtype-lex.c gimple-fold.c
gimple-ssa-strength-reduction.c gimplify.c incpath.c internal-fn.c
ipa-cp.c ipa-inline-transform.c ipa-prop.c ipa-pure-const.c
ipa-split.c ira-build.c ira-costs.c ira-int.h ira-lives.c
loop-doloop.c loop-invariant.c lra-constraints.c lto-cgraph.c
lto-streamer.h omp-low.c params.def postreload.c pretty-print.c
real.c ree.c rtl.h sel-sched.c simplify-rtx.c system.h toplev.c
tree-call-cdce.c tree-cfg.c tree-chrec.c tree-data-ref.c tree-eh.c
tree-inline.c tree-inline.h tree-loop-distribution.c tree-nested.c
tree-predcom.c tree-profile.c tree-ssa-loop-im.c
tree-ssa-loop-ivopts.c tree-ssa-loop-prefetch.c
tree-ssa-math-opts.c tree-ssa-pre.c tree-ssa-reassoc.c
tree-ssa-sccvn.c tree-ssa-strlen.c tree-ssa-structalias.c
tree-ssa-tail-merge.c tree-ssa-threadedge.c tree-ssa-uninit.c
tree-ssa.c tree-vect-data-refs.c tree-vect-loop-manip.c tree-vrp.c
tsan.c value-prof.c
src/external/gpl3/gcc.old/dist/gcc/c: c-decl.c c-objc-common.c
c-parser.c c-typeck.c
src/external/gpl3/gcc.old/dist/gcc/c-family: c-ada-spec.c c-common.c
c-cppbuiltin.c c-gimplify.c c-omp.c c-opts.c
src/external/gpl3/gcc.old/dist/gcc/common/config/i386: i386-common.c
src/external/gpl3/gcc.old/dist/gcc/config/aarch64: aarch64-simd.md
aarch64.c aarch64.md
src/external/gpl3/gcc.old/dist/gcc/config/arm: arm-protos.h arm.c arm.h
arm.md freebsd.h neon.md
src/external/gpl3/gcc.old/dist/gcc/config/avr: avr.c avr.md avr.opt
gen-avr-mmcu-texi.c
src/external/gpl3/gcc.old/dist/gcc/config/i386: avx2intrin.h cpuid.h
driver-i386.c gmm_malloc.h i386-builtin-types.def i386-c.c i386.c
i386.h i386.md i386.opt ia32intrin.h lwpintrin.h mmx.md
pmm_malloc.h rdseedintrin.h rtmintrin.h sse.md x86-64.h x86intrin.h
src/external/gpl3/gcc.old/dist/gcc/config/pa: pa-64.h pa.h
src/external/gpl3/gcc.old/dist/gcc/config/rl78: rl78-expand.md
rl78-real.md rl78-virt.md
src/external/gpl3/gcc.old/dist/gcc/config/rs6000: altivec.md dfp.md
predicates.md rs6000-c.c rs6000.c rs6000.md rs6000.opt vector.md
vsx.md
src/external/gpl3/gcc.old/dist/gcc/config/s390: s390-modes.def s390.c
s390.md
src/external/gpl3/gcc.old/dist/gcc/config/sh: sh.c
src/external/gpl3/gcc.old/dist/gcc/config/sparc: sparc.c sparc.md
src/external/gpl3/gcc.old/dist/gcc/config/xtensa: xtensa.c xtensa.h
xtensa.md
src/external/gpl3/gcc.old/dist/gcc/cp: call.c class.c cp-gimplify.c
decl.c error.c init.c mangle.c name-lookup.c parser.c pt.c
semantics.c tree.c typeck.c
src/external/gpl3/gcc.old/dist/gcc/doc: aot-compile.1 cppinternals.info
extend.texi fsf-funding.7 gc-analyze.1 gcc.texi gccinstall.info
gccint.info gcj-dbtool.1 gcj.1 gcj.info gcov.texi generic.texi
gfdl.7 gfortran.1 gij.1 gpl.7 grmic.1 install.texi invoke.texi
jcf-dump.1 jv-convert.1 lto.texi passes.texi rebuild-gcj-db.1
rtl.texi
src/external/gpl3/gcc.old/dist/gcc/lto: lto-lang.c
src/external/gpl3/gcc.old/dist/libcpp: line-map.c
src/external/gpl3/gcc.old/dist/libgcc: config.host libgcc2.c unwind-c.c
src/external/gpl3/gcc.old/dist/libgcc/config/aarch64: linux-unwind.h
src/external/gpl3/gcc.old/dist/libgcc/config/alpha: linux-unwind.h
src/external/gpl3/gcc.old/dist/libgcc/config/arm: unwind-arm.c
unwind-arm.h