CVS commit: [matt-nb5-mips64] src/sys/arch/arm/arm32

2015-08-12 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Thu Aug 13 00:07:15 UTC 2015

Modified Files:
src/sys/arch/arm/arm32 [matt-nb5-mips64]: arm32_kvminit.c

Log Message:
Make sure the amount of direct mapped memory doesn't cross over into the
mappable KVA range.


To generate a diff of this commit:
cvs rdiff -u -r1.22.2.3 -r1.22.2.4 src/sys/arch/arm/arm32/arm32_kvminit.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/arm32/arm32_kvminit.c
diff -u src/sys/arch/arm/arm32/arm32_kvminit.c:1.22.2.3 src/sys/arch/arm/arm32/arm32_kvminit.c:1.22.2.4
--- src/sys/arch/arm/arm32/arm32_kvminit.c:1.22.2.3	Mon Mar 24 07:37:39 2014
+++ src/sys/arch/arm/arm32/arm32_kvminit.c	Thu Aug 13 00:07:15 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: arm32_kvminit.c,v 1.22.2.3 2014/03/24 07:37:39 matt Exp $	*/
+/*	$NetBSD: arm32_kvminit.c,v 1.22.2.4 2015/08/13 00:07:15 matt Exp $	*/
 
 /*
  * Copyright (c) 2002, 2003, 2005  Genetec Corporation.  All rights reserved.
@@ -122,7 +122,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: arm32_kvminit.c,v 1.22.2.3 2014/03/24 07:37:39 matt Exp $);
+__KERNEL_RCSID(0, $NetBSD: arm32_kvminit.c,v 1.22.2.4 2015/08/13 00:07:15 matt Exp $);
 
 #include sys/param.h
 #include sys/device.h
@@ -773,6 +773,14 @@ arm32_kernel_vm_init(vaddr_t kernel_vm_b
 		}
 	}
 
+	// The amount we can direct is limited by the start of the
+	// virtual part of the kernel address space.  Don't overrun
+	// into it. 
+	if (mapallmem_p  cur_pv.pv_va + cur_pv.pv_size  kernel_vm_base) {
+		cur_pv.pv_size = kernel_vm_base - cur_pv.pv_va;
+	}
+
+
 	/*
 	 * Now we map the final chunk.
 	 */



CVS commit: [matt-nb5-mips64] src/sys/arch/arm/arm32

2014-03-24 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Mon Mar 24 07:37:39 UTC 2014

Modified Files:
src/sys/arch/arm/arm32 [matt-nb5-mips64]: arm32_kvminit.c

Log Message:
Make sure kernel starts on a page boundary.


To generate a diff of this commit:
cvs rdiff -u -r1.22.2.2 -r1.22.2.3 src/sys/arch/arm/arm32/arm32_kvminit.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/arm32/arm32_kvminit.c
diff -u src/sys/arch/arm/arm32/arm32_kvminit.c:1.22.2.2 src/sys/arch/arm/arm32/arm32_kvminit.c:1.22.2.3
--- src/sys/arch/arm/arm32/arm32_kvminit.c:1.22.2.2	Sat Feb 15 16:18:36 2014
+++ src/sys/arch/arm/arm32/arm32_kvminit.c	Mon Mar 24 07:37:39 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: arm32_kvminit.c,v 1.22.2.2 2014/02/15 16:18:36 matt Exp $	*/
+/*	$NetBSD: arm32_kvminit.c,v 1.22.2.3 2014/03/24 07:37:39 matt Exp $	*/
 
 /*
  * Copyright (c) 2002, 2003, 2005  Genetec Corporation.  All rights reserved.
@@ -122,7 +122,7 @@
  */
 
 #include sys/cdefs.h
-__KERNEL_RCSID(0, $NetBSD: arm32_kvminit.c,v 1.22.2.2 2014/02/15 16:18:36 matt Exp $);
+__KERNEL_RCSID(0, $NetBSD: arm32_kvminit.c,v 1.22.2.3 2014/03/24 07:37:39 matt Exp $);
 
 #include sys/param.h
 #include sys/device.h
