CVS commit: src/sys/uvm/pmap

2022-11-03 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Nov  3 18:55:07 UTC 2022

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

Log Message:
_KERNEL_OPT protection


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/uvm/pmap/pmap.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/pmap/pmap.h
diff -u src/sys/uvm/pmap/pmap.h:1.25 src/sys/uvm/pmap/pmap.h:1.26
--- src/sys/uvm/pmap/pmap.h:1.25	Thu Nov  3 09:04:57 2022
+++ src/sys/uvm/pmap/pmap.h	Thu Nov  3 18:55:07 2022
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.h,v 1.25 2022/11/03 09:04:57 skrll Exp $	*/
+/*	$NetBSD: pmap.h,v 1.26 2022/11/03 18:55:07 skrll Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -71,7 +71,9 @@
  *	@(#)pmap.h	8.1 (Berkeley) 6/10/93
  */
 
+#ifdef _KERNEL_OPT
 #include "opt_efi.h"
+#endif
 
 #ifndef	_UVM_PMAP_PMAP_H_
 #define	_UVM_PMAP_PMAP_H_



CVS commit: src/sys/uvm/pmap

2022-11-03 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Nov  3 18:55:07 UTC 2022

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

Log Message:
_KERNEL_OPT protection


To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/uvm/pmap/pmap.h

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



CVS commit: src

2022-11-03 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Nov  3 09:04:57 UTC 2022

Modified Files:
src/etc/etc.evbarm: Makefile.inc
src/sys/arch/aarch64/conf: files.aarch64
src/sys/arch/aarch64/include: cpu.h pmap.h types.h
src/sys/uvm/pmap: pmap.c pmap.h
Added Files:
src/sys/arch/aarch64/aarch64: pmap_machdep.c
src/sys/arch/aarch64/include: pmap_machdep.h
src/sys/arch/evbarm/conf: GENERIC64_PMAPMI

Log Message:
Provide MI PMAP support on AARCH64


To generate a diff of this commit:
cvs rdiff -u -r1.130 -r1.131 src/etc/etc.evbarm/Makefile.inc
cvs rdiff -u -r0 -r1.1 src/sys/arch/aarch64/aarch64/pmap_machdep.c
cvs rdiff -u -r1.40 -r1.41 src/sys/arch/aarch64/conf/files.aarch64
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/aarch64/include/cpu.h
cvs rdiff -u -r1.56 -r1.57 src/sys/arch/aarch64/include/pmap.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/aarch64/include/pmap_machdep.h
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/aarch64/include/types.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/evbarm/conf/GENERIC64_PMAPMI
cvs rdiff -u -r1.73 -r1.74 src/sys/uvm/pmap/pmap.c
cvs rdiff -u -r1.24 -r1.25 src/sys/uvm/pmap/pmap.h

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

Modified files:

Index: src/etc/etc.evbarm/Makefile.inc
diff -u src/etc/etc.evbarm/Makefile.inc:1.130 src/etc/etc.evbarm/Makefile.inc:1.131
--- src/etc/etc.evbarm/Makefile.inc:1.130	Sat Oct 29 08:52:47 2022
+++ src/etc/etc.evbarm/Makefile.inc	Thu Nov  3 09:04:56 2022
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.inc,v 1.130 2022/10/29 08:52:47 jmcneill Exp $
+#	$NetBSD: Makefile.inc,v 1.131 2022/11/03 09:04:56 skrll Exp $
 #
 #	etc.evbarm/Makefile.inc -- evbarm-specific etc Makefile targets
 #
@@ -31,7 +31,9 @@ KERNEL_SETS.armv6hf+=	 	RPI2
 
 KERNEL_SETS.armv7+=		GENERIC
 KERNEL_SETS.armv7hf+=		GENERIC
+
 KERNEL_SETS.arm64+=		GENERIC64
+KERNEL_SETS.arm64+=		GENERIC64_PMAPMI
 .else
 IMAGEENDIAN=	le
 # little endian boards
@@ -65,7 +67,9 @@ KERNEL_SETS.armv6hf+=	 	RPI2
 
 KERNEL_SETS.armv7+=		GENERIC
 KERNEL_SETS.armv7hf+=		GENERIC
+
 KERNEL_SETS.arm64+=		GENERIC64
+KERNEL_SETS.arm64+=		GENERIC64_PMAPMI
 .endif
 
 IMAGE.rel=	${RELEASEDIR}/${RELEASEMACHINEDIR}

Index: src/sys/arch/aarch64/conf/files.aarch64
diff -u src/sys/arch/aarch64/conf/files.aarch64:1.40 src/sys/arch/aarch64/conf/files.aarch64:1.41
--- src/sys/arch/aarch64/conf/files.aarch64:1.40	Fri Oct 28 07:16:34 2022
+++ src/sys/arch/aarch64/conf/files.aarch64	Thu Nov  3 09:04:56 2022
@@ -1,4 +1,4 @@
-#	$NetBSD: files.aarch64,v 1.40 2022/10/28 07:16:34 skrll Exp $
+#	$NetBSD: files.aarch64,v 1.41 2022/11/03 09:04:56 skrll Exp $
 
 defflag opt_cpuoptions.h	AARCH64_ALIGNMENT_CHECK
 defflag opt_cpuoptions.h	AARCH64_EL0_STACK_ALIGNMENT_CHECK
