Module Name:    src
Committed By:   ryo
Date:           Tue Jul 17 10:01:59 UTC 2018

Modified Files:
        src/sys/arch/aarch64/aarch64: copyinout.S cpuswitch.S fusu.S
            genassym.cf locore.S vectors.S
        src/sys/arch/aarch64/include: pte.h

Log Message:
fix build with aarch64 gcc/gas


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/aarch64/aarch64/copyinout.S \
    src/sys/arch/aarch64/aarch64/fusu.S
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/aarch64/aarch64/cpuswitch.S
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/aarch64/aarch64/genassym.cf
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/aarch64/aarch64/locore.S
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/aarch64/aarch64/vectors.S
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/aarch64/include/pte.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/aarch64/aarch64/copyinout.S
diff -u src/sys/arch/aarch64/aarch64/copyinout.S:1.3 src/sys/arch/aarch64/aarch64/copyinout.S:1.4
--- src/sys/arch/aarch64/aarch64/copyinout.S:1.3	Sun Apr  1 04:35:03 2018
+++ src/sys/arch/aarch64/aarch64/copyinout.S	Tue Jul 17 10:01:59 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: copyinout.S,v 1.3 2018/04/01 04:35:03 ryo Exp $ */
+/* $NetBSD: copyinout.S,v 1.4 2018/07/17 10:01:59 ryo Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -32,8 +32,10 @@
 #include <aarch64/asm.h>
 #include "assym.h"
 
-RCSID("$NetBSD: copyinout.S,v 1.3 2018/04/01 04:35:03 ryo Exp $");
+RCSID("$NetBSD: copyinout.S,v 1.4 2018/07/17 10:01:59 ryo Exp $");
 
+#define fp	x29
+#define lr	x30
 
 	.macro enter_cpu_onfault
 	stp	fp, lr, [sp, #-16]!	/* save fp, lr */
Index: src/sys/arch/aarch64/aarch64/fusu.S
diff -u src/sys/arch/aarch64/aarch64/fusu.S:1.3 src/sys/arch/aarch64/aarch64/fusu.S:1.4
--- src/sys/arch/aarch64/aarch64/fusu.S:1.3	Sun Apr  1 04:35:03 2018
+++ src/sys/arch/aarch64/aarch64/fusu.S	Tue Jul 17 10:01:59 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: fusu.S,v 1.3 2018/04/01 04:35:03 ryo Exp $	*/
+/*	$NetBSD: fusu.S,v 1.4 2018/07/17 10:01:59 ryo Exp $	*/
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -32,7 +32,10 @@
 #include <aarch64/asm.h>
 #include "assym.h"
 
