Module Name:    src
Committed By:   maxv
Date:           Sat Mar  9 08:42:26 UTC 2019

Modified Files:
        src/sys/arch/amd64/amd64: db_disasm.c gdt.c locore.S machdep.c
        src/sys/arch/amd64/include: asan.h pte.h
        src/sys/arch/amd64/stand/prekern: locore.S mm.c
        src/sys/arch/i386/i386: db_disasm.c gdt.c genassym.cf locore.S
            machdep.c
        src/sys/arch/i386/include: pte.h
        src/sys/arch/usermode/usermode: db_memrw.c
        src/sys/arch/x86/acpi: acpi_machdep.c
        src/sys/arch/x86/include: pmap.h pmap_pv.h specialreg.h
        src/sys/arch/x86/x86: cpu.c db_memrw.c kgdb_machdep.c lapic.c pmap.c
            svs.c
        src/sys/arch/xen/x86: cpu.c x86_xpmap.c xen_pmap.c
        src/sys/arch/xen/xen: if_xennet_xenbus.c xen_machdep.c
            xennetback_xenbus.c

Log Message:
Start replacing the x86 PTE bits.


To generate a diff of this commit:
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/amd64/amd64/db_disasm.c
cvs rdiff -u -r1.46 -r1.47 src/sys/arch/amd64/amd64/gdt.c
cvs rdiff -u -r1.179 -r1.180 src/sys/arch/amd64/amd64/locore.S
cvs rdiff -u -r1.326 -r1.327 src/sys/arch/amd64/amd64/machdep.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/amd64/include/asan.h
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/amd64/include/pte.h
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/amd64/stand/prekern/locore.S
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/amd64/stand/prekern/mm.c
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/i386/i386/db_disasm.c
cvs rdiff -u -r1.69 -r1.70 src/sys/arch/i386/i386/gdt.c
cvs rdiff -u -r1.112 -r1.113 src/sys/arch/i386/i386/genassym.cf
cvs rdiff -u -r1.165 -r1.166 src/sys/arch/i386/i386/locore.S
cvs rdiff -u -r1.817 -r1.818 src/sys/arch/i386/i386/machdep.c
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/i386/include/pte.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/usermode/usermode/db_memrw.c
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/x86/acpi/acpi_machdep.c
cvs rdiff -u -r1.98 -r1.99 src/sys/arch/x86/include/pmap.h
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/x86/include/pmap_pv.h
cvs rdiff -u -r1.141 -r1.142 src/sys/arch/x86/include/specialreg.h
cvs rdiff -u -r1.167 -r1.168 src/sys/arch/x86/x86/cpu.c
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/x86/x86/db_memrw.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/x86/x86/kgdb_machdep.c
cvs rdiff -u -r1.70 -r1.71 src/sys/arch/x86/x86/lapic.c
cvs rdiff -u -r1.328 -r1.329 src/sys/arch/x86/x86/pmap.c
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/x86/x86/svs.c
cvs rdiff -u -r1.128 -r1.129 src/sys/arch/xen/x86/cpu.c
cvs rdiff -u -r1.83 -r1.84 src/sys/arch/xen/x86/x86_xpmap.c
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/xen/x86/xen_pmap.c
cvs rdiff -u -r1.85 -r1.86 src/sys/arch/xen/xen/if_xennet_xenbus.c
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/xen/xen/xen_machdep.c
cvs rdiff -u -r1.74 -r1.75 src/sys/arch/xen/xen/xennetback_xenbus.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/amd64/db_disasm.c
diff -u src/sys/arch/amd64/amd64/db_disasm.c:1.26 src/sys/arch/amd64/amd64/db_disasm.c:1.27
--- src/sys/arch/amd64/amd64/db_disasm.c:1.26	Sun Feb  3 03:19:26 2019
+++ src/sys/arch/amd64/amd64/db_disasm.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_disasm.c,v 1.26 2019/02/03 03:19:26 mrg Exp $	*/
+/*	$NetBSD: db_disasm.c,v 1.27 2019/03/09 08:42:25 maxv Exp $	*/
 
 /* 
  * Mach Operating System
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_disasm.c,v 1.26 2019/02/03 03:19:26 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_disasm.c,v 1.27 2019/03/09 08:42:25 maxv Exp $");
 
 #ifndef _KERNEL
 #include <sys/types.h>
@@ -1212,7 +1212,7 @@ db_disasm(db_addr_t loc, bool altfmt)
 	else
 		pde = vtopte((vaddr_t)pte);
 
-	if ((*pde & PG_V) == 0 || (*pte & PG_V) == 0) {
+	if ((*pde & PTE_P) == 0 || (*pte & PTE_P) == 0) {
 		db_printf("invalid address\n");
 		return (loc);
 	}

Index: src/sys/arch/amd64/amd64/gdt.c
diff -u src/sys/arch/amd64/amd64/gdt.c:1.46 src/sys/arch/amd64/amd64/gdt.c:1.47
--- src/sys/arch/amd64/amd64/gdt.c:1.46	Mon Feb 11 14:59:32 2019
+++ src/sys/arch/amd64/amd64/gdt.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: gdt.c,v 1.46 2019/02/11 14:59:32 cherry Exp $	*/
+/*	$NetBSD: gdt.c,v 1.47 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 1996, 1997, 2009 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.46 2019/02/11 14:59:32 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.47 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_multiprocessor.h"
 #include "opt_xen.h"
@@ -330,7 +330,7 @@ lgdt(struct region_descriptor *desc)
 		va = desc->rd_base + (i << PAGE_SHIFT);
 		frames[i] = ((paddr_t)xpmap_ptetomach((pt_entry_t *)va)) >>
 		    PAGE_SHIFT;
-		pmap_pte_clearbits(kvtopte(va), PG_RW);
+		pmap_pte_clearbits(kvtopte(va), PTE_W);
 	}
 
 	if (HYPERVISOR_set_gdt(frames, (desc->rd_limit + 1) >> 3))

Index: src/sys/arch/amd64/amd64/locore.S
diff -u src/sys/arch/amd64/amd64/locore.S:1.179 src/sys/arch/amd64/amd64/locore.S:1.180
--- src/sys/arch/amd64/amd64/locore.S:1.179	Thu Mar  7 13:26:24 2019
+++ src/sys/arch/amd64/amd64/locore.S	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.179 2019/03/07 13:26:24 maxv Exp $	*/
+/*	$NetBSD: locore.S,v 1.180 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright-o-rama!
@@ -187,8 +187,8 @@
 #define	_RELOC(x)	((x) - KERNBASE)
 #define	RELOC(x)	_RELOC(_C_LABEL(x))
 
-/* 32bit version of PG_NX */
-#define PG_NX32	0x80000000
+/* 32bit version of PTE_NX */
+#define PTE_NX32	0x80000000
 
 #if L2_SLOT_KERNBASE > 0
 #define TABLE_L2_ENTRIES (2 * (NKL2_KIMG_ENTRIES + 1))
@@ -307,7 +307,7 @@
 	ELFNOTE(Xen, XEN_ELFNOTE_HV_START_LOW,   .quad,  HYPERVISOR_VIRT_START)
 	ELFNOTE(Xen, XEN_ELFNOTE_FEATURES,       .asciz, "")
 	ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE,       .asciz, "yes")
-	ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID,   .long,  PG_V, PG_V)\
+	ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID,   .long,  PTE_P, PTE_P)\
 	ELFNOTE(Xen, XEN_ELFNOTE_LOADER,         .asciz, "generic")     
 	ELFNOTE(Xen, XEN_ELFNOTE_SUSPEND_CANCEL, .long,  0)
 #if NKSYMS > 0 || defined(DDB) || defined(MODULAR)
@@ -586,13 +586,13 @@ ENTRY(start)
 	movl	$RELOC(tmpstk),%esp
 
 	/*
-	 * Retrieve the NX/XD flag. We use the 32bit version of PG_NX.
+	 * Retrieve the NX/XD flag. We use the 32bit version of PTE_NX.
 	 */
 	movl	$0x80000001,%eax
 	cpuid
 	andl	$CPUID_NOX,%edx
 	jz	.Lno_NOX
-	movl	$PG_NX32,RELOC(nox_flag)
+	movl	$PTE_NX32,RELOC(nox_flag)
 .Lno_NOX:
 
 /*
@@ -680,7 +680,7 @@ ENTRY(start)
 	movl	$RELOC(__rodata_start),%ecx
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V),%eax
+	orl	$(PTE_P),%eax
 	fillkpt
 
 	/* Map the kernel rodata R. */
@@ -688,7 +688,7 @@ ENTRY(start)
 	movl	$RELOC(__data_start),%ecx
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V),%eax
+	orl	$(PTE_P),%eax
 	fillkpt_nox
 
 	/* Map the kernel data+bss RW. */
@@ -696,7 +696,7 @@ ENTRY(start)
 	movl	$RELOC(__kernel_end),%ecx
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	fillkpt_nox
 
 	/* Map [SYMS]+[PRELOADED MODULES] RW. */