@@ -55,6 +55,10 @@ defflag opt_pmap.h		PMAPCOUNTERS PMAP_ST
 PMAP_NEED_ALLOC_POOLPAGE
 defflag opt_pmapboot.h		PMAPBOOT_DEBUG
 
+# MI PMAP flags
+#
+defflag	opt_pmap.h		PMAP_MI
+
 # MI support
 file	dev/cons.c
 
@@ -113,11 +117,14 @@ file	arch/aarch64/aarch64/vm_machdep.c
 
 # pmap
 file	arch/aarch64/aarch64/aarch64_tlb.c
-file	arch/aarch64/aarch64/pmap.c
+file	arch/aarch64/aarch64/pmap.c		!pmap_mi
 file	arch/aarch64/aarch64/pmapboot.c
 file	arch/aarch64/aarch64/pmap_page.S
-file	uvm/pmap/pmap_tlb.c
+file	arch/aarch64/aarch64/pmap_machdep.c	pmap_mi
+file	uvm/pmap/pmap.cpmap_mi
 file	uvm/pmap/pmap_pvt.c
+file	uvm/pmap/pmap_segtab.c			pmap_mi
+file	uvm/pmap/pmap_tlb.c
 
 # EFI runtime (machdep)
 file	arch/aarch64/aarch64/efi_machdep.c		efi_runtime

Index: src/sys/arch/aarch64/include/cpu.h
diff -u src/sys/arch/aarch64/include/cpu.h:1.47 src/sys/arch/aarch64/include/cpu.h:1.48
--- src/sys/arch/aarch64/include/cpu.h:1.47	Sat Jun 25 13:24:34 2022
+++ src/sys/arch/aarch64/include/cpu.h	Thu Nov  3 09:04:56 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: cpu.h,v 1.47 2022/06/25 13:24:34 jmcneill Exp $ */
+/* $NetBSD: cpu.h,v 1.48 2022/11/03 09:04:56 skrll Exp $ */
 
 /*-
  * Copyright (c) 2014, 2020 The NetBSD Foundation, Inc.
@@ -39,6 +39,7 @@
 #ifdef _KERNEL_OPT
 #include "opt_gprof.h"
 #include "opt_multiprocessor.h"
+#include "opt_pmap.h"
 #endif
 
 #include 
@@ -137,6 +138,12 @@ struct cpu_info {
 
 	int ci_kfpu_spl;
 
+#if defined(PMAP_MI)
+struct pmap_tlb_info *ci_tlb_info;
+struct pmap *ci_pmap_lastuser;
+struct pmap *ci_pmap_cur;
+#endif
+
 	/* ASID of current pmap */
 	tlb_asid_t ci_pmap_asid_cur;
 
@@ -190,6 +197,7 @@ static __inline struct cpu_info *lwp_get
 #define	setsoftast(ci)		(cpu_signotify((ci)->ci_onproc))
 #undef curlwp
 #define	curlwp			(aarch64_curlwp())
+#define	curpcb			((struct pcb *)lwp_getpcb(curlwp))
 
 void	cpu_signotify(struct lwp *l);
 void	cpu_need_proftick(struct lwp *l);

Index: src/sys/arch/aarch64/include/pmap.h
diff -u src/sys/arch/aarch64/include/pmap.h:1.56 src/sys/arch/aarch64/include/pmap.h:1.57
--- src/sys/arch/aarch64/include/pmap.h:1.56	Sat Oct 29 08:29:28 2022
+++ src/sys/arch/aarch64/include/pmap.h	Thu Nov  3 

CVS commit: src

2022-11-03 Thread Nick Hudson
Module Name:src
Committed By:   skrll
Date:   Thu Nov  3 09:04:57 UTC 2022

Modified Files:
src/etc/etc.evbarm: Makefile.inc
src/sys/arch/aarch64/conf: files.aarch64
src/sys/arch/aarch64/include: cpu.h pmap.h types.h
src/sys/uvm/pmap: pmap.c pmap.h
Added Files:
src/sys/arch/aarch64/aarch64: pmap_machdep.c
src/sys/arch/aarch64/include: pmap_machdep.h
src/sys/arch/evbarm/conf: GENERIC64_PMAPMI

Log Message:
Provide MI PMAP support on AARCH64


To generate a diff of this commit:
cvs rdiff -u -r1.130 -r1.131 src/etc/etc.evbarm/Makefile.inc
cvs rdiff -u -r0 -r1.1 src/sys/arch/aarch64/aarch64/pmap_machdep.c
cvs rdiff -u -r1.40 -r1.41 src/sys/arch/aarch64/conf/files.aarch64
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/aarch64/include/cpu.h
cvs rdiff -u -r1.56 -r1.57 src/sys/arch/aarch64/include/pmap.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/aarch64/include/pmap_machdep.h
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/aarch64/include/types.h
cvs rdiff -u -r0 -r1.1 src/sys/arch/evbarm/conf/GENERIC64_PMAPMI
cvs rdiff -u -r1.73 -r1.74 src/sys/uvm/pmap/pmap.c
cvs rdiff -u -r1.24 -r1.25 src/sys/uvm/pmap/pmap.h

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