@@ -182,7 +182,7 @@ arm32_bootmem_init(paddr_t memstart, psi
 	/*
 	 * Let's record where the kernel lives.
 	 */
-	bmi-bmi_kernelstart = kernelstart;
+	bmi-bmi_kernelstart = trunc_page(kernelstart);
 	bmi-bmi_kernelend = KERN_VTOPHYS(bmi, round_page((vaddr_t)_end));
 
 #ifdef VERBOSE_INIT_ARM



CVS commit: [matt-nb5-mips64] src/sys/arch/arm/arm32

2014-03-24 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Mon Mar 24 18:44:44 UTC 2014

Modified Files:
src/sys/arch/arm/arm32 [matt-nb5-mips64]: arm32_boot.c

Log Message:
Need to deal with proc0paddr.


To generate a diff of this commit:
cvs rdiff -u -r1.5.2.2 -r1.5.2.3 src/sys/arch/arm/arm32/arm32_boot.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/arm32/arm32_boot.c
diff -u src/sys/arch/arm/arm32/arm32_boot.c:1.5.2.2 src/sys/arch/arm/arm32/arm32_boot.c:1.5.2.3
--- src/sys/arch/arm/arm32/arm32_boot.c:1.5.2.2	Sat Feb 15 16:18:36 2014
+++ src/sys/arch/arm/arm32/arm32_boot.c	Mon Mar 24 18:44:43 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: arm32_boot.c,v 1.5.2.2 2014/02/15 16:18:36 matt Exp $	*/
+/*	$NetBSD: arm32_boot.c,v 1.5.2.3 2014/03/24 18:44:43 matt Exp $	*/
 
 /*
  * Copyright (c) 2002, 2003, 2005  Genetec Corporation.  All rights reserved.
@@ -123,7 +123,7 @@
 
 #include sys/cdefs.h
 
-__KERNEL_RCSID(1, $NetBSD: arm32_boot.c,v 1.5.2.2 2014/02/15 16:18:36 matt Exp $);
+__KERNEL_RCSID(1, $NetBSD: arm32_boot.c,v 1.5.2.3 2014/03/24 18:44:43 matt Exp $);
 
 #include opt_ddb.h
 #include opt_kgdb.h
@@ -165,7 +165,8 @@ initarm_common(vaddr_t kvm_base, vsize_t
 	 * this during uvm init.
 	 */
 	//uvm_lwp_setuarea(lwp0, kernelstack.pv_va);
-	lwp0.l_addr = (void *)kernelstack.pv_va;
+	extern struct user *proc0paddr;
+	lwp0.l_addr = proc0paddr = (void *)kernelstack.pv_va;
 
 #ifdef VERBOSE_INIT_ARM
 	printf(bootstrap done.\n);



CVS commit: [matt-nb5-mips64] src/sys/arch/arm/arm32

2014-03-24 Thread Matt Thomas
Module Name:src
Committed By:   matt
Date:   Mon Mar 24 18:45:16 UTC 2014

Modified Files:
src/sys/arch/arm/arm32 [matt-nb5-mips64]: exception.S

Log Message:
Use the improved undefined method from HEAD


To generate a diff of this commit:
cvs rdiff -u -r1.16.18.1 -r1.16.18.2 src/sys/arch/arm/arm32/exception.S

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/arm32/exception.S
diff -u src/sys/arch/arm/arm32/exception.S:1.16.18.1 src/sys/arch/arm/arm32/exception.S:1.16.18.2
--- src/sys/arch/arm/arm32/exception.S:1.16.18.1	Sat Feb 15 16:18:36 2014
+++ src/sys/arch/arm/arm32/exception.S	Mon Mar 24 18:45:16 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: exception.S,v 1.16.18.1 2014/02/15 16:18:36 matt Exp $	*/
+/*	$NetBSD: exception.S,v 1.16.18.2 2014/03/24 18:45:16 matt Exp $	*/
 
 /*
  * Copyright (c) 1994-1997 Mark Brinicombe.
@@ -51,7 +51,7 @@
 
 #include arm/locore.h
 
-	RCSID($NetBSD: exception.S,v 1.16.18.1 2014/02/15 16:18:36 matt Exp $)
+	RCSID($NetBSD: exception.S,v 1.16.18.2 2014/03/24 18:45:16 matt Exp $)
 
 	.text	
 	.align	0
@@ -218,13 +218,11 @@ ASEND(address_exception_entry)
  *	look like direct entry from the vector.
  */
 ASENTRY_NP(undefined_entry)
-	stmfd	sp!, {r0, r1}
+	str	r0, [sp, #-8]!
 	GET_CURCPU(r0)
-	ldr	r1, [sp], #0x0004
-	str	r1, [r0, #CI_UNDEFSAVE]!
-	ldr	r1, [sp], #0x0004
-	str	r1, [r0, #0x0004]
-	ldmia	r0, {r0, r1, pc}
+	ldr	r0, [r0, #CI_UNDEFSAVE+8]
+	str	r0, [sp, #4]
+	pop	{r0, pc}
 ASEND(undefined_entry)
 
 /*