-RCSID("$NetBSD: fusu.S,v 1.3 2018/04/01 04:35:03 ryo Exp $");
+RCSID("$NetBSD: fusu.S,v 1.4 2018/07/17 10:01:59 ryo Exp $");
+
+#define fp	x29
+#define lr	x30
 
 	.macro enter_cpu_onfault
 	stp	fp, lr, [sp, #-16]!	/* save fp, lr */

Index: src/sys/arch/aarch64/aarch64/cpuswitch.S
diff -u src/sys/arch/aarch64/aarch64/cpuswitch.S:1.2 src/sys/arch/aarch64/aarch64/cpuswitch.S:1.3
--- src/sys/arch/aarch64/aarch64/cpuswitch.S:1.2	Mon Jul  9 06:11:12 2018
+++ src/sys/arch/aarch64/aarch64/cpuswitch.S	Tue Jul 17 10:01:59 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: cpuswitch.S,v 1.2 2018/07/09 06:11:12 ryo Exp $ */
+/* $NetBSD: cpuswitch.S,v 1.3 2018/07/17 10:01:59 ryo Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -35,7 +35,9 @@
 
 #include "opt_ddb.h"
 
-RCSID("$NetBSD: cpuswitch.S,v 1.2 2018/07/09 06:11:12 ryo Exp $")
+RCSID("$NetBSD: cpuswitch.S,v 1.3 2018/07/17 10:01:59 ryo Exp $")
+
+#define lr	x30
 
 /*
  * At IPL_SCHED:

Index: src/sys/arch/aarch64/aarch64/genassym.cf
diff -u src/sys/arch/aarch64/aarch64/genassym.cf:1.4 src/sys/arch/aarch64/aarch64/genassym.cf:1.5
--- src/sys/arch/aarch64/aarch64/genassym.cf:1.4	Tue Jul 10 08:35:58 2018
+++ src/sys/arch/aarch64/aarch64/genassym.cf	Tue Jul 17 10:01:59 2018
@@ -1,4 +1,4 @@
-# $NetBSD: genassym.cf,v 1.4 2018/07/10 08:35:58 ryo Exp $
+# $NetBSD: genassym.cf,v 1.5 2018/07/17 10:01:59 ryo Exp $
 #-
 # Copyright (c) 2014 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -50,6 +50,7 @@ include <arm/bus_defs.h>
 include <aarch64/vmparam.h>
 include <aarch64/frame.h>
 include <aarch64/armreg.h>
+include <aarch64/pte.h>
 
 if defined(_KERNEL_OPT)
 include "opt_multiprocessor.h"
@@ -102,6 +103,61 @@ define	USPACE			(UPAGES * PAGE_SIZE)
 #define	L2_C			L2_C
 #define	L2_AP_KRW		L2_AP(AP_KRW)
 
+define	L0_ADDR_BITS		L0_ADDR_BITS
+define	L0_SHIFT		L0_SHIFT
+define	L0_TABLE		L0_TABLE
+define	L1_ADDR_BITS		L1_ADDR_BITS
+define	L1_BLOCK		L1_BLOCK
+define	L1_SHIFT		L1_SHIFT
+define	L1_SIZE			L1_SIZE
+define	L1_TABLE		L1_TABLE
+define	L2_ADDR_BITS		L2_ADDR_BITS
+define	L2_BLK_OA		L2_BLK_OA
+define	L2_BLOCK		L2_BLOCK
+define	L2_BLOCK_MASK		L2_BLOCK_MASK
+define	L2_SHIFT		L2_SHIFT
+define	L2_SIZE			L2_SIZE
+define	LX_BLKPAG_UXN		LX_BLKPAG_UXN
+define	LX_BLKPAG_PXN		LX_BLKPAG_PXN
+define	LX_BLKPAG_AF		LX_BLKPAG_AF
+define	LX_BLKPAG_AP_RW		LX_BLKPAG_AP_RW
+define	LX_BLKPAG_SH_IS		LX_BLKPAG_SH_IS
+define	LX_BLKPAG_ATTR_INDX_0	LX_BLKPAG_ATTR_INDX_0
+define	LX_BLKPAG_ATTR_INDX_1	LX_BLKPAG_ATTR_INDX_1
+define	LX_BLKPAG_ATTR_INDX_2	LX_BLKPAG_ATTR_INDX_2
+define	LX_BLKPAG_ATTR_INDX_3	LX_BLKPAG_ATTR_INDX_3
+define	Ln_ENTRIES		Ln_ENTRIES
+
+define	TCR_AS64K		TCR_AS64K
+define	TCR_TG1_16KB		TCR_TG1_16KB
+define	TCR_TG1_4KB		TCR_TG1_4KB
+define	TCR_TG1_64KB		TCR_TG1_64KB
+define	TCR_TG0_16KB		TCR_TG0_16KB
+define	TCR_TG0_4KB		TCR_TG0_4KB
+define	TCR_TG0_64KB		TCR_TG0_64KB
+define	TCR_SH1_OUTER		TCR_SH1_OUTER
+define	TCR_SH1_INNER		TCR_SH1_INNER
+define	TCR_ORGN1_NC		TCR_ORGN1_NC
+define	TCR_ORGN1_WB_WA		TCR_ORGN1_WB_WA
+define	TCR_ORGN1_WT		TCR_ORGN1_WT
+define	TCR_ORGN1_WB		TCR_ORGN1_WB
+define	TCR_IRGN1_NC		TCR_IRGN1_NC
+define	TCR_IRGN1_WB_WA		TCR_IRGN1_WB_WA
+define	TCR_IRGN1_WT		TCR_IRGN1_WT
+define	TCR_IRGN1_WB		TCR_IRGN1_WB
+define	TCR_T1SZ		TCR_T1SZ
+define	TCR_SH0_OUTER		TCR_SH0_OUTER
+define	TCR_SH0_INNER		TCR_SH0_INNER
+define	TCR_ORGN0_NC		TCR_ORGN0_NC
+define	TCR_ORGN0_WB_WA		TCR_ORGN0_WB_WA
+define	TCR_ORGN0_WT		TCR_ORGN0_WT
+define	TCR_ORGN0_WB		TCR_ORGN0_WB
+define	TCR_IRGN0_NC		TCR_IRGN0_NC
+define	TCR_IRGN0_WB_WA		TCR_IRGN0_WB_WA
+define	TCR_IRGN0_WT		TCR_IRGN0_WT
+define	TCR_IRGN0_WB		TCR_IRGN0_WB
+define	TCR_T0SZ		TCR_T0SZ
+
 define	EFAULT			EFAULT
 
 define	PAGE_SIZE		PAGE_SIZE

Index: src/sys/arch/aarch64/aarch64/locore.S
diff -u src/sys/arch/aarch64/aarch64/locore.S:1.11 src/sys/arch/aarch64/aarch64/locore.S:1.12
--- src/sys/arch/aarch64/aarch64/locore.S:1.11	Tue Jul 17 00:32:28 2018
+++ src/sys/arch/aarch64/aarch64/locore.S	Tue Jul 17 10:01:59 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.11 2018/07/17 00:32:28 christos Exp $	*/
+/*	$NetBSD: locore.S,v 1.12 2018/07/17 10:01:59 ryo Exp $	*/
 
 /*
  * Copyright (c) 2017 Ryo Shimizu <[email protected]>
@@ -33,10 +33,9 @@
 
 #include <aarch64/asm.h>
 #include <aarch64/hypervisor.h>
-#include <aarch64/pte.h>
 #include "assym.h"
 
-RCSID("$NetBSD: locore.S,v 1.11 2018/07/17 00:32:28 christos Exp $")
+RCSID("$NetBSD: locore.S,v 1.12 2018/07/17 10:01:59 ryo Exp $")
 
 /* #define DEBUG_LOCORE */
 /* #define DEBUG_MMU */
@@ -48,10 +47,10 @@ RCSID("$NetBSD: locore.S,v 1.11 2018/07/
 #define LOCORE_EL2
 
 /* attributes are defined in MAIR_EL1 */
-#define L2_BLKPAG_ATTR_NORMAL_WB	__SHIFTIN(0, LX_BLKPAG_ATTR_INDX)
-#define L2_BLKPAG_ATTR_NORMAL_NC	__SHIFTIN(1, LX_BLKPAG_ATTR_INDX)
-#define L2_BLKPAG_ATTR_NORMAL_WT	__SHIFTIN(2, LX_BLKPAG_ATTR_INDX)
-#define L2_BLKPAG_ATTR_DEVICE_MEM	__SHIFTIN(3, LX_BLKPAG_ATTR_INDX)
+#define L2_BLKPAG_ATTR_NORMAL_WB	LX_BLKPAG_ATTR_INDX_0
+#define L2_BLKPAG_ATTR_NORMAL_NC	LX_BLKPAG_ATTR_INDX_1
+#define L2_BLKPAG_ATTR_NORMAL_WT	LX_BLKPAG_ATTR_INDX_2
+#define L2_BLKPAG_ATTR_DEVICE_MEM	LX_BLKPAG_ATTR_INDX_3
 
 #define PRINT(string)	bl xprint;.asciz string;.align 2
 
@@ -61,6 +60,9 @@ RCSID("$NetBSD: locore.S,v 1.11 2018/07/
 #define VERBOSE(string)
 #endif
 
+#define fp	x29
+#define lr	x30
+
 /* load far effective address (pc relative) */
 .macro	ADDR, reg, addr
 	adrp	\reg, \addr

Index: src/sys/arch/aarch64/aarch64/vectors.S
diff -u src/sys/arch/aarch64/aarch64/vectors.S:1.5 src/sys/arch/aarch64/aarch64/vectors.S:1.6
--- src/sys/arch/aarch64/aarch64/vectors.S:1.5	Sun Apr  1 04:35:03 2018
+++ src/sys/arch/aarch64/aarch64/vectors.S	Tue Jul 17 10:01:59 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: vectors.S,v 1.5 2018/04/01 04:35:03 ryo Exp $	*/
+/*	$NetBSD: vectors.S,v 1.6 2018/07/17 10:01:59 ryo Exp $	*/
 
 #include <aarch64/asm.h>
 #include "assym.h"
@@ -67,7 +67,7 @@
 	str	x0, [x1, #L_PRIVATE]	/* curlwp->l_private = tpidr_el0 */
 	.endif
 
-	adr	lr, el\el\()_trap_exit	/* el[01]_trap_exit */
+	adr	x30, el\el\()_trap_exit	/* el[01]_trap_exit */
 	mov	x0, sp
 	b	\label
 	.endm

Index: src/sys/arch/aarch64/include/pte.h
diff -u src/sys/arch/aarch64/include/pte.h:1.3 src/sys/arch/aarch64/include/pte.h:1.4
--- src/sys/arch/aarch64/include/pte.h:1.3	Sun Apr  1 04:35:03 2018
+++ src/sys/arch/aarch64/include/pte.h	Tue Jul 17 10:01:59 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: pte.h,v 1.3 2018/04/01 04:35:03 ryo Exp $ */
+/* $NetBSD: pte.h,v 1.4 2018/07/17 10:01:59 ryo Exp $ */
 
 /*-
  * Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -72,6 +72,10 @@ typedef uint64_t pt_entry_t;	/* L3(4k) t
 #define LX_BLKPAG_APUSER	__BIT(6)
 #define LX_BLKPAG_NS		__BIT(5)
 #define LX_BLKPAG_ATTR_INDX	__BITS(4,2)	/* refer MAIR_EL1 attr<n> */
+#define  LX_BLKPAG_ATTR_INDX_0	__SHIFTIN(0,LX_BLKPAG_ATTR_INDX)
+#define  LX_BLKPAG_ATTR_INDX_1	__SHIFTIN(1,LX_BLKPAG_ATTR_INDX)
+#define  LX_BLKPAG_ATTR_INDX_2	__SHIFTIN(2,LX_BLKPAG_ATTR_INDX)
+#define  LX_BLKPAG_ATTR_INDX_3	__SHIFTIN(3,LX_BLKPAG_ATTR_INDX)
 #define LX_TYPE			__BIT(1)
 #define LX_TYPE_BLK		__SHIFTIN(0, LX_TYPE)
 #define LX_TYPE_TBL		__SHIFTIN(1, LX_TYPE)

Reply via email to