Module Name:    src
Committed By:   skrll
Date:           Wed Jul  8 10:18:00 UTC 2020

Modified Files:
        src/sys/arch/arm/arm: armv6_start.S
        src/sys/arch/arm/arm32: genassym.cf locore.S

Log Message:
Use the stack provided by armv6_start.S rather than svcstk.  This saves
some bss too.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/arm/armv6_start.S
cvs rdiff -u -r1.92 -r1.93 src/sys/arch/arm/arm32/genassym.cf
cvs rdiff -u -r1.40 -r1.41 src/sys/arch/arm/arm32/locore.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/arm/armv6_start.S
diff -u src/sys/arch/arm/arm/armv6_start.S:1.17 src/sys/arch/arm/arm/armv6_start.S:1.18
--- src/sys/arch/arm/arm/armv6_start.S:1.17	Fri Jul  3 06:15:27 2020
+++ src/sys/arch/arm/arm/armv6_start.S	Wed Jul  8 10:17:59 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: armv6_start.S,v 1.17 2020/07/03 06:15:27 skrll Exp $	*/
+/*	$NetBSD: armv6_start.S,v 1.18 2020/07/08 10:17:59 skrll Exp $	*/
 
 /*-
  * Copyright (c) 2012, 2017, 2018 The NetBSD Foundation, Inc.
@@ -230,6 +230,8 @@ generic_savevars:
 	 */
 	.section "_init_memory", "aw", %nobits
 	.p2align INIT_ARM_STACK_SHIFT
+	.global start_stacks_bottom
+	.global start_stacks_top
 start_stacks_bottom:
 	.space	INIT_ARM_STACK_SIZE * MAXCPUS
 start_stacks_top:

Index: src/sys/arch/arm/arm32/genassym.cf
diff -u src/sys/arch/arm/arm32/genassym.cf:1.92 src/sys/arch/arm/arm32/genassym.cf:1.93
--- src/sys/arch/arm/arm32/genassym.cf:1.92	Wed Jul  8 10:04:20 2020
+++ src/sys/arch/arm/arm32/genassym.cf	Wed Jul  8 10:18:00 2020
@@ -1,4 +1,4 @@
-#	$NetBSD: genassym.cf,v 1.92 2020/07/08 10:04:20 skrll Exp $
+#	$NetBSD: genassym.cf,v 1.93 2020/07/08 10:18:00 skrll Exp $
 
 # Copyright (c) 1982, 1990 The Regents of the University of California.
 # All rights reserved.
@@ -31,7 +31,7 @@
 # SUCH DAMAGE.
 
 if defined(_KERNEL_OPT)
-include "opt_compat_netbsd.h"
+include "opt_arm_start.h"
 include "opt_execfmt.h"
 include "opt_multiprocessor.h"
 endif
@@ -73,6 +73,10 @@ ifdef __HAVE_FAST_SOFTINTS
 define	__HAVE_FAST_SOFTINTS	1
 endif
 
+ifdef __HAVE_GENERIC_START
+define	__HAVE_GENERIC_START	1
+endif
+
 ifdef __HAVE_MM_MD_DIRECT_MAPPED_PHYS
 define	__HAVE_MM_MD_DIRECT_MAPPED_PHYS	1
 endif

Index: src/sys/arch/arm/arm32/locore.S
diff -u src/sys/arch/arm/arm32/locore.S:1.40 src/sys/arch/arm/arm32/locore.S:1.41
--- src/sys/arch/arm/arm32/locore.S:1.40	Sun Jul 14 09:29:21 2019
+++ src/sys/arch/arm/arm32/locore.S	Wed Jul  8 10:18:00 2020
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.40 2019/07/14 09:29:21 skrll Exp $	*/
+/*	$NetBSD: locore.S,v 1.41 2020/07/08 10:18:00 skrll Exp $	*/
 
 /*
  * Copyright (C) 1994-1997 Mark Brinicombe
@@ -43,7 +43,7 @@
 /* What size should this really be ? It is only used by init_arm() */
 #define INIT_ARM_STACK_SIZE	2048
 
-	RCSID("$NetBSD: locore.S,v 1.40 2019/07/14 09:29:21 skrll Exp $")
+	RCSID("$NetBSD: locore.S,v 1.41 2020/07/08 10:18:00 skrll Exp $")
 
 /*
  * This is for kvm_mkdb, and should be the address of the beginning
@@ -121,13 +121,18 @@ ASEND(uartputc)
 #else
 	.word	_C_LABEL(cpu_info_store)
 #endif
+#if !defined(__HAVE_GENERIC_START)
 	.word	svcstk_end
+#else
+	.word   start_stacks_top
+#endif
 
 .Lmainreturned:
 	.asciz	"main() returned"
 	.align	0
 ASEND(start)
 
+#if !defined(__HAVE_GENERIC_START)
 	.bss
 #ifdef __ARM_EABI__
 	.align	3
@@ -135,6 +140,7 @@ ASEND(start)
 svcstk:
 	.space	INIT_ARM_STACK_SIZE
 svcstk_end:
+#endif
 
 	.text
 	.align	0

Reply via email to