@@ -704,21 +704,21 @@ ENTRY(start)
 	movl	%esi,%ecx		/* start of BOOTSTRAP TABLES */
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	fillkpt_nox
 
 	/* Map the BOOTSTRAP TABLES RW. */
 	movl	%esi,%eax		/* start of BOOTSTRAP TABLES */
 	movl	$TABLESIZE,%ecx		/* length of BOOTSTRAP TABLES */
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	fillkpt_nox
 
 	/* We are on (4). Map ISA I/O MEM RW. */
 	movl	$IOM_BEGIN,%eax
 	movl	$IOM_SIZE,%ecx	/* size of ISA I/O MEM */
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW/*|PG_N*/),%eax
+	orl	$(PTE_P|PTE_W/*|PTE_PCD*/),%eax
 	fillkpt_nox
 
 	/*
@@ -726,7 +726,7 @@ ENTRY(start)
 	 */
 	leal	(PROC0_PTP2_OFF)(%esi),%ebx
 	leal	(PROC0_PTP1_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$(NKL2_KIMG_ENTRIES+1),%ecx
 	fillkpt
 
@@ -734,7 +734,7 @@ ENTRY(start)
 	/* If needed, set up level 2 entries for actual kernel mapping */
 	leal	(PROC0_PTP2_OFF + L2_SLOT_KERNBASE * PDE_SIZE)(%esi),%ebx
 	leal	(PROC0_PTP1_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$(NKL2_KIMG_ENTRIES+1),%ecx
 	fillkpt
 #endif
@@ -744,7 +744,7 @@ ENTRY(start)
 	 */
 	leal	(PROC0_PTP3_OFF)(%esi),%ebx
 	leal	(PROC0_PTP2_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$NKL3_KIMG_ENTRIES,%ecx
 	fillkpt
 
@@ -752,7 +752,7 @@ ENTRY(start)
 	/* If needed, set up level 3 entries for actual kernel mapping */
 	leal	(PROC0_PTP3_OFF + L3_SLOT_KERNBASE * PDE_SIZE)(%esi),%ebx
 	leal	(PROC0_PTP2_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$NKL3_KIMG_ENTRIES,%ecx
 	fillkpt
 #endif
@@ -762,14 +762,14 @@ ENTRY(start)
 	 */
 	leal	(PROC0_PML4_OFF)(%esi),%ebx
 	leal	(PROC0_PTP3_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$NKL4_KIMG_ENTRIES,%ecx
 	fillkpt
 
 	/* Set up L4 entries for actual kernel mapping */
 	leal	(PROC0_PML4_OFF + L4_SLOT_KERNBASE * PDE_SIZE)(%esi),%ebx
 	leal	(PROC0_PTP3_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$NKL4_KIMG_ENTRIES,%ecx
 	fillkpt
 

Index: src/sys/arch/amd64/amd64/machdep.c
diff -u src/sys/arch/amd64/amd64/machdep.c:1.326 src/sys/arch/amd64/amd64/machdep.c:1.327
--- src/sys/arch/amd64/amd64/machdep.c:1.326	Thu Feb 14 08:18:25 2019
+++ src/sys/arch/amd64/amd64/machdep.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.326 2019/02/14 08:18:25 cherry Exp $	*/
+/*	$NetBSD: machdep.c,v 1.327 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 1996, 1997, 1998, 2000, 2006, 2007, 2008, 2011
@@ -110,7 +110,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.326 2019/02/14 08:18:25 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.327 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_modular.h"
 #include "opt_user_ldt.h"
@@ -1589,8 +1589,8 @@ init_pte(void)
 #ifndef XENPV
 	extern uint32_t nox_flag;
 	pd_entry_t *pdir = (pd_entry_t *)bootspace.pdir;
-	pdir[L4_SLOT_PTE] = PDPpaddr | PG_KW | ((uint64_t)nox_flag << 32) |
-	    PG_V;
+	pdir[L4_SLOT_PTE] = PDPpaddr | PTE_W | ((uint64_t)nox_flag << 32) |
+	    PTE_P;
 #endif
 
 	extern pd_entry_t *normal_pdes[3];

Index: src/sys/arch/amd64/include/asan.h
diff -u src/sys/arch/amd64/include/asan.h:1.2 src/sys/arch/amd64/include/asan.h:1.3
--- src/sys/arch/amd64/include/asan.h:1.2	Mon Feb  4 15:07:34 2019
+++ src/sys/arch/amd64/include/asan.h	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: asan.h,v 1.2 2019/02/04 15:07:34 maxv Exp $	*/
+/*	$NetBSD: asan.h,v 1.3 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -102,19 +102,19 @@ kasan_md_shadow_map_page(vaddr_t va)
 
 	if (!pmap_valid_entry(L4_BASE[pl4_i(va)])) {
 		pa = __md_palloc();
-		L4_BASE[pl4_i(va)] = pa | PG_KW | pmap_pg_nx | PG_V;
+		L4_BASE[pl4_i(va)] = pa | PTE_W | pmap_pg_nx | PTE_P;
 	}
 	if (!pmap_valid_entry(L3_BASE[pl3_i(va)])) {
 		pa = __md_palloc();
-		L3_BASE[pl3_i(va)] = pa | PG_KW | pmap_pg_nx | PG_V;
+		L3_BASE[pl3_i(va)] = pa | PTE_W | pmap_pg_nx | PTE_P;
 	}
 	if (!pmap_valid_entry(L2_BASE[pl2_i(va)])) {
 		pa = __md_palloc();
-		L2_BASE[pl2_i(va)] = pa | PG_KW | pmap_pg_nx | PG_V;
+		L2_BASE[pl2_i(va)] = pa | PTE_W | pmap_pg_nx | PTE_P;
 	}
 	if (!pmap_valid_entry(L1_BASE[pl1_i(va)])) {
 		pa = __md_palloc();
-		L1_BASE[pl1_i(va)] = pa | PG_KW | pmap_pg_g | pmap_pg_nx | PG_V;
+		L1_BASE[pl1_i(va)] = pa | PTE_W | pmap_pg_g | pmap_pg_nx | PTE_P;
 	}
 }
 

Index: src/sys/arch/amd64/include/pte.h
diff -u src/sys/arch/amd64/include/pte.h:1.11 src/sys/arch/amd64/include/pte.h:1.12
--- src/sys/arch/amd64/include/pte.h:1.11	Thu Mar  7 14:40:35 2019
+++ src/sys/arch/amd64/include/pte.h	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: pte.h,v 1.11 2019/03/07 14:40:35 maxv Exp $	*/
+/*	$NetBSD: pte.h,v 1.12 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -120,30 +120,27 @@ typedef uint64_t pt_entry_t;		/* PTE */
 #define PTE_FRAME	PTE_4KFRAME
 #define PTE_LGFRAME	PTE_2MFRAME
 
-/*
- * PDE/PTE bits. These are no different from their i386 counterparts.
- * XXX To be deleted.
- */
-#define PG_V		0x0000000000000001	/* valid */
-#define PG_RW		0x0000000000000002	/* read-write */
-#define PG_u		0x0000000000000004	/* user accessible */
-#define PG_WT		0x0000000000000008	/* write-through */
-#define PG_N		0x0000000000000010	/* non-cacheable */
-#define PG_U		0x0000000000000020	/* used */
-#define PG_M		0x0000000000000040	/* modified */
-#define PG_PAT		0x0000000000000080	/* PAT (on pte) */
-#define PG_PS		0x0000000000000080	/* 2MB page size (on pde) */
-#define PG_G		0x0000000000000100	/* not flushed */
-#define PG_AVAIL1	0x0000000000000200
-#define PG_AVAIL2	0x0000000000000400
-#define PG_AVAIL3	0x0000000000000800
-#define PG_LGPAT	0x0000000000001000	/* PAT on large pages */
-#define PG_FRAME	0x000ffffffffff000
-#define PG_NX		0x8000000000000000
-#define PG_2MFRAME	0x000fffffffe00000	/* large (2M) page frame mask */
-#define PG_1GFRAME	0x000fffffc0000000	/* large (1G) page frame mask */
-#define PG_LGFRAME	PG_2MFRAME
-#define PG_KW		0x0000000000000002	/* kernel read-write */
+/* XXX To be deleted. */
+#define PG_V		PTE_P
+#define PG_RW		PTE_W
+#define PG_u		PTE_U
+#define PG_WT		PTE_PWT
+#define PG_N		PTE_PCD
+#define PG_U		PTE_A
+#define PG_M		PTE_D
+#define PG_PAT		PTE_PAT
+#define PG_PS		PTE_PS
+#define PG_G		PTE_G
+#define PG_AVAIL1	PTE_AVL1
+#define PG_AVAIL2	PTE_AVL2
+#define PG_AVAIL3	PTE_AVL3
+#define PG_LGPAT	PTE_LGPAT
+#define PG_FRAME	PTE_FRAME
+#define PG_NX		PTE_NX
+#define PG_2MFRAME	PTE_2MFRAME
+#define PG_1GFRAME	PTE_1GFRAME
+#define PG_LGFRAME	PTE_LGFRAME
+#define PG_KW		PTE_W
 
 #include <x86/pte.h>
 

Index: src/sys/arch/amd64/stand/prekern/locore.S
diff -u src/sys/arch/amd64/stand/prekern/locore.S:1.9 src/sys/arch/amd64/stand/prekern/locore.S:1.10
--- src/sys/arch/amd64/stand/prekern/locore.S:1.9	Thu Mar  7 13:26:24 2019
+++ src/sys/arch/amd64/stand/prekern/locore.S	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.9 2019/03/07 13:26:24 maxv Exp $	*/
+/*	$NetBSD: locore.S,v 1.10 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 1998, 2000, 2007, 2008, 2016, 2017 The NetBSD Foundation, Inc.
@@ -51,8 +51,8 @@
 #include "pdir.h"
 #include "redef.h"
 
-/* 32bit version of PG_NX */
-#define PG_NX32	0x80000000
+/* 32bit version of PTE_NX */
+#define PTE_NX32	0x80000000
 
 #define TABLE_L2_ENTRIES (NKL2_KIMG_ENTRIES + 1)
 #define TABLE_L3_ENTRIES NKL3_KIMG_ENTRIES
@@ -326,13 +326,13 @@ ENTRY(start)
 	movl	%eax,_C_LABEL(cpuid_level)
 
 	/*
-	 * Retrieve the NX/XD flag. We use the 32bit version of PG_NX.
+	 * Retrieve the NX/XD flag. We use the 32bit version of PTE_NX.
 	 */
 	movl	$0x80000001,%eax
 	cpuid
 	andl	$CPUID_NOX,%edx
 	jz	.Lno_NOX
-	movl	$PG_NX32,_C_LABEL(nox_flag)
+	movl	$PTE_NX32,_C_LABEL(nox_flag)
 .Lno_NOX:
 
 /*
@@ -424,7 +424,7 @@ ENTRY(start)
 	movl	$_C_LABEL(__rodata_start),%ecx
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V),%eax
+	orl	$(PTE_P),%eax
 	fillkpt
 
 	/* Map the prekern rodata R. */
@@ -432,7 +432,7 @@ ENTRY(start)
 	movl	$_C_LABEL(__data_start),%ecx
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V),%eax
+	orl	$(PTE_P),%eax
 	fillkpt_nox
 
 	/* Map the prekern data+bss RW. */
@@ -440,7 +440,7 @@ ENTRY(start)
 	movl	$_C_LABEL(__prekern_end),%ecx
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	fillkpt_nox
 
 	/* Map a RO view of the kernel. */
@@ -448,21 +448,21 @@ ENTRY(start)
 	movl	%esi,%ecx		/* start of BOOTSTRAP TABLES */
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V),%eax
+	orl	$(PTE_P),%eax
 	fillkpt_nox
 
 	/* Map the BOOTSTRAP TABLES RW. */
 	movl	%esi,%eax		/* start of BOOTSTRAP TABLES */
 	movl	$TABLESIZE,%ecx		/* length of BOOTSTRAP TABLES */
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	fillkpt_nox
 
 	/* Map the ISA I/O MEM RW. */
 	movl	$IOM_BEGIN,%eax
 	movl	$IOM_SIZE,%ecx	/* size of ISA I/O MEM */
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW/*|PG_N*/),%eax
+	orl	$(PTE_P|PTE_W/*|PTE_PCD*/),%eax
 	fillkpt_nox
 
 	/*
@@ -470,7 +470,7 @@ ENTRY(start)
 	 */
 	leal	(PROC0_PTP2_OFF)(%esi),%ebx
 	leal	(PROC0_PTP1_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$(NKL2_KIMG_ENTRIES+1),%ecx
 	fillkpt
 
@@ -479,7 +479,7 @@ ENTRY(start)
 	 */
 	leal	(PROC0_PTP3_OFF)(%esi),%ebx
 	leal	(PROC0_PTP2_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$NKL3_KIMG_ENTRIES,%ecx
 	fillkpt
 
@@ -488,14 +488,14 @@ ENTRY(start)
 	 */
 	leal	(PROC0_PML4_OFF)(%esi),%ebx
 	leal	(PROC0_PTP3_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$NKL4_KIMG_ENTRIES,%ecx
 	fillkpt
 
 	/* Install recursive top level PDE (one entry) */
 	leal	(PROC0_PML4_OFF + PDIR_SLOT_PTE * PDE_SIZE)(%esi),%ebx
 	leal	(PROC0_PML4_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$1,%ecx
 	fillkpt_nox
 

Index: src/sys/arch/amd64/stand/prekern/mm.c
diff -u src/sys/arch/amd64/stand/prekern/mm.c:1.23 src/sys/arch/amd64/stand/prekern/mm.c:1.24
--- src/sys/arch/amd64/stand/prekern/mm.c:1.23	Thu Mar  7 13:26:24 2019
+++ src/sys/arch/amd64/stand/prekern/mm.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: mm.c,v 1.23 2019/03/07 13:26:24 maxv Exp $	*/
+/*	$NetBSD: mm.c,v 1.24 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 2017 The NetBSD Foundation, Inc. All rights reserved.
@@ -44,8 +44,8 @@ static const uint8_t pads[4] = {
 #define MM_PROT_EXECUTE	0x02
 
 static const pt_entry_t protection_codes[3] = {
-	[MM_PROT_READ] = PG_NX,
-	[MM_PROT_WRITE] = PG_RW | PG_NX,
+	[MM_PROT_READ] = PTE_NX,
+	[MM_PROT_WRITE] = PTE_W | PTE_NX,
 	[MM_PROT_EXECUTE] = 0,
 	/* RWX does not exist */
 };
@@ -67,16 +67,16 @@ mm_init(paddr_t first_pa)
 static void
 mm_enter_pa(paddr_t pa, vaddr_t va, pte_prot_t prot)
 {
-	if (PTE_BASE[pl1_i(va)] & PG_V) {
+	if (PTE_BASE[pl1_i(va)] & PTE_P) {
 		fatal("mm_enter_pa: mapping already present");
 	}
-	PTE_BASE[pl1_i(va)] = pa | PG_V | protection_codes[prot];
+	PTE_BASE[pl1_i(va)] = pa | PTE_P | protection_codes[prot];
 }
 
 static void
 mm_reenter_pa(paddr_t pa, vaddr_t va, pte_prot_t prot)
 {
-	PTE_BASE[pl1_i(va)] = pa | PG_V | protection_codes[prot];
+	PTE_BASE[pl1_i(va)] = pa | PTE_P | protection_codes[prot];
 }
 
 static void
@@ -109,7 +109,7 @@ mm_palloc(size_t npages)
 static bool
 mm_pte_is_valid(pt_entry_t pte)
 {
-	return ((pte & PG_V) != 0);
+	return ((pte & PTE_P) != 0);
 }
 
 static void
@@ -124,7 +124,7 @@ mm_mprotect(vaddr_t startva, size_t size
 
 	for (i = 0; i < npages; i++) {
 		va = startva + i * PAGE_SIZE;
-		pa = (PTE_BASE[pl1_i(va)] & PG_FRAME);
+		pa = (PTE_BASE[pl1_i(va)] & PTE_FRAME);
 		mm_reenter_pa(pa, va, prot);
 		mm_flush_va(va);
 	}
@@ -175,7 +175,7 @@ mm_map_tree(vaddr_t startva, vaddr_t end
 	ASSERT(nL4e == 1);
 	if (!mm_pte_is_valid(L4_BASE[L4e_idx])) {
 		pa = mm_palloc(1);
-		L4_BASE[L4e_idx] = pa | PG_V | PG_RW;
+		L4_BASE[L4e_idx] = pa | PTE_P | PTE_W;
 	}
 
 	/* Build L3. */
@@ -186,7 +186,7 @@ mm_map_tree(vaddr_t startva, vaddr_t end
 			continue;
 		}
 		pa = mm_palloc(1);
-		L3_BASE[L3e_idx+i] = pa | PG_V | PG_RW;
+		L3_BASE[L3e_idx+i] = pa | PTE_P | PTE_W;
 	}
 
 	/* Build L2. */
@@ -197,7 +197,7 @@ mm_map_tree(vaddr_t startva, vaddr_t end
 			continue;
 		}
 		pa = mm_palloc(1);
-		L2_BASE[L2e_idx+i] = pa | PG_V | PG_RW;
+		L2_BASE[L2e_idx+i] = pa | PTE_P | PTE_W;
 	}
 }
 

Index: src/sys/arch/i386/i386/db_disasm.c
diff -u src/sys/arch/i386/i386/db_disasm.c:1.47 src/sys/arch/i386/i386/db_disasm.c:1.48
--- src/sys/arch/i386/i386/db_disasm.c:1.47	Wed May 13 02:37:41 2015
+++ src/sys/arch/i386/i386/db_disasm.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_disasm.c,v 1.47 2015/05/13 02:37:41 msaitoh Exp $	*/
+/*	$NetBSD: db_disasm.c,v 1.48 2019/03/09 08:42:25 maxv Exp $	*/
 
 /* 
  * Mach Operating System
@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_disasm.c,v 1.47 2015/05/13 02:37:41 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_disasm.c,v 1.48 2019/03/09 08:42:25 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -1146,7 +1146,7 @@ db_disasm(db_addr_t loc, bool altfmt)
 	else
 		pte = vtopte((vaddr_t)loc);
 	pde = vtopte((vaddr_t)pte);
-	if ((*pde & PG_V) == 0 || (*pte & PG_V) == 0) {
+	if ((*pde & PTE_P) == 0 || (*pte & PTE_P) == 0) {
 		db_printf("invalid address\n");
 		return (loc);
 	}

Index: src/sys/arch/i386/i386/gdt.c
diff -u src/sys/arch/i386/i386/gdt.c:1.69 src/sys/arch/i386/i386/gdt.c:1.70
--- src/sys/arch/i386/i386/gdt.c:1.69	Mon Feb 11 14:59:32 2019
+++ src/sys/arch/i386/i386/gdt.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: gdt.c,v 1.69 2019/02/11 14:59:32 cherry Exp $	*/
+/*	$NetBSD: gdt.c,v 1.70 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 1996, 1997, 2009 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.69 2019/02/11 14:59:32 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.70 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_multiprocessor.h"
 #include "opt_xen.h"
@@ -211,12 +211,12 @@ gdt_init_cpu(struct cpu_info *ci)
 
 		/* 
 		 * Our own
-		 * 	pmap_pte_clearbits(ptp, PG_RW)
+		 * 	pmap_pte_clearbits(ptp, PTE_W)
 		 * but without spl(), since %fs is not set up properly yet; ie
 		 * curcpu() won't work at this point and spl() will break.
 		 */
 		if (HYPERVISOR_update_va_mapping((vaddr_t)va,
-		    *ptp & ~PG_RW, UVMF_INVLPG) < 0) {
+		    *ptp & ~PTE_W, UVMF_INVLPG) < 0) {
 			panic("%s page RO update failed.\n", __func__);
 		}
 	}

Index: src/sys/arch/i386/i386/genassym.cf
diff -u src/sys/arch/i386/i386/genassym.cf:1.112 src/sys/arch/i386/i386/genassym.cf:1.113
--- src/sys/arch/i386/i386/genassym.cf:1.112	Thu Mar  7 13:26:24 2019
+++ src/sys/arch/i386/i386/genassym.cf	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: genassym.cf,v 1.112 2019/03/07 13:26:24 maxv Exp $
+#	$NetBSD: genassym.cf,v 1.113 2019/03/09 08:42:25 maxv Exp $
 
 #
 # Copyright (c) 1998, 2006, 2007, 2008 The NetBSD Foundation, Inc.
@@ -144,6 +144,8 @@ define	KERNTEXTOFF		KERNTEXTOFF
 define	PG_RW			PG_RW
 define	PG_V			PG_V
 define	PG_KW			PG_KW
+define	PTE_P			PTE_P
+define	PTE_W			PTE_W
 define	PGEX_U			PGEX_U
 
 define	L2_SLOT_KERNBASE	pl2_pi(KERNBASE)

Index: src/sys/arch/i386/i386/locore.S
diff -u src/sys/arch/i386/i386/locore.S:1.165 src/sys/arch/i386/i386/locore.S:1.166
--- src/sys/arch/i386/i386/locore.S:1.165	Thu Mar  7 13:26:24 2019
+++ src/sys/arch/i386/i386/locore.S	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.S,v 1.165 2019/03/07 13:26:24 maxv Exp $	*/
+/*	$NetBSD: locore.S,v 1.166 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright-o-rama!
@@ -128,7 +128,7 @@
  */
 
 #include <machine/asm.h>
-__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.165 2019/03/07 13:26:24 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: locore.S,v 1.166 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_copy_symtab.h"
 #include "opt_ddb.h"
@@ -167,8 +167,8 @@ __KERNEL_RCSID(0, "$NetBSD: locore.S,v 1
 #endif /* XENPV */
 #define	RELOC(x)	_RELOC(_C_LABEL(x))
 
-/* 32bit version of PG_NX */
-#define PG_NX32	0x80000000
+/* 32bit version of PTE_NX */
+#define PTE_NX32	0x80000000
 
 #ifndef PAE
 #define	PROC0_PDIR_OFF	0
@@ -551,13 +551,13 @@ try586:	/* Use the `cpuid' instruction. 
 	movl	%eax,RELOC(cpuid_level)
 
 	/*
-	 * Retrieve the NX/XD flag. We use the 32bit version of PG_NX.
+	 * Retrieve the NX/XD flag. We use the 32bit version of PTE_NX.
 	 */
 	movl	$0x80000001,%eax
 	cpuid
 	andl	$CPUID_NOX,%edx
 	jz	no_NOX
-	movl	$PG_NX32,RELOC(nox_flag)
+	movl	$PTE_NX32,RELOC(nox_flag)
 no_NOX:
 
 2:
@@ -693,7 +693,7 @@ no_NOX:
 	movl	$RELOC(__rodata_start),%ecx
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V),%eax
+	orl	$(PTE_P),%eax
 	fillkpt
 
 	/* Map the kernel rodata R. */
@@ -701,7 +701,7 @@ no_NOX:
 	movl	$RELOC(__data_start),%ecx
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V),%eax
+	orl	$(PTE_P),%eax
 	fillkpt_nox
 
 	/* Map the kernel data+bss RW. */
@@ -709,7 +709,7 @@ no_NOX:
 	movl	$RELOC(__kernel_end),%ecx
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	fillkpt_nox
 
 	/* Map [SYMS]+[PRELOADED MODULES] RW. */
@@ -717,21 +717,21 @@ no_NOX:
 	movl	%esi,%ecx		/* start of BOOTSTRAP TABLES */
 	subl	%eax,%ecx
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	fillkpt_nox
 
 	/* Map the BOOTSTRAP TABLES RW. */
 	movl	%esi,%eax		/* start of BOOTSTRAP TABLES */
 	movl	RELOC(tablesize),%ecx	/* length of BOOTSTRAP TABLES */
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	fillkpt_nox
 
 	/* We are on (4). Map ISA I/O MEM RW. */
 	movl	$IOM_BEGIN,%eax
 	movl	$IOM_SIZE,%ecx	/* size of ISA I/O MEM */
 	shrl	$PGSHIFT,%ecx
-	orl	$(PG_V|PG_KW/*|PG_N*/),%eax
+	orl	$(PTE_P|PTE_W/*|PTE_PCD*/),%eax
 	fillkpt_nox
 
 	/*
@@ -739,21 +739,21 @@ no_NOX:
 	 */
 	leal	(PROC0_PDIR_OFF)(%esi),%ebx
 	leal	(PROC0_PTP1_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	RELOC(nkptp)+1*4,%ecx
 	fillkpt
 
 	/* Set up L2 entries for actual kernel mapping */
 	leal	(PROC0_PDIR_OFF + L2_SLOT_KERNBASE * PDE_SIZE)(%esi),%ebx
 	leal	(PROC0_PTP1_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	RELOC(nkptp)+1*4,%ecx
 	fillkpt
 
 	/* Install recursive top level PDE */
 	leal	(PROC0_PDIR_OFF + PDIR_SLOT_PTE * PDE_SIZE)(%esi),%ebx
 	leal	(PROC0_PDIR_OFF)(%esi),%eax
-	orl	$(PG_V|PG_KW),%eax
+	orl	$(PTE_P|PTE_W),%eax
 	movl	$PDP_SIZE,%ecx
 	fillkpt_nox
 
@@ -763,7 +763,7 @@ no_NOX:
 	 */
 	leal	(PROC0_L3_OFF)(%esi),%ebx
 	leal	(PROC0_PDIR_OFF)(%esi),%eax
-	orl	$(PG_V),%eax
+	orl	$(PTE_P),%eax
 	movl	$PDP_SIZE,%ecx
 	fillkpt
 

Index: src/sys/arch/i386/i386/machdep.c
diff -u src/sys/arch/i386/i386/machdep.c:1.817 src/sys/arch/i386/i386/machdep.c:1.818
--- src/sys/arch/i386/i386/machdep.c:1.817	Thu Mar  7 13:26:24 2019
+++ src/sys/arch/i386/i386/machdep.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.817 2019/03/07 13:26:24 maxv Exp $	*/
+/*	$NetBSD: machdep.c,v 1.818 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 1996, 1997, 1998, 2000, 2004, 2006, 2008, 2009, 2017
@@ -67,7 +67,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.817 2019/03/07 13:26:24 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.818 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_beep.h"
 #include "opt_compat_freebsd.h"
@@ -1029,7 +1029,7 @@ initgdt(union descriptor *tgdt)
 		pt_entry_t pte;
 
 		pte = pmap_pa2pte((vaddr_t)gdtstore - KERNBASE);
-		pte |= xpmap_pg_nx | PG_V;
+		pte |= xpmap_pg_nx | PTE_P;
 
 		if (HYPERVISOR_update_va_mapping((vaddr_t)gdtstore, pte,
 		    UVMF_INVLPG) < 0) {
@@ -1262,7 +1262,7 @@ init386(paddr_t first_avail)
 		pt_entry_t pte;
 
 		pte = pmap_pa2pte((vaddr_t)tmpgdt - KERNBASE);
-		pte |= PG_RW | xpmap_pg_nx | PG_V;
+		pte |= PTE_W | xpmap_pg_nx | PTE_P;
 
 		if (HYPERVISOR_update_va_mapping((vaddr_t)tmpgdt, pte, UVMF_INVLPG) < 0) {
 			panic("tmpgdt page relaim RW update failed.\n");

Index: src/sys/arch/i386/include/pte.h
diff -u src/sys/arch/i386/include/pte.h:1.30 src/sys/arch/i386/include/pte.h:1.31
--- src/sys/arch/i386/include/pte.h:1.30	Thu Mar  7 14:40:35 2019
+++ src/sys/arch/i386/include/pte.h	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: pte.h,v 1.30 2019/03/07 14:40:35 maxv Exp $	*/
+/*	$NetBSD: pte.h,v 1.31 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 2001 Wasabi Systems, Inc.
@@ -175,31 +175,23 @@ typedef uint32_t pt_entry_t;		/* PTE */
 #define PTE_NX		0		/* Dummy */
 #endif
 
-/*
- * here we define the bits of the PDE/PTE, as described above:
- * XXXCDC: need to rename these (PG_u == ugly).
- * XXX To be deleted.
- */
-#define PG_V		0x00000001	/* valid entry */
-#define PG_RW		0x00000002	/* read-write page */
-#define PG_u		0x00000004	/* user accessible page */
-#define PG_WT		0x00000008	/* write through */
-#define PG_N		0x00000010	/* non-cacheable */
-#define PG_U		0x00000020	/* has been used */
-#define PG_M		0x00000040	/* has been modified */
-#define PG_PAT		0x00000080	/* PAT (on pte) */
-#define PG_PS		0x00000080	/* 4MB page size (2MB for PAE) */
-#define PG_G		0x00000100	/* global, don't TLB flush */
-#define PG_AVAIL1	0x00000200	/* ignored by hardware */
-#define PG_AVAIL2	0x00000400	/* ignored by hardware */
-#define PG_AVAIL3	0x00000800	/* ignored by hardware */
-#define PG_LGPAT	0x00001000	/* PAT on large pages */
-#define PG_KW		0x00000002	/* kernel read-write */
-#ifdef PAE
-#define PG_NX		0x8000000000000000ULL /* No-execute */
-#else
-#define PG_NX		0		/* dummy */
-#endif
+/* XXX To be deleted. */
+#define PG_V		PTE_P
+#define PG_RW		PTE_W
+#define PG_u		PTE_U
+#define PG_WT		PTE_PWT
+#define PG_N		PTE_PCD
+#define PG_U		PTE_A
+#define PG_M		PTE_D
+#define PG_PAT		PTE_PAT
+#define PG_PS		PTE_PS
+#define PG_G		PTE_G
+#define PG_AVAIL1	PTE_AVL1
+#define PG_AVAIL2	PTE_AVL2
+#define PG_AVAIL3	PTE_AVL3
+#define PG_LGPAT	PTE_LGPAT
+#define PG_KW		PTE_W
+#define PG_NX		PTE_NX
 
 #include <x86/pte.h>
 

Index: src/sys/arch/usermode/usermode/db_memrw.c
diff -u src/sys/arch/usermode/usermode/db_memrw.c:1.4 src/sys/arch/usermode/usermode/db_memrw.c:1.5
--- src/sys/arch/usermode/usermode/db_memrw.c:1.4	Sun Aug  5 18:57:49 2018
+++ src/sys/arch/usermode/usermode/db_memrw.c	Sat Mar  9 08:42:26 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_memrw.c,v 1.4 2018/08/05 18:57:49 reinoud Exp $	*/
+/*	$NetBSD: db_memrw.c,v 1.5 2019/03/09 08:42:26 maxv Exp $	*/
 
 /*-
  * Copyright (c) 1996, 2000 The NetBSD Foundation, Inc.
@@ -53,7 +53,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_memrw.c,v 1.4 2018/08/05 18:57:49 reinoud Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_memrw.c,v 1.5 2019/03/09 08:42:26 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -152,7 +152,7 @@ db_write_text(vaddr_t addr, size_t size,
 		ppte = kvtopte(addr);
 		pte = *ppte;
 
-		if ((pte & PG_V) == 0) {
+		if ((pte & PTE_P) == 0) {
 			printf(" address %p not a valid page\n", dst);
 			return;
 		}
@@ -173,8 +173,7 @@ db_write_text(vaddr_t addr, size_t size,
 		/*
 		 * Make the kernel text page writable.
 		 */
-		pmap_pte_clearbits(ppte, PG_KR);
-		pmap_pte_setbits(ppte, PG_KW);
+		pmap_pte_setbits(ppte, PTE_W);
 		pmap_update_pg(addr);
 
 		/*
@@ -192,8 +191,7 @@ db_write_text(vaddr_t addr, size_t size,
 		/*
 		 * Turn the page back to read-only.
 		 */
-		pmap_pte_clearbits(ppte, PG_KW);
-		pmap_pte_setbits(ppte, PG_KR);
+		pmap_pte_clearbits(ppte, PTE_W);
 		pmap_update_pg(addr);
 
 		/*

Index: src/sys/arch/x86/acpi/acpi_machdep.c
diff -u src/sys/arch/x86/acpi/acpi_machdep.c:1.23 src/sys/arch/x86/acpi/acpi_machdep.c:1.24
--- src/sys/arch/x86/acpi/acpi_machdep.c:1.23	Sun Mar  3 17:33:33 2019
+++ src/sys/arch/x86/acpi/acpi_machdep.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_machdep.c,v 1.23 2019/03/03 17:33:33 maxv Exp $ */
+/* $NetBSD: acpi_machdep.c,v 1.24 2019/03/09 08:42:25 maxv Exp $ */
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_machdep.c,v 1.23 2019/03/03 17:33:33 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_machdep.c,v 1.24 2019/03/09 08:42:25 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -326,7 +326,7 @@ acpi_md_OsReadable(void *Pointer, uint32
 
 	for (; sva < eva; sva += PAGE_SIZE) {
 		pte = kvtopte(sva);
-		if ((*pte & PG_V) == 0) {
+		if ((*pte & PTE_P) == 0) {
 			rv = FALSE;
 			break;
 		}
@@ -350,7 +350,7 @@ acpi_md_OsWritable(void *Pointer, uint32
 
 	for (; sva < eva; sva += PAGE_SIZE) {
 		pte = kvtopte(sva);
-		if ((*pte & (PG_V|PG_RW)) != (PG_V|PG_RW)) {
+		if ((*pte & (PTE_P|PTE_W)) != (PTE_P|PTE_W)) {
 			rv = FALSE;
 			break;
 		}

Index: src/sys/arch/x86/include/pmap.h
diff -u src/sys/arch/x86/include/pmap.h:1.98 src/sys/arch/x86/include/pmap.h:1.99
--- src/sys/arch/x86/include/pmap.h:1.98	Sat Feb 23 10:59:12 2019
+++ src/sys/arch/x86/include/pmap.h	Sat Mar  9 08:42:26 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.h,v 1.98 2019/02/23 10:59:12 maxv Exp $	*/
+/*	$NetBSD: pmap.h,v 1.99 2019/03/09 08:42:26 maxv Exp $	*/
 
 /*
  * Copyright (c) 1997 Charles D. Cranor and Washington University.
@@ -331,7 +331,7 @@ extern long nkptp[PTP_LEVELS];
 #define pmap_move(DP,SP,D,L,S)
 #define pmap_phys_address(ppn)		(x86_ptob(ppn) & ~X86_MMAP_FLAG_MASK)
 #define pmap_mmap_flags(ppn)		x86_mmap_flags(ppn)
-#define pmap_valid_entry(E) 		((E) & PG_V) /* is PDE or PTE valid? */
+#define pmap_valid_entry(E) 		((E) & PTE_P) /* is PDE or PTE valid? */
 
 #if defined(__x86_64__) || defined(PAE)
 #define X86_MMAP_FLAG_SHIFT	(64 - PGSHIFT)

Index: src/sys/arch/x86/include/pmap_pv.h
diff -u src/sys/arch/x86/include/pmap_pv.h:1.4 src/sys/arch/x86/include/pmap_pv.h:1.5
--- src/sys/arch/x86/include/pmap_pv.h:1.4	Fri Feb  1 05:44:29 2019
+++ src/sys/arch/x86/include/pmap_pv.h	Sat Mar  9 08:42:26 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap_pv.h,v 1.4 2019/02/01 05:44:29 maxv Exp $	*/
+/*	$NetBSD: pmap_pv.h,v 1.5 2019/03/09 08:42:26 maxv Exp $	*/
 
 /*-
  * Copyright (c)2008 YAMAMOTO Takashi,
@@ -82,9 +82,9 @@ struct pmap_page {
 #define	pp_link	pp_u.u_link
 	uint8_t pp_flags;
 	uint8_t pp_attrs;
-#define PP_ATTRS_M	0x01	/* saved PG_M */
-#define PP_ATTRS_U	0x02	/* saved PG_U */
-#define PP_ATTRS_W	0x04	/* saved PG_RW */
+#define PP_ATTRS_M	0x01	/* Dirty */
+#define PP_ATTRS_U	0x02	/* Accessed */
+#define PP_ATTRS_W	0x04	/* Writable */
 };
 
 /* pp_flags */

Index: src/sys/arch/x86/include/specialreg.h
diff -u src/sys/arch/x86/include/specialreg.h:1.141 src/sys/arch/x86/include/specialreg.h:1.142
--- src/sys/arch/x86/include/specialreg.h:1.141	Sat Feb 16 12:05:30 2019
+++ src/sys/arch/x86/include/specialreg.h	Sat Mar  9 08:42:26 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: specialreg.h,v 1.141 2019/02/16 12:05:30 maxv Exp $	*/
+/*	$NetBSD: specialreg.h,v 1.142 2019/03/09 08:42:26 maxv Exp $	*/
 
 /*-
  * Copyright (c) 1991 The Regents of the University of California.
@@ -45,7 +45,7 @@
  * Bits in 486 special registers:
  */
 #define CR0_NE	0x00000020	/* Numeric Error enable (EX16 vs IRQ13) */
-#define CR0_WP	0x00010000	/* Write Protect (honor PG_RW in all modes) */
+#define CR0_WP	0x00010000	/* Write Protect (honor PTE_W in all modes) */
 #define CR0_AM	0x00040000	/* Alignment Mask (set to enable AC flag) */
 #define CR0_NW	0x20000000	/* Not Write-through */
 #define CR0_CD	0x40000000	/* Cache Disable */

Index: src/sys/arch/x86/x86/cpu.c
diff -u src/sys/arch/x86/x86/cpu.c:1.167 src/sys/arch/x86/x86/cpu.c:1.168
--- src/sys/arch/x86/x86/cpu.c:1.167	Fri Feb 15 08:54:01 2019
+++ src/sys/arch/x86/x86/cpu.c	Sat Mar  9 08:42:26 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.c,v 1.167 2019/02/15 08:54:01 nonaka Exp $	*/
+/*	$NetBSD: cpu.c,v 1.168 2019/03/09 08:42:26 maxv Exp $	*/
 
 /*
  * Copyright (c) 2000-2012 NetBSD Foundation, Inc.
@@ -62,7 +62,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.167 2019/02/15 08:54:01 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.168 2019/03/09 08:42:26 maxv Exp $");
 
 #include "opt_ddb.h"
 #include "opt_mpbios.h"		/* for MPDEBUG */
@@ -919,7 +919,7 @@ cpu_hatch(void *v)
 #ifdef PAE
 	pd_entry_t * l3_pd = ci->ci_pae_l3_pdir;
 	for (i = 0 ; i < PDP_SIZE; i++) {
-		l3_pd[i] = pmap_kernel()->pm_pdirpa[i] | PG_V;
+		l3_pd[i] = pmap_kernel()->pm_pdirpa[i] | PTE_P;
 	}
 	lcr3(ci->ci_pae_l3_pdirpa);
 #else
@@ -1321,7 +1321,7 @@ cpu_load_pmap(struct pmap *pmap, struct 
 		x86_disable_intr();
 
 	for (i = 0 ; i < PDP_SIZE; i++) {
-		l3_pd[i] = pmap->pm_pdirpa[i] | PG_V;
+		l3_pd[i] = pmap->pm_pdirpa[i] | PTE_P;
 	}
 
 	if (interrupts_enabled)

Index: src/sys/arch/x86/x86/db_memrw.c
diff -u src/sys/arch/x86/x86/db_memrw.c:1.9 src/sys/arch/x86/x86/db_memrw.c:1.10
--- src/sys/arch/x86/x86/db_memrw.c:1.9	Thu Mar  7 13:26:24 2019
+++ src/sys/arch/x86/x86/db_memrw.c	Sat Mar  9 08:42:26 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: db_memrw.c,v 1.9 2019/03/07 13:26:24 maxv Exp $	*/
+/*	$NetBSD: db_memrw.c,v 1.10 2019/03/09 08:42:26 maxv Exp $	*/
 
 /*-
  * Copyright (c) 1996, 2000 The NetBSD Foundation, Inc.
@@ -53,7 +53,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: db_memrw.c,v 1.9 2019/03/07 13:26:24 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: db_memrw.c,v 1.10 2019/03/09 08:42:26 maxv Exp $");
 
 #include <sys/param.h>
 #include <sys/proc.h>
@@ -147,7 +147,7 @@ db_write_text(vaddr_t addr, size_t size,
 		ppte = kvtopte(addr);
 		pte = *ppte;
 
-		if ((pte & PG_V) == 0) {
+		if ((pte & PTE_P) == 0) {
 #ifdef DDB
 			db_printf(" address %p not a valid page\n", dst);
 #endif
@@ -170,7 +170,7 @@ db_write_text(vaddr_t addr, size_t size,
 		/*
 		 * Make the kernel text page writable.
 		 */
-		pmap_pte_setbits(ppte, PG_KW);
+		pmap_pte_setbits(ppte, PTE_W);
 		pmap_update_pg(addr);
 
 		/*
@@ -188,7 +188,7 @@ db_write_text(vaddr_t addr, size_t size,
 		/*
 		 * Turn the page back to read-only.
 		 */
-		pmap_pte_clearbits(ppte, PG_KW);
+		pmap_pte_clearbits(ppte, PTE_W);
 		pmap_update_pg(addr);
 
 		/*

Index: src/sys/arch/x86/x86/kgdb_machdep.c
diff -u src/sys/arch/x86/x86/kgdb_machdep.c:1.3 src/sys/arch/x86/x86/kgdb_machdep.c:1.4
--- src/sys/arch/x86/x86/kgdb_machdep.c:1.3	Sun Sep 17 09:41:35 2017
+++ src/sys/arch/x86/x86/kgdb_machdep.c	Sat Mar  9 08:42:26 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: kgdb_machdep.c,v 1.3 2017/09/17 09:41:35 maxv Exp $	*/
+/*	$NetBSD: kgdb_machdep.c,v 1.4 2019/03/09 08:42:26 maxv Exp $	*/
 
 /*
  * Copyright (c) 1997, 2017 The NetBSD Foundation, Inc.
@@ -56,7 +56,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: kgdb_machdep.c,v 1.3 2017/09/17 09:41:35 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: kgdb_machdep.c,v 1.4 2019/03/09 08:42:26 maxv Exp $");
 
 #include "opt_ddb.h"
 
@@ -91,7 +91,7 @@ kgdb_acc(vaddr_t va, size_t len)
 			pte = vtopte(va);
 		else
 			pte = kvtopte(va);
-		if ((*pte & PG_V) == 0)
+		if ((*pte & PTE_P) == 0)
 			return 0;
 		if (*pte & PG_PS)
 			va = (va & PG_LGFRAME) + NBPD_L2;

Index: src/sys/arch/x86/x86/lapic.c
diff -u src/sys/arch/x86/x86/lapic.c:1.70 src/sys/arch/x86/x86/lapic.c:1.71
--- src/sys/arch/x86/x86/lapic.c:1.70	Sun Feb 17 05:06:16 2019
+++ src/sys/arch/x86/x86/lapic.c	Sat Mar  9 08:42:26 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: lapic.c,v 1.70 2019/02/17 05:06:16 nonaka Exp $	*/
+/*	$NetBSD: lapic.c,v 1.71 2019/03/09 08:42:26 maxv Exp $	*/
 
 /*-
  * Copyright (c) 2000, 2008 The NetBSD Foundation, Inc.
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lapic.c,v 1.70 2019/02/17 05:06:16 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lapic.c,v 1.71 2019/03/09 08:42:26 maxv Exp $");
 
 #include "acpica.h"
 #include "ioapic.h"
@@ -387,7 +387,7 @@ lapic_map(paddr_t lapic_base)
 	 */
 
 	pte = kvtopte(va);
-	*pte = lapic_base | PG_RW | PG_V | PG_N | pmap_pg_g | pmap_pg_nx;
+	*pte = lapic_base | PTE_W | PTE_P | PTE_PCD | pmap_pg_g | pmap_pg_nx;
 	invlpg(va);
 
 #ifdef MULTIPROCESSOR

Index: src/sys/arch/x86/x86/pmap.c
diff -u src/sys/arch/x86/x86/pmap.c:1.328 src/sys/arch/x86/x86/pmap.c:1.329
--- src/sys/arch/x86/x86/pmap.c:1.328	Thu Mar  7 13:26:24 2019
+++ src/sys/arch/x86/x86/pmap.c	Sat Mar  9 08:42:26 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: pmap.c,v 1.328 2019/03/07 13:26:24 maxv Exp $	*/
+/*	$NetBSD: pmap.c,v 1.329 2019/03/09 08:42:26 maxv Exp $	*/
 
 /*
  * Copyright (c) 2008, 2010, 2016, 2017 The NetBSD Foundation, Inc.
@@ -130,7 +130,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.328 2019/03/07 13:26:24 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.329 2019/03/09 08:42:26 maxv Exp $");
 
 #include "opt_user_ldt.h"
 #include "opt_lockdebug.h"
@@ -511,11 +511,11 @@ pmap_stats_update(struct pmap *pmap, int
 static inline void
 pmap_stats_update_bypte(struct pmap *pmap, pt_entry_t npte, pt_entry_t opte)
 {
-	int resid_diff = ((npte & PG_V) ? 1 : 0) - ((opte & PG_V) ? 1 : 0);
+	int resid_diff = ((npte & PTE_P) ? 1 : 0) - ((opte & PTE_P) ? 1 : 0);
 	int wired_diff = ((npte & PG_W) ? 1 : 0) - ((opte & PG_W) ? 1 : 0);
 
-	KASSERT((npte & (PG_V | PG_W)) != PG_W);
-	KASSERT((opte & (PG_V | PG_W)) != PG_W);
+	KASSERT((npte & (PTE_P | PG_W)) != PG_W);
+	KASSERT((opte & (PTE_P | PG_W)) != PG_W);
 
 	pmap_stats_update(pmap, resid_diff, wired_diff);
 }
@@ -833,7 +833,7 @@ pmap_pat_flags(u_int flags)
 			/* results in PGC_UCMINUS on cpus which have
 			 * the cpuid PAT but PAT "disabled"
 			 */
-			return PG_N;
+			return PTE_PCD;
 		default:
 			return 0;
 		}
@@ -888,7 +888,7 @@ pmap_kenter_pa(vaddr_t va, paddr_t pa, v
 	} else
 #endif /* DOM0OPS */
 		npte = pmap_pa2pte(pa);
-	npte |= protection_codes[prot] | PG_V | pmap_pg_g;
+	npte |= protection_codes[prot] | PTE_P | pmap_pg_g;
 	npte |= pmap_pat_flags(flags);
 	opte = pmap_pte_testset(pte, npte); /* zap! */
 
@@ -897,9 +897,9 @@ pmap_kenter_pa(vaddr_t va, paddr_t pa, v
 	 * large pages created are for the kernel image, and they should never
 	 * be kentered.
 	 */
-	KASSERTMSG(!(opte & PG_PS), "PG_PS va=%#"PRIxVADDR, va);
+	KASSERTMSG(!(opte & PTE_PS), "PTE_PS va=%#"PRIxVADDR, va);
 
-	if ((opte & (PG_V | PG_U)) == (PG_V | PG_U)) {
+	if ((opte & (PTE_P | PTE_A)) == (PTE_P | PTE_A)) {
 		/* This should not happen. */
 		printf_nolog("%s: mapping already present\n", __func__);
 		kpreempt_disable();
@@ -932,9 +932,9 @@ pmap_changeprot_local(vaddr_t va, vm_pro
 	npte = opte = *pte;
 
 	if ((prot & VM_PROT_WRITE) != 0)
-		npte |= PG_RW;
+		npte |= PTE_W;
 	else
-		npte &= ~PG_RW;
+		npte &= ~PTE_W;
 
 	if (opte != npte) {
 		pmap_pte_set(pte, npte);
@@ -967,11 +967,11 @@ pmap_kremove1(vaddr_t sva, vsize_t len, 
 	for (va = sva; va < eva; va += PAGE_SIZE) {
 		pte = kvtopte(va);
 		opte = pmap_pte_testset(pte, 0); /* zap! */
-		if ((opte & (PG_V | PG_U)) == (PG_V | PG_U) && !localonly) {
+		if ((opte & (PTE_P | PTE_A)) == (PTE_P | PTE_A) && !localonly) {
 			pmap_tlb_shootdown(pmap_kernel(), va, opte,
 			    TLBSHOOT_KREMOVE);
 		}
-		KASSERTMSG((opte & PG_PS) == 0,
+		KASSERTMSG((opte & PTE_PS) == 0,
 		    "va %#" PRIxVADDR " is a large page", va);
 		KASSERTMSG((opte & PG_PVLIST) == 0,
 		    "va %#" PRIxVADDR " is a pv tracked page", va);
@@ -1053,7 +1053,7 @@ pmap_bootstrap(vaddr_t kva_start)
 	int i;
 	vaddr_t kva;
 
-	pmap_pg_nx = (cpu_feature[2] & CPUID_NOX ? PG_NX : 0);
+	pmap_pg_nx = (cpu_feature[2] & CPUID_NOX ? PTE_NX : 0);
 
 	/*
 	 * Set up our local static global vars that keep track of the usage of
@@ -1071,10 +1071,10 @@ pmap_bootstrap(vaddr_t kva_start)
 	protection_codes[VM_PROT_EXECUTE] = PG_X;
 	protection_codes[VM_PROT_READ] = pmap_pg_nx;
 	protection_codes[VM_PROT_READ|VM_PROT_EXECUTE] = PG_X;
-	protection_codes[VM_PROT_WRITE] = PG_RW | pmap_pg_nx;
-	protection_codes[VM_PROT_WRITE|VM_PROT_EXECUTE] = PG_RW | PG_X;
-	protection_codes[VM_PROT_WRITE|VM_PROT_READ] = PG_RW | pmap_pg_nx;
-	protection_codes[VM_PROT_ALL] = PG_RW | PG_X;
+	protection_codes[VM_PROT_WRITE] = PTE_W | pmap_pg_nx;
+	protection_codes[VM_PROT_WRITE|VM_PROT_EXECUTE] = PTE_W | PG_X;
+	protection_codes[VM_PROT_WRITE|VM_PROT_READ] = PTE_W | pmap_pg_nx;
+	protection_codes[VM_PROT_ALL] = PTE_W | PG_X;
 
 	/*
 	 * Now we init the kernel's pmap.
@@ -1122,9 +1122,9 @@ pmap_bootstrap(vaddr_t kva_start)
 	 * (and happens later)
 	 */
 	if (cpu_feature[0] & CPUID_PGE) {
-		pmap_pg_g = PG_G;		/* enable software */
+		pmap_pg_g = PTE_G;		/* enable software */
 
-		/* add PG_G attribute to already mapped kernel pages */
+		/* add PTE_G attribute to already mapped kernel pages */
 		pmap_remap_global();
 	}
 #endif
@@ -1194,7 +1194,7 @@ pmap_bootstrap(vaddr_t kva_start)
 	memset((void *)(xen_dummy_user_pgd + KERNBASE), 0, PAGE_SIZE);
 	/* Mark read-only */
 	HYPERVISOR_update_va_mapping(xen_dummy_user_pgd + KERNBASE,
-	    pmap_pa2pte(xen_dummy_user_pgd) | PG_V | pmap_pg_nx,
+	    pmap_pa2pte(xen_dummy_user_pgd) | PTE_P | pmap_pg_nx,
 	    UVMF_INVLPG);
 	/* Pin as L4 */
 	xpq_queue_pin_l4_table(xpmap_ptom_masked(xen_dummy_user_pgd));
@@ -1406,7 +1406,7 @@ pmap_init_pcpu(void)
 	size_t size;
 	int i;
 
-	const pd_entry_t pteflags = PG_V | PG_KW | pmap_pg_nx;
+	const pd_entry_t pteflags = PTE_P | PTE_W | pmap_pg_nx;
 
 	size = sizeof(struct pcpu_area);
 
@@ -1424,11 +1424,11 @@ pmap_init_pcpu(void)
 		KASSERT(L4_BASE[L4e_idx+i] == 0);
 
 		pa = pmap_bootstrap_palloc(1);
-		*pte = (pa & PG_FRAME) | pteflags;
+		*pte = (pa & PTE_FRAME) | pteflags;
 		pmap_update_pg(tmpva);
 		memset((void *)tmpva, 0, PAGE_SIZE);
 
-		L4_BASE[L4e_idx+i] = pa | pteflags | PG_U;
+		L4_BASE[L4e_idx+i] = pa | pteflags | PTE_A;
 	}
 
 	/* Build L3 */
@@ -1438,11 +1438,11 @@ pmap_init_pcpu(void)
 		KASSERT(L3_BASE[L3e_idx+i] == 0);
 
 		pa = pmap_bootstrap_palloc(1);
-		*pte = (pa & PG_FRAME) | pteflags;
+		*pte = (pa & PTE_FRAME) | pteflags;
 		pmap_update_pg(tmpva);
 		memset((void *)tmpva, 0, PAGE_SIZE);
 
-		L3_BASE[L3e_idx+i] = pa | pteflags | PG_U;
+		L3_BASE[L3e_idx+i] = pa | pteflags | PTE_A;
 	}
 
 	/* Build L2 */
@@ -1453,11 +1453,11 @@ pmap_init_pcpu(void)
 		KASSERT(L2_BASE[L2e_idx+i] == 0);
 
 		pa = pmap_bootstrap_palloc(1);
-		*pte = (pa & PG_FRAME) | pteflags;
+		*pte = (pa & PTE_FRAME) | pteflags;
 		pmap_update_pg(tmpva);
 		memset((void *)tmpva, 0, PAGE_SIZE);
 
-		L2_BASE[L2e_idx+i] = pa | pteflags | PG_U;
+		L2_BASE[L2e_idx+i] = pa | pteflags | PTE_A;
 	}
 
 	/* Build L1 */
@@ -1503,8 +1503,8 @@ pmap_init_directmap(struct pmap *kpm)
 	phys_ram_seg_t *mc;
 	int i;
 
-	const pd_entry_t pteflags = PG_V | PG_KW | pmap_pg_nx;
-	const pd_entry_t holepteflags = PG_V | pmap_pg_nx;
+	const pd_entry_t pteflags = PTE_P | PTE_W | pmap_pg_nx;
+	const pd_entry_t holepteflags = PTE_P | pmap_pg_nx;
 
 	CTASSERT(NL4_SLOT_DIRECT * NBPD_L4 == MAXPHYSMEM);
 
@@ -1540,11 +1540,11 @@ pmap_init_directmap(struct pmap *kpm)
 		KASSERT(L4_BASE[L4e_idx+i] == 0);
 
 		pa = pmap_bootstrap_palloc(1);
-		*pte = (pa & PG_FRAME) | pteflags;
+		*pte = (pa & PTE_FRAME) | pteflags;
 		pmap_update_pg(tmpva);
 		memset((void *)tmpva, 0, PAGE_SIZE);
 
-		L4_BASE[L4e_idx+i] = pa | pteflags | PG_U;
+		L4_BASE[L4e_idx+i] = pa | pteflags | PTE_A;
 	}
 
 	/* Build L3 */
@@ -1554,11 +1554,11 @@ pmap_init_directmap(struct pmap *kpm)
 		KASSERT(L3_BASE[L3e_idx+i] == 0);
 
 		pa = pmap_bootstrap_palloc(1);
-		*pte = (pa & PG_FRAME) | pteflags;
+		*pte = (pa & PTE_FRAME) | pteflags;
 		pmap_update_pg(tmpva);
 		memset((void *)tmpva, 0, PAGE_SIZE);
 
-		L3_BASE[L3e_idx+i] = pa | pteflags | PG_U;
+		L3_BASE[L3e_idx+i] = pa | pteflags | PTE_A;
 	}
 
 	/* Build L2 */
@@ -1570,11 +1570,11 @@ pmap_init_directmap(struct pmap *kpm)
 		pa = (paddr_t)(i * NBPD_L2);
 
 		if (spahole <= pa && pa < epahole) {
-			L2_BASE[L2e_idx+i] = pa | holepteflags | PG_U |
-			    PG_PS | pmap_pg_g;
+			L2_BASE[L2e_idx+i] = pa | holepteflags | PTE_A |
+			    PTE_PS | pmap_pg_g;
 		} else {
-			L2_BASE[L2e_idx+i] = pa | pteflags | PG_U |
-			    PG_PS | pmap_pg_g;
+			L2_BASE[L2e_idx+i] = pa | pteflags | PTE_A |
+			    PTE_PS | pmap_pg_g;
 		}
 	}
 
@@ -1590,7 +1590,7 @@ pmap_init_directmap(struct pmap *kpm)
 
 #if !defined(XENPV)
 /*
- * Remap all of the virtual pages created so far with the PG_G bit.
+ * Remap all of the virtual pages created so far with the PTE_G bit.
  */
 static void
 pmap_remap_global(void)
@@ -1660,7 +1660,7 @@ pmap_remap_largepages(void)
 		pa = roundup(bootspace.segs[i].pa, NBPD_L2);
 		for (/* */; kva < kva_end; kva += NBPD_L2, pa += NBPD_L2) {
 			pde = &L2_BASE[pl2_i(kva)];
-			*pde = pa | pmap_pg_g | PG_PS | PG_V;
+			*pde = pa | pmap_pg_g | PTE_PS | PTE_P;
 			tlbflushg();
 		}
 	}
@@ -1679,7 +1679,7 @@ pmap_remap_largepages(void)
 		pa = roundup(bootspace.segs[i].pa, NBPD_L2);
 		for (/* */; kva < kva_end; kva += NBPD_L2, pa += NBPD_L2) {
 			pde = &L2_BASE[pl2_i(kva)];
-			*pde = pa | pmap_pg_g | PG_PS | pmap_pg_nx | PG_V;
+			*pde = pa | pmap_pg_g | PTE_PS | pmap_pg_nx | PTE_P;
 			tlbflushg();
 		}
 	}
@@ -1698,7 +1698,7 @@ pmap_remap_largepages(void)
 		pa = roundup(bootspace.segs[i].pa, NBPD_L2);
 		for (/* */; kva < kva_end; kva += NBPD_L2, pa += NBPD_L2) {
 			pde = &L2_BASE[pl2_i(kva)];
-			*pde = pa | pmap_pg_g | PG_PS | pmap_pg_nx | PG_KW | PG_V;
+			*pde = pa | pmap_pg_g | PTE_PS | pmap_pg_nx | PTE_W | PTE_P;
 			tlbflushg();
 		}
 	}
@@ -2147,7 +2147,7 @@ pmap_get_ptp(struct pmap *pmap, vaddr_t 
 		pmap->pm_ptphint[i - 2] = ptp;
 		pa = VM_PAGE_TO_PHYS(ptp);
 		pmap_pte_set(&pva[index], (pd_entry_t)
-		    (pmap_pa2pte(pa) | PG_u | PG_RW | PG_V));
+		    (pmap_pa2pte(pa) | PTE_U | PTE_W | PTE_P));
 
 		/*
 		 * On Xen-amd64 or SVS, we need to sync the top level page
@@ -2241,10 +2241,10 @@ pmap_pdp_ctor(void *arg, void *v, int fl
 	 * don't put kernel mappings on Xen.
 	 *
 	 * But we need to make pmap_create() happy, so put a dummy
-	 * (without PG_V) value at the right place.
+	 * (without PTE_P) value at the right place.
 	 */
 	pdir[PDIR_SLOT_KERN + nkptp[PTP_LEVELS - 1] - 1] =
-	     (pd_entry_t)-1 & PG_FRAME;
+	     (pd_entry_t)-1 & PTE_FRAME;
 #else /* XENPV && __x86_64__*/
 	object = (vaddr_t)v;
 	for (i = 0; i < PDP_SIZE; i++, object += PAGE_SIZE) {
@@ -2252,10 +2252,10 @@ pmap_pdp_ctor(void *arg, void *v, int fl
 		(void)pmap_extract(pmap_kernel(), object, &pdirpa);
 
 		/* Put in recursive PDE to map the PTEs */
-		pdir[PDIR_SLOT_PTE + i] = pmap_pa2pte(pdirpa) | PG_V |
+		pdir[PDIR_SLOT_PTE + i] = pmap_pa2pte(pdirpa) | PTE_P |
 		    pmap_pg_nx;
 #ifndef XENPV
-		pdir[PDIR_SLOT_PTE + i] |= PG_KW;
+		pdir[PDIR_SLOT_PTE + i] |= PTE_W;
 #endif
 	}
 
@@ -2338,7 +2338,7 @@ pmap_pdp_dtor(void *arg, void *v)
 	for (i = 0; i < PDP_SIZE; i++, object += PAGE_SIZE) {
 		/* Set page RW again */
 		pte = kvtopte(object);
-		pmap_pte_set(pte, *pte | PG_RW);
+		pmap_pte_set(pte, *pte | PTE_W);
 		xen_bcast_invlpg((vaddr_t)object);
 	}
 	splx(s);
@@ -3041,7 +3041,7 @@ pmap_pdes_invalid(vaddr_t va, pd_entry_t
 	for (i = PTP_LEVELS; i > 1; i--) {
 		index = pl_i(va, i);
 		pde = pdes[i - 2][index];
-		if ((pde & PG_V) == 0)
+		if ((pde & PTE_P) == 0)
 			return i;
 	}
 	if (lastpde != NULL)
@@ -3103,10 +3103,10 @@ pmap_extract(struct pmap *pmap, vaddr_t 
 	}
 	if (pmap_pdes_valid(va, pdes, &pde)) {
 		pte = ptes[pl1_i(va)];
-		if (pde & PG_PS) {
-			pa = (pde & PG_LGFRAME) | (va & (NBPD_L2 - 1));
+		if (pde & PTE_PS) {
+			pa = (pde & PTE_LGFRAME) | (va & (NBPD_L2 - 1));
 			rv = true;
-		} else if (__predict_true((pte & PG_V) != 0)) {
+		} else if (__predict_true((pte & PTE_P) != 0)) {
 			pa = pmap_pte2pa(pte) | (va & (NBPD_L1 - 1));
 			rv = true;
 		}
@@ -3178,7 +3178,7 @@ pmap_zero_page(paddr_t pa)
 	pt_entry_t *zpte;
 	vaddr_t zerova;
 
-	const pd_entry_t pteflags = PG_V | PG_RW | pmap_pg_nx | PG_M | PG_U;
+	const pd_entry_t pteflags = PTE_P | PTE_W | pmap_pg_nx | PTE_D | PTE_A;
 
 	kpreempt_disable();
 
@@ -3220,7 +3220,7 @@ pmap_pageidlezero(paddr_t pa)
 	vaddr_t zerova;
 	bool rv;
 
-	const pd_entry_t pteflags = PG_V | PG_RW | pmap_pg_nx | PG_M | PG_U;
+	const pd_entry_t pteflags = PTE_P | PTE_W | pmap_pg_nx | PTE_D | PTE_A;
 
 	ci = curcpu();
 	zerova = ci->vpage[VPAGE_ZER];
@@ -3263,7 +3263,7 @@ pmap_copy_page(paddr_t srcpa, paddr_t ds
 	pt_entry_t *srcpte, *dstpte;
 	vaddr_t srcva, dstva;
 
-	const pd_entry_t pteflags = PG_V | PG_RW | pmap_pg_nx | PG_U;
+	const pd_entry_t pteflags = PTE_P | PTE_W | pmap_pg_nx | PTE_A;
 
 	kpreempt_disable();
 
@@ -3276,7 +3276,7 @@ pmap_copy_page(paddr_t srcpa, paddr_t ds
 	KASSERT(*srcpte == 0 && *dstpte == 0);
 
 	pmap_pte_set(srcpte, pmap_pa2pte(srcpa) | pteflags);
-	pmap_pte_set(dstpte, pmap_pa2pte(dstpa) | pteflags | PG_M);
+	pmap_pte_set(dstpte, pmap_pa2pte(dstpa) | pteflags | PTE_D);
 	pmap_pte_flush();
 	pmap_update_pg(srcva);
 	pmap_update_pg(dstva);
@@ -3306,9 +3306,9 @@ pmap_map_ptp(struct vm_page *ptp)
 	KASSERT(kpreempt_disabled());
 
 #ifndef XENPV
-	const pd_entry_t pteflags = PG_V | PG_RW | pmap_pg_nx | PG_U | PG_M;
+	const pd_entry_t pteflags = PTE_P | PTE_W | pmap_pg_nx | PTE_A | PTE_D;
 #else
-	const pd_entry_t pteflags = PG_V | pmap_pg_nx | PG_U | PG_M;
+	const pd_entry_t pteflags = PTE_P | pmap_pg_nx | PTE_A | PTE_D;
 #endif
 
 	ci = curcpu();
@@ -3409,11 +3409,11 @@ static inline uint8_t
 pmap_pte_to_pp_attrs(pt_entry_t pte)
 {
 	uint8_t ret = 0;
-	if (pte & PG_M)
+	if (pte & PTE_D)
 		ret |= PP_ATTRS_M;
-	if (pte & PG_U)
+	if (pte & PTE_A)
 		ret |= PP_ATTRS_U;
-	if (pte & PG_RW)
+	if (pte & PTE_W)
 		ret |= PP_ATTRS_W;
 	return ret;
 }
@@ -3423,11 +3423,11 @@ pmap_pp_attrs_to_pte(uint8_t attrs)
 {
 	pt_entry_t pte = 0;
 	if (attrs & PP_ATTRS_M)
-		pte |= PG_M;
+		pte |= PTE_D;
 	if (attrs & PP_ATTRS_U)
-		pte |= PG_U;
+		pte |= PTE_A;
 	if (attrs & PP_ATTRS_W)
-		pte |= PG_RW;
+		pte |= PTE_W;
 	return pte;
 }
 
@@ -3472,11 +3472,11 @@ pmap_remove_pte(struct pmap *pmap, struc
 		 */
 		ptp->wire_count--;
 		if (ptp->wire_count <= 1) {
-			opte |= PG_U;
+			opte |= PTE_A;
 		}
 	}
 
-	if ((opte & PG_U) != 0) {
+	if ((opte & PTE_A) != 0) {
 		pmap_tlb_shootdown(pmap, va, opte, TLBSHOOT_REMOVE_PTE);
 	}
 
@@ -3647,7 +3647,7 @@ pmap_sync_pv(struct pv_pte *pvpte, paddr
 		    optep);
 	}
 
-	expect = pmap_pa2pte(pa) | PG_V;
+	expect = pmap_pa2pte(pa) | PTE_P;
 
 	if (clearbits != ~0) {
 		KASSERT((clearbits & ~(PP_ATTRS_M|PP_ATTRS_U|PP_ATTRS_W)) == 0);
@@ -3657,10 +3657,10 @@ pmap_sync_pv(struct pv_pte *pvpte, paddr
 	ptep = pmap_map_pte(pmap, ptp, va);
 	do {
 		opte = *ptep;
-		KASSERT((opte & (PG_M | PG_U)) != PG_M);
-		KASSERT((opte & (PG_U | PG_V)) != PG_U);
-		KASSERT(opte == 0 || (opte & PG_V) != 0);
-		if ((opte & (PG_FRAME | PG_V)) != expect) {
+		KASSERT((opte & (PTE_D | PTE_A)) != PTE_D);
+		KASSERT((opte & (PTE_A | PTE_P)) != PTE_A);
+		KASSERT(opte == 0 || (opte & PTE_P) != 0);
+		if ((opte & (PTE_FRAME | PTE_P)) != expect) {
 			/*
 			 * We lost a race with a V->P operation like
 			 * pmap_remove().  Wait for the competitor
@@ -3672,7 +3672,7 @@ pmap_sync_pv(struct pv_pte *pvpte, paddr
 			pmap_unmap_pte();
 			if (clearbits != 0) {
 				pmap_tlb_shootdown(pmap, va,
-				    (pmap == pmap_kernel() ? PG_G : 0),
+				    (pmap == pmap_kernel() ? PTE_G : 0),
 				    TLBSHOOT_SYNC_PV1);
 			}
 			return EAGAIN;
@@ -3687,24 +3687,24 @@ pmap_sync_pv(struct pv_pte *pvpte, paddr
 		}
 
 		/*
-		 * We need a shootdown if the PTE is cached (PG_U) ...
-		 * ... Unless we are clearing only the PG_RW bit and
-		 * it isn't cached as RW (PG_M).
+		 * We need a shootdown if the PTE is cached (PTE_A) ...
+		 * ... Unless we are clearing only the PTE_W bit and
+		 * it isn't cached as RW (PTE_D).
 		 */
-		need_shootdown = (opte & PG_U) != 0 &&
-		    !(clearbits == PG_RW && (opte & PG_M) == 0);
+		need_shootdown = (opte & PTE_A) != 0 &&
+		    !(clearbits == PTE_W && (opte & PTE_D) == 0);
 
 		npte = opte & ~clearbits;
 
 		/*
-		 * If we need a shootdown anyway, clear PG_U and PG_M.
+		 * If we need a shootdown anyway, clear PTE_A and PTE_D.
 		 */
 		if (need_shootdown) {
-			npte &= ~(PG_U | PG_M);
+			npte &= ~(PTE_A | PTE_D);
 		}
-		KASSERT((npte & (PG_M | PG_U)) != PG_M);
-		KASSERT((npte & (PG_U | PG_V)) != PG_U);
-		KASSERT(npte == 0 || (opte & PG_V) != 0);
+		KASSERT((npte & (PTE_D | PTE_A)) != PTE_D);
+		KASSERT((npte & (PTE_A | PTE_P)) != PTE_A);
+		KASSERT(npte == 0 || (opte & PTE_P) != 0);
 	} while (pmap_pte_cas(ptep, opte, npte) != opte);
 
 	if (need_shootdown) {
@@ -3989,9 +3989,9 @@ pmap_pv_clear_attrs(paddr_t pa, unsigned
 /*
  * pmap_write_protect: write-protect pages in a pmap.
  *
- * Note for Xen-amd64. Xen automatically adds PG_u to the kernel pages, but we
+ * Note for Xen-amd64. Xen automatically adds PTE_U to the kernel pages, but we
  * don't need to remove this bit when re-entering the PTEs here: Xen tracks the
- * kernel pages with a reserved bit (_PAGE_GUEST_KERNEL), so even if PG_u is
+ * kernel pages with a reserved bit (_PAGE_GUEST_KERNEL), so even if PTE_U is
  * present the page will still be considered as a kernel page, and the privilege
  * separation will be enforced correctly.
  */
@@ -4013,14 +4013,14 @@ pmap_write_protect(struct pmap *pmap, va
 
 	bit_rem = 0;
 	if (!(prot & VM_PROT_WRITE))
-		bit_rem = PG_RW;
+		bit_rem = PTE_W;
 
 	bit_put = 0;
 	if (!(prot & VM_PROT_EXECUTE))
 		bit_put = pmap_pg_nx;
 
-	sva &= PG_FRAME;
-	eva &= PG_FRAME;
+	sva &= PTE_FRAME;
+	eva &= PTE_FRAME;
 
 	/* Acquire pmap. */
 	kpreempt_disable();
@@ -4053,7 +4053,7 @@ pmap_write_protect(struct pmap *pmap, va
 				npte = (opte & ~bit_rem) | bit_put;
 			} while (pmap_pte_cas(spte, opte, npte) != opte);
 
-			if ((opte & PG_M) != 0) {
+			if ((opte & PTE_D) != 0) {
 				vaddr_t tva = x86_ptob(spte - ptes);
 				pmap_tlb_shootdown(pmap, tva, opte,
 				    TLBSHOOT_WRITE_PROTECT);
@@ -4171,20 +4171,20 @@ pmap_enter_ma(struct pmap *pmap, vaddr_t
 	KASSERT(domid == DOMID_SELF || pa == 0);
 #endif
 
-	npte = ma | protection_codes[prot] | PG_V;
+	npte = ma | protection_codes[prot] | PTE_P;
 	npte |= pmap_pat_flags(flags);
 	if (wired)
 	        npte |= PG_W;
 	if (va < VM_MAXUSER_ADDRESS)
-		npte |= PG_u;
+		npte |= PTE_U;
 
 	if (pmap == pmap_kernel())
 		npte |= pmap_pg_g;
 	if (flags & VM_PROT_ALL) {
-		npte |= PG_U;
+		npte |= PTE_A;
 		if (flags & VM_PROT_WRITE) {
-			KASSERT((npte & PG_RW) != 0);
-			npte |= PG_M;
+			KASSERT((npte & PTE_W) != 0);
+			npte |= PTE_D;
 		}
 	}
 
@@ -4265,10 +4265,10 @@ pmap_enter_ma(struct pmap *pmap, vaddr_t
 		opte = *ptep;
 
 		/*
-		 * if the same page, inherit PG_U and PG_M.
+		 * if the same page, inherit PTE_A and PTE_D.
 		 */
-		if (((opte ^ npte) & (PG_FRAME | PG_V)) == 0) {
-			npte |= opte & (PG_U | PG_M);
+		if (((opte ^ npte) & (PTE_FRAME | PTE_P)) == 0) {
+			npte |= opte & (PTE_A | PTE_D);
 		}
 #if defined(XENPV)
 		if (domid != DOMID_SELF) {
@@ -4305,7 +4305,7 @@ pmap_enter_ma(struct pmap *pmap, vaddr_t
 	/*
 	 * If the same page, we can skip pv_entry handling.
 	 */
-	if (((opte ^ npte) & (PG_FRAME | PG_V)) == 0) {
+	if (((opte ^ npte) & (PTE_FRAME | PTE_P)) == 0) {
 		KASSERT(((opte ^ npte) & PG_PVLIST) == 0);
 		goto same_pa;
 	}
@@ -4313,7 +4313,7 @@ pmap_enter_ma(struct pmap *pmap, vaddr_t
 	/*
 	 * If old page is pv-tracked, remove pv_entry from its list.
 	 */
-	if ((~opte & (PG_V | PG_PVLIST)) == 0) {
+	if ((~opte & (PTE_P | PG_PVLIST)) == 0) {
 		if ((old_pg = PHYS_TO_VM_PAGE(oldpa)) != NULL) {
 			KASSERT(uvm_page_locked_p(old_pg));
 			old_pp = VM_PAGE_TO_PP(old_pg);
@@ -4342,8 +4342,8 @@ same_pa:
 	 * shootdown tlb if necessary.
 	 */
 
-	if ((~opte & (PG_V | PG_U)) == 0 &&
-	    ((opte ^ npte) & (PG_FRAME | PG_RW)) != 0) {
+	if ((~opte & (PTE_P | PTE_A)) == 0 &&
+	    ((opte ^ npte) & (PTE_FRAME | PTE_W)) != 0) {
 		pmap_tlb_shootdown(pmap, va, opte, TLBSHOOT_ENTER);
 	}
 
@@ -4389,8 +4389,8 @@ pmap_get_physpage(void)
 		}
 #endif
 		kpreempt_disable();
-		pmap_pte_set(early_zero_pte, pmap_pa2pte(pa) | PG_V |
-		    PG_RW | pmap_pg_nx);
+		pmap_pte_set(early_zero_pte, pmap_pa2pte(pa) | PTE_P |
+		    PTE_W | pmap_pg_nx);
 		pmap_pte_flush();
 		pmap_update_pg((vaddr_t)early_zerop);
 		memset(early_zerop, 0, PAGE_SIZE);
@@ -4448,7 +4448,7 @@ pmap_alloc_level(struct pmap *cpm, vaddr
 
 			KASSERT(!pmap_valid_entry(pdep[i]));
 			pa = pmap_get_physpage();
-			pte = pmap_pa2pte(pa) | PG_V | PG_RW;
+			pte = pmap_pa2pte(pa) | PTE_P | PTE_W;
 			pmap_pte_set(&pdep[i], pte);
 
 #ifdef XENPV
@@ -4765,21 +4765,21 @@ pmap_init_tmp_pgtbl(paddr_t pg)
 	 * 510: unused
 	 * 511: maps 3->4GB (kernel)
 	 */
-	tmp_pml[508] = x86_tmp_pml_paddr[PTP_LEVELS - 1] | PG_V;
+	tmp_pml[508] = x86_tmp_pml_paddr[PTP_LEVELS - 1] | PTE_P;
 	tmp_pml[509] = 0;
 	tmp_pml[510] = 0;
-	tmp_pml[511] = pmap_pdirpa(pmap_kernel(), PDIR_SLOT_KERN) | PG_V;
+	tmp_pml[511] = pmap_pdirpa(pmap_kernel(), PDIR_SLOT_KERN) | PTE_P;
 #endif
 
 	for (level = PTP_LEVELS - 1; level > 0; --level) {
 		tmp_pml = (void *)x86_tmp_pml_vaddr[level];
 
 		tmp_pml[pl_i(pg, level + 1)] =
-		    (x86_tmp_pml_paddr[level - 1] & PG_FRAME) | PG_RW | PG_V;
+		    (x86_tmp_pml_paddr[level - 1] & PTE_FRAME) | PTE_W | PTE_P;
 	}
 
 	tmp_pml = (void *)x86_tmp_pml_vaddr[0];
-	tmp_pml[pl_i(pg, 1)] = (pg & PG_FRAME) | PG_RW | PG_V;
+	tmp_pml[pl_i(pg, 1)] = (pg & PTE_FRAME) | PTE_W | PTE_P;
 
 #ifdef PAE
 	/* Return the PA of the L3 page (entry 508 of the L2 page) */
@@ -5185,9 +5185,9 @@ pmap_ept_enter(struct pmap *pmap, vaddr_
 		opte = *ptep;
 
 		/*
-		 * if the same page, inherit PG_U and PG_M.
+		 * if the same page, inherit PTE_A and PTE_D.
 		 */
-		if (((opte ^ npte) & (PG_FRAME | PG_V)) == 0) {
+		if (((opte ^ npte) & (PG_FRAME | EPT_R)) == 0) {
 			npte |= opte & (EPT_A | EPT_D);
 		}
 	} while (pmap_pte_cas(ptep, opte, npte) != opte);
@@ -5537,9 +5537,9 @@ pmap_ept_sync_pv(struct vm_page *ptp, va
 		}
 
 		/*
-		 * We need a shootdown if the PTE is cached (PG_U) ...
-		 * ... Unless we are clearing only the PG_RW bit and
-		 * it isn't cached as RW (PG_M).
+		 * We need a shootdown if the PTE is cached (EPT_A) ...
+		 * ... Unless we are clearing only the EPT_W bit and
+		 * it isn't cached as RW (EPT_D).
 		 */
 		if (pmap_ept_has_ad) {
 			need_shootdown = (opte & EPT_A) != 0 &&
@@ -5551,7 +5551,7 @@ pmap_ept_sync_pv(struct vm_page *ptp, va
 		npte = opte & ~clearbits;
 
 		/*
-		 * If we need a shootdown anyway, clear PG_U and PG_M.
+		 * If we need a shootdown anyway, clear EPT_A and EPT_D.
 		 */
 		if (need_shootdown) {
 			npte &= ~(EPT_A | EPT_D);

Index: src/sys/arch/x86/x86/svs.c
diff -u src/sys/arch/x86/x86/svs.c:1.22 src/sys/arch/x86/x86/svs.c:1.23
--- src/sys/arch/x86/x86/svs.c:1.22	Thu Dec  6 17:44:28 2018
+++ src/sys/arch/x86/x86/svs.c	Sat Mar  9 08:42:26 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: svs.c,v 1.22 2018/12/06 17:44:28 maxv Exp $	*/
+/*	$NetBSD: svs.c,v 1.23 2019/03/09 08:42:26 maxv Exp $	*/
 
 /*
  * Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: svs.c,v 1.22 2018/12/06 17:44:28 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: svs.c,v 1.23 2019/03/09 08:42:26 maxv Exp $");
 
 #include "opt_svs.h"
 
@@ -256,7 +256,7 @@ svs_tree_add(struct cpu_info *ci, vaddr_
 					__func__, cpu_index(ci));
 			pa = VM_PAGE_TO_PHYS(pg);
 
-			dstpde[pidx] = PG_V | PG_RW | pa;
+			dstpde[pidx] = PTE_P | PTE_W | pa;
 		}
 
 		pa = (paddr_t)(dstpde[pidx] & PG_FRAME);
@@ -370,7 +370,7 @@ svs_utls_init(struct cpu_info *ci)
 	if (pmap_valid_entry(pd[pidx])) {
 		panic("%s: L1 page already mapped", __func__);
 	}
-	pd[pidx] = PG_V | PG_RW | pmap_pg_nx | pa;
+	pd[pidx] = PTE_P | PTE_W | pmap_pg_nx | pa;
 
 	/*
 	 * Now, allocate a VA in the kernel map, that points to the UTLS

Index: src/sys/arch/xen/x86/cpu.c
diff -u src/sys/arch/xen/x86/cpu.c:1.128 src/sys/arch/xen/x86/cpu.c:1.129
--- src/sys/arch/xen/x86/cpu.c:1.128	Sat Feb  2 12:32:55 2019
+++ src/sys/arch/xen/x86/cpu.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.c,v 1.128 2019/02/02 12:32:55 cherry Exp $	*/
+/*	$NetBSD: cpu.c,v 1.129 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -65,7 +65,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.128 2019/02/02 12:32:55 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.129 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_ddb.h"
 #include "opt_multiprocessor.h"
@@ -797,7 +797,7 @@ gdt_prepframes(paddr_t *frames, vaddr_t 
 
 		/* Mark Read-only */
 		pmap_pte_clearbits(kvtopte(base + (i << PAGE_SHIFT)),
-		    PG_RW);
+		    PTE_W);
 	}
 }
 
@@ -1151,7 +1151,7 @@ cpu_load_pmap(struct pmap *pmap, struct 
 	/* don't update the kernel L3 slot */
 	for (i = 0; i < PDP_SIZE - 1; i++) {
 		xpq_queue_pte_update(l3_pd + i * sizeof(pd_entry_t),
-		    xpmap_ptom(pmap->pm_pdirpa[i]) | PG_V);
+		    xpmap_ptom(pmap->pm_pdirpa[i]) | PTE_P);
 	}
 #endif
 
@@ -1213,7 +1213,7 @@ pmap_cpu_init_late(struct cpu_info *ci)
 	/* Initialise L2 entries 0 - 2: Point them to pmap_kernel() */
 	for (i = 0; i < PDP_SIZE - 1; i++) {
 		ci->ci_pae_l3_pdir[i] =
-		    xpmap_ptom_masked(pmap_kernel()->pm_pdirpa[i]) | PG_V;
+		    xpmap_ptom_masked(pmap_kernel()->pm_pdirpa[i]) | PTE_P;
 	}
 #endif
 
@@ -1235,7 +1235,7 @@ pmap_cpu_init_late(struct cpu_info *ci)
 
 	/* Recursive kernel mapping */
 	ci->ci_kpm_pdir[PDIR_SLOT_PTE] = xpmap_ptom_masked(ci->ci_kpm_pdirpa)
-	    | PG_V | xpmap_pg_nx;
+	    | PTE_P | xpmap_pg_nx;
 #else
 	/* Copy over the pmap_kernel() shadow L2 entries */
 	memcpy(ci->ci_kpm_pdir, pmap_kernel()->pm_pdir + PDIR_SLOT_KERN,
@@ -1254,7 +1254,7 @@ pmap_cpu_init_late(struct cpu_info *ci)
 	 * Initialize L3 entry 3. This mapping is shared across all pmaps and is
 	 * static, ie: loading a new pmap will not update this entry.
 	 */
-	ci->ci_pae_l3_pdir[3] = xpmap_ptom_masked(ci->ci_kpm_pdirpa) | PG_V;
+	ci->ci_pae_l3_pdir[3] = xpmap_ptom_masked(ci->ci_kpm_pdirpa) | PTE_P;
 
 	/* Xen wants a RO L3. */
 	pmap_protect(pmap_kernel(), (vaddr_t)ci->ci_pae_l3_pdir,

Index: src/sys/arch/xen/x86/x86_xpmap.c
diff -u src/sys/arch/xen/x86/x86_xpmap.c:1.83 src/sys/arch/xen/x86/x86_xpmap.c:1.84
--- src/sys/arch/xen/x86/x86_xpmap.c:1.83	Thu Mar  7 13:26:24 2019
+++ src/sys/arch/xen/x86/x86_xpmap.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: x86_xpmap.c,v 1.83 2019/03/07 13:26:24 maxv Exp $	*/
+/*	$NetBSD: x86_xpmap.c,v 1.84 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 2017 The NetBSD Foundation, Inc.
@@ -95,7 +95,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: x86_xpmap.c,v 1.83 2019/03/07 13:26:24 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: x86_xpmap.c,v 1.84 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_xen.h"
 #include "opt_ddb.h"
@@ -180,7 +180,7 @@ xen_set_ldt(vaddr_t base, uint32_t entri
 	for (va = base; va < end; va += PAGE_SIZE) {
 		KASSERT(va >= VM_MIN_KERNEL_ADDRESS);
 		ptp = kvtopte(va);
-		pmap_pte_clearbits(ptp, PG_RW);
+		pmap_pte_clearbits(ptp, PTE_W);
 	}
 	s = splvm(); /* XXXSMP */
 	xpq_queue_set_ldt(base, entries);
@@ -681,8 +681,8 @@ xen_bootstrap_tables(vaddr_t old_pgd, va
 
 	/* link L4->L3 */
 	addr = ((u_long)L3) - KERNBASE;
-	L4cpu[pl4_pi(KERNTEXTOFF)] = xpmap_ptom_masked(addr) | PG_V | PG_RW;
-	L4[pl4_pi(KERNTEXTOFF)] = xpmap_ptom_masked(addr) | PG_V | PG_RW;
+	L4cpu[pl4_pi(KERNTEXTOFF)] = xpmap_ptom_masked(addr) | PTE_P | PTE_W;
+	L4[pl4_pi(KERNTEXTOFF)] = xpmap_ptom_masked(addr) | PTE_P | PTE_W;
 
 	/* L2 */
 	L2 = (pd_entry_t *)avail;
@@ -691,7 +691,7 @@ xen_bootstrap_tables(vaddr_t old_pgd, va
 
 	/* link L3->L2 */
 	addr = ((u_long)L2) - KERNBASE;
-	L3[pl3_pi(KERNTEXTOFF)] = xpmap_ptom_masked(addr) | PG_V | PG_RW;
+	L3[pl3_pi(KERNTEXTOFF)] = xpmap_ptom_masked(addr) | PTE_P | PTE_W;
 #else
 	/* no L4 on i386PAE */
 	__USE(L4cpu);
@@ -720,10 +720,10 @@ xen_bootstrap_tables(vaddr_t old_pgd, va
 	 */
 	addr = ((u_long)L2) - KERNBASE;
 	for (i = 0; i < 3; i++, addr += PAGE_SIZE) {
-		L3[i] = xpmap_ptom_masked(addr) | PG_V;
+		L3[i] = xpmap_ptom_masked(addr) | PTE_P;
 	}
 	addr += PAGE_SIZE;
-	L3[3] = xpmap_ptom_masked(addr) | PG_V;
+	L3[3] = xpmap_ptom_masked(addr) | PTE_P;
 #endif
 
 	/* Level 1 */
@@ -767,7 +767,7 @@ xen_bootstrap_tables(vaddr_t old_pgd, va
 			}
 #endif
 
-			pte[pl1_pi(page)] |= PG_V;
+			pte[pl1_pi(page)] |= PTE_P;
 			if (page < (vaddr_t)&__rodata_start) {
 				/* Map the kernel text RX. Nothing to do. */
 			} else if (page >= (vaddr_t)&__rodata_start &&
@@ -795,17 +795,17 @@ xen_bootstrap_tables(vaddr_t old_pgd, va
 			} else if (page >= (vaddr_t)&__data_start &&
 			    page < (vaddr_t)&__kernel_end) {
 				/* Map the kernel data+bss RW. */
-				pte[pl1_pi(page)] |= PG_RW | xpmap_pg_nx;
+				pte[pl1_pi(page)] |= PTE_W | xpmap_pg_nx;
 			} else {
 				/* Map the page RW. */
-				pte[pl1_pi(page)] |= PG_RW | xpmap_pg_nx;
+				pte[pl1_pi(page)] |= PTE_W | xpmap_pg_nx;
 			}
 
 			page += PAGE_SIZE;
 		}
 
 		addr = ((u_long)pte) - KERNBASE;
-		L2[pl2_pi(cur_page)] = xpmap_ptom_masked(addr) | PG_RW | PG_V;
+		L2[pl2_pi(cur_page)] = xpmap_ptom_masked(addr) | PTE_W | PTE_P;
 
 		/* Mark readonly */
 		xen_bt_set_readonly((vaddr_t)pte);
@@ -815,10 +815,10 @@ xen_bootstrap_tables(vaddr_t old_pgd, va
 #ifdef __x86_64__
 	/* Recursive entry in pmap_kernel(). */
 	L4[PDIR_SLOT_PTE] = xpmap_ptom_masked((paddr_t)L4 - KERNBASE)
-	    | PG_V | xpmap_pg_nx;
+	    | PTE_P | xpmap_pg_nx;
 	/* Recursive entry in higher-level per-cpu PD. */
 	L4cpu[PDIR_SLOT_PTE] = xpmap_ptom_masked((paddr_t)L4cpu - KERNBASE)
-	    | PG_V | xpmap_pg_nx;
+	    | PTE_P | xpmap_pg_nx;
 
 	/* Mark tables RO */
 	xen_bt_set_readonly((vaddr_t)L2);
@@ -837,7 +837,7 @@ xen_bootstrap_tables(vaddr_t old_pgd, va
 	 */
 	addr = (u_long)L2 - KERNBASE;
 	for (i = 0; i < 3; i++, addr += PAGE_SIZE) {
-		L2[PDIR_SLOT_PTE + i] = xpmap_ptom_masked(addr) | PG_V |
+		L2[PDIR_SLOT_PTE + i] = xpmap_ptom_masked(addr) | PTE_P |
 		    xpmap_pg_nx;
 	}
 
@@ -888,7 +888,7 @@ xen_bootstrap_tables(vaddr_t old_pgd, va
 		addr = (u_long)L2 - KERNBASE + PAGE_SIZE * 3;
 		xpq_queue_pte_update(
 		    xpmap_ptom(((vaddr_t)&L2[PDIR_SLOT_PTE + 3]) - KERNBASE),
-		    xpmap_ptom_masked(addr) | PG_V);
+		    xpmap_ptom_masked(addr) | PTE_P);
 		xpq_flush_queue();
 #endif
 	}
@@ -907,7 +907,7 @@ xen_bootstrap_tables(vaddr_t old_pgd, va
 	pte += pl1_pi(page);
 	while (page < old_pgd + (old_count * PAGE_SIZE) && page < map_end) {
 		addr = xpmap_ptom(((u_long)pte) - KERNBASE);
-		xpq_queue_pte_update(addr, *pte | PG_RW);
+		xpq_queue_pte_update(addr, *pte | PTE_W);
 		page += PAGE_SIZE;
 		/*
 		 * Our PTEs are contiguous so it's safe to just "++" here.
@@ -926,7 +926,7 @@ xen_bt_set_readonly(vaddr_t page)
 	pt_entry_t entry;
 
 	entry = xpmap_ptom_masked(page - KERNBASE);
-	entry |= PG_V | xpmap_pg_nx;
+	entry |= PTE_P | xpmap_pg_nx;
 
 	HYPERVISOR_update_va_mapping(page, entry, UVMF_INVLPG);
 }

Index: src/sys/arch/xen/x86/xen_pmap.c
diff -u src/sys/arch/xen/x86/xen_pmap.c:1.29 src/sys/arch/xen/x86/xen_pmap.c:1.30
--- src/sys/arch/xen/x86/xen_pmap.c:1.29	Thu Mar  7 13:26:24 2019
+++ src/sys/arch/xen/x86/xen_pmap.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: xen_pmap.c,v 1.29 2019/03/07 13:26:24 maxv Exp $	*/
+/*	$NetBSD: xen_pmap.c,v 1.30 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 2007 Manuel Bouyer.
@@ -101,7 +101,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xen_pmap.c,v 1.29 2019/03/07 13:26:24 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xen_pmap.c,v 1.30 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_user_ldt.h"
 #include "opt_lockdebug.h"
@@ -175,7 +175,7 @@ pmap_kenter_ma(vaddr_t va, paddr_t ma, v
 	else
 		pte = kvtopte(va);
 
-	npte = ma | ((prot & VM_PROT_WRITE) ? PG_RW : 0) | PG_V;
+	npte = ma | ((prot & VM_PROT_WRITE) ? PTE_W : 0) | PTE_P;
 	if (flags & PMAP_NOCACHE)
 		npte |= PG_N;
 
@@ -225,7 +225,7 @@ pmap_extract_ma(struct pmap *pmap, vaddr
 	pmap_unmap_ptes(pmap, pmap2);
 	kpreempt_enable();
 
-	if (__predict_true((pte & PG_V) != 0)) {
+	if (__predict_true((pte & PTE_P) != 0)) {
 		if (pap != NULL)
 			*pap = (pte & PG_FRAME) | (va & (NBPD_L1 - 1));
 		return true;
@@ -274,7 +274,7 @@ pmap_map_recursive_entries(void)
 		for (i = 0; i < PDP_SIZE; i++) {
 			xpq_queue_pte_update(
 			    xpmap_ptom(pmap_pdirpa(pm, PDIR_SLOT_PTE + i)),
-			    xpmap_ptom((pm)->pm_pdirpa[i]) | PG_V);
+			    xpmap_ptom((pm)->pm_pdirpa[i]) | PTE_P);
 		}
 	}
 	mutex_exit(&pmaps_lock);
@@ -282,7 +282,7 @@ pmap_map_recursive_entries(void)
 	for (i = 0; i < PDP_SIZE; i++) {
 		xpq_queue_pte_update(
 		    xpmap_ptom(pmap_pdirpa(pmap_kernel(), PDIR_SLOT_PTE + i)),
-		    xpmap_ptom(pmap_kernel()->pm_pdirpa[i]) | PG_V);
+		    xpmap_ptom(pmap_kernel()->pm_pdirpa[i]) | PTE_P);
 	}
 }
 

Index: src/sys/arch/xen/xen/if_xennet_xenbus.c
diff -u src/sys/arch/xen/xen/if_xennet_xenbus.c:1.85 src/sys/arch/xen/xen/if_xennet_xenbus.c:1.86
--- src/sys/arch/xen/xen/if_xennet_xenbus.c:1.85	Thu Feb 14 08:18:26 2019
+++ src/sys/arch/xen/xen/if_xennet_xenbus.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*      $NetBSD: if_xennet_xenbus.c,v 1.85 2019/02/14 08:18:26 cherry Exp $      */
+/*      $NetBSD: if_xennet_xenbus.c,v 1.86 2019/03/09 08:42:25 maxv Exp $      */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -84,7 +84,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_xennet_xenbus.c,v 1.85 2019/02/14 08:18:26 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_xennet_xenbus.c,v 1.86 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_xen.h"
 #include "opt_nfs_boot.h"
@@ -860,7 +860,7 @@ xennet_free_rx_buffer(struct xennet_xenb
 				mmu[0].ptr = (ma << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE;
 				mmu[0].val = pa >> PAGE_SHIFT;
 				MULTI_update_va_mapping(&mcl[0], va,
-				    (ma << PAGE_SHIFT) | PG_V | PG_KW | xpmap_pg_nx,
+				    (ma << PAGE_SHIFT) | PTE_P | PTE_W | xpmap_pg_nx,
 				    UVMF_TLB_FLUSH|UVMF_ALL);
 				xpmap_ptom_map(pa, ptoa(ma));
 				mcl[1].op = __HYPERVISOR_mmu_update;
@@ -1057,7 +1057,7 @@ again:
 			mmu[0].ptr = (ma << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE;
 			mmu[0].val = pa >> PAGE_SHIFT;
 			MULTI_update_va_mapping(&mcl[0], va,
-			    (ma << PAGE_SHIFT) | PG_V | PG_KW | xpmap_pg_nx,
+			    (ma << PAGE_SHIFT) | PTE_P | PTE_W | xpmap_pg_nx,
 			    UVMF_TLB_FLUSH|UVMF_ALL);
 			xpmap_ptom_map(pa, ptoa(ma));
 			mcl[1].op = __HYPERVISOR_mmu_update;

Index: src/sys/arch/xen/xen/xen_machdep.c
diff -u src/sys/arch/xen/xen/xen_machdep.c:1.21 src/sys/arch/xen/xen/xen_machdep.c:1.22
--- src/sys/arch/xen/xen/xen_machdep.c:1.21	Wed Feb 13 06:52:43 2019
+++ src/sys/arch/xen/xen/xen_machdep.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: xen_machdep.c,v 1.21 2019/02/13 06:52:43 cherry Exp $	*/
+/*	$NetBSD: xen_machdep.c,v 1.22 2019/03/09 08:42:25 maxv Exp $	*/
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -53,7 +53,7 @@
 
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xen_machdep.c,v 1.21 2019/02/13 06:52:43 cherry Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xen_machdep.c,v 1.22 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_xen.h"
 
@@ -334,7 +334,7 @@ xen_prepare_resume(void)
 {
 	/* map the new shared_info page */
 	if (HYPERVISOR_update_va_mapping((vaddr_t)HYPERVISOR_shared_info,
-	    xen_start_info.shared_info | PG_RW | PG_V,
+	    xen_start_info.shared_info | PTE_W | PTE_P,
 	    UVMF_INVLPG)) {
 		DPRINTK(("could not map new shared info page"));
 		HYPERVISOR_crash();

Index: src/sys/arch/xen/xen/xennetback_xenbus.c
diff -u src/sys/arch/xen/xen/xennetback_xenbus.c:1.74 src/sys/arch/xen/xen/xennetback_xenbus.c:1.75
--- src/sys/arch/xen/xen/xennetback_xenbus.c:1.74	Tue Feb  5 06:17:02 2019
+++ src/sys/arch/xen/xen/xennetback_xenbus.c	Sat Mar  9 08:42:25 2019
@@ -1,4 +1,4 @@
-/*      $NetBSD: xennetback_xenbus.c,v 1.74 2019/02/05 06:17:02 msaitoh Exp $      */
+/*      $NetBSD: xennetback_xenbus.c,v 1.75 2019/03/09 08:42:25 maxv Exp $      */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xennetback_xenbus.c,v 1.74 2019/02/05 06:17:02 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xennetback_xenbus.c,v 1.75 2019/03/09 08:42:25 maxv Exp $");
 
 #include "opt_xen.h"
 
@@ -1077,7 +1077,7 @@ xennetback_ifsoftstart_transfer(void *ar
 			 */
 			xpmap_ptom_map(xmit_pa, newp_ma);
 			MULTI_update_va_mapping(mclp, xmit_va,
-			    newp_ma | PG_V | PG_RW | PG_U | PG_M | xpmap_pg_nx, 0);
+			    newp_ma | PTE_P | PTE_W | PTE_A | PTE_D | xpmap_pg_nx, 0);
 			mclp++;
 			gop->mfn = xmit_ma >> PAGE_SHIFT;
 			gop->domid = xneti->xni_domid;
@@ -1268,8 +1268,8 @@ xennetback_mbuf_addr(struct mbuf *m, pad
 		*offset = 0;
 		break;
 	}
-	*offset += (*xmit_pa & ~PG_FRAME);
-	*xmit_pa = (*xmit_pa & PG_FRAME);
+	*offset += (*xmit_pa & ~PTE_FRAME);
+	*xmit_pa = (*xmit_pa & PTE_FRAME);
 }
 
 static void

Reply via email to