Module Name: src Committed By: maxv Date: Wed Oct 30 07:40:06 UTC 2019
Modified Files: src/sys/arch/i386/i386: gdt.c src/sys/arch/x86/x86: pmap.c src/sys/arch/xen/include: xenpmap.h src/sys/arch/xen/x86: x86_xpmap.c xen_pmap.c src/sys/arch/xen/xen: if_xennet_xenbus.c Log Message: Switch to new PTE bits. To generate a diff of this commit: cvs rdiff -u -r1.70 -r1.71 src/sys/arch/i386/i386/gdt.c cvs rdiff -u -r1.336 -r1.337 src/sys/arch/x86/x86/pmap.c cvs rdiff -u -r1.41 -r1.42 src/sys/arch/xen/include/xenpmap.h cvs rdiff -u -r1.84 -r1.85 src/sys/arch/xen/x86/x86_xpmap.c cvs rdiff -u -r1.31 -r1.32 src/sys/arch/xen/x86/xen_pmap.c cvs rdiff -u -r1.86 -r1.87 src/sys/arch/xen/xen/if_xennet_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/i386/i386/gdt.c diff -u src/sys/arch/i386/i386/gdt.c:1.70 src/sys/arch/i386/i386/gdt.c:1.71 --- src/sys/arch/i386/i386/gdt.c:1.70 Sat Mar 9 08:42:25 2019 +++ src/sys/arch/i386/i386/gdt.c Wed Oct 30 07:40:05 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: gdt.c,v 1.70 2019/03/09 08:42:25 maxv Exp $ */ +/* $NetBSD: gdt.c,v 1.71 2019/10/30 07:40:05 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.70 2019/03/09 08:42:25 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: gdt.c,v 1.71 2019/10/30 07:40:05 maxv Exp $"); #include "opt_multiprocessor.h" #include "opt_xen.h" @@ -83,7 +83,7 @@ update_descriptor(union descriptor *tabl pt_entry_t *ptp; ptp = kvtopte((vaddr_t)table); - pa = (*ptp & PG_FRAME) | ((vaddr_t)table & ~PG_FRAME); + pa = (*ptp & PTE_4KFRAME) | ((vaddr_t)table & ~PTE_4KFRAME); if (HYPERVISOR_update_descriptor(pa, entry->raw[0], entry->raw[1])) panic("HYPERVISOR_update_descriptor failed\n"); #endif Index: src/sys/arch/x86/x86/pmap.c diff -u src/sys/arch/x86/x86/pmap.c:1.336 src/sys/arch/x86/x86/pmap.c:1.337 --- src/sys/arch/x86/x86/pmap.c:1.336 Sat Oct 5 07:19:49 2019 +++ src/sys/arch/x86/x86/pmap.c Wed Oct 30 07:40:05 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.c,v 1.336 2019/10/05 07:19:49 maxv Exp $ */ +/* $NetBSD: pmap.c,v 1.337 2019/10/30 07:40:05 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.336 2019/10/05 07:19:49 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.337 2019/10/30 07:40:05 maxv Exp $"); #include "opt_user_ldt.h" #include "opt_lockdebug.h" @@ -747,7 +747,7 @@ pmap_exec_account(struct pmap *pm, vaddr pm != vm_map_pmap(&curproc->p_vmspace->vm_map)) return; - if ((opte ^ npte) & PG_X) + if ((opte ^ npte) & PTE_X) pmap_update_pg(va); /* @@ -757,7 +757,7 @@ pmap_exec_account(struct pmap *pm, vaddr * We can't do that because of locking constraints on the vm map. */ - if ((opte & PG_X) && (npte & PG_X) == 0 && va == pm->pm_hiexec) { + if ((opte & PTE_X) && (npte & PTE_X) == 0 && va == pm->pm_hiexec) { struct trapframe *tf = curlwp->l_md.md_regs; tf->tf_cs = GSEL(GUCODE_SEL, SEL_UPL); @@ -1068,13 +1068,13 @@ pmap_bootstrap(vaddr_t kva_start) * into a x86 PTE. */ protection_codes[VM_PROT_NONE] = pmap_pg_nx; - protection_codes[VM_PROT_EXECUTE] = PG_X; + protection_codes[VM_PROT_EXECUTE] = PTE_X; protection_codes[VM_PROT_READ] = pmap_pg_nx; - protection_codes[VM_PROT_READ|VM_PROT_EXECUTE] = PG_X; + protection_codes[VM_PROT_READ|VM_PROT_EXECUTE] = PTE_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_EXECUTE] = PTE_W | PTE_X; protection_codes[VM_PROT_WRITE|VM_PROT_READ] = PTE_W | pmap_pg_nx; - protection_codes[VM_PROT_ALL] = PTE_W | PG_X; + protection_codes[VM_PROT_ALL] = PTE_W | PTE_X; /* * Now we init the kernel's pmap. Index: src/sys/arch/xen/include/xenpmap.h diff -u src/sys/arch/xen/include/xenpmap.h:1.41 src/sys/arch/xen/include/xenpmap.h:1.42 --- src/sys/arch/xen/include/xenpmap.h:1.41 Wed Feb 13 06:52:43 2019 +++ src/sys/arch/xen/include/xenpmap.h Wed Oct 30 07:40:06 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: xenpmap.h,v 1.41 2019/02/13 06:52:43 cherry Exp $ */ +/* $NetBSD: xenpmap.h,v 1.42 2019/10/30 07:40:06 maxv Exp $ */ /* * @@ -85,7 +85,7 @@ xpmap_mtop_masked(paddr_t mpa) static __inline paddr_t xpmap_mtop(paddr_t mpa) { - return (xpmap_mtop_masked(mpa) | (mpa & ~PG_FRAME)); + return (xpmap_mtop_masked(mpa) | (mpa & ~PTE_4KFRAME)); } static __inline paddr_t @@ -99,7 +99,7 @@ xpmap_ptom_masked(paddr_t ppa) static __inline paddr_t xpmap_ptom(paddr_t ppa) { - return (xpmap_ptom_masked(ppa) | (ppa & ~PG_FRAME)); + return (xpmap_ptom_masked(ppa) | (ppa & ~PTE_4KFRAME)); } static __inline void Index: src/sys/arch/xen/x86/x86_xpmap.c diff -u src/sys/arch/xen/x86/x86_xpmap.c:1.84 src/sys/arch/xen/x86/x86_xpmap.c:1.85 --- src/sys/arch/xen/x86/x86_xpmap.c:1.84 Sat Mar 9 08:42:25 2019 +++ src/sys/arch/xen/x86/x86_xpmap.c Wed Oct 30 07:40:06 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: x86_xpmap.c,v 1.84 2019/03/09 08:42:25 maxv Exp $ */ +/* $NetBSD: x86_xpmap.c,v 1.85 2019/10/30 07:40:06 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.84 2019/03/09 08:42:25 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: x86_xpmap.c,v 1.85 2019/10/30 07:40:06 maxv Exp $"); #include "opt_xen.h" #include "opt_ddb.h" @@ -489,7 +489,7 @@ xen_locore(void) /* Set the NX/XD bit, if available. descs[3] = %edx. */ x86_cpuid(0x80000001, descs); - xpmap_pg_nx = (descs[3] & CPUID_NOX) ? PG_NX : 0; + xpmap_pg_nx = (descs[3] & CPUID_NOX) ? PTE_NX : 0; /* Space after Xen boostrap tables should be free */ xen_tables = xen_start_info.pt_base; @@ -902,7 +902,7 @@ xen_bootstrap_tables(vaddr_t old_pgd, va /* Mark old tables RW */ page = old_pgd; - addr = xpmap_mtop((paddr_t)L2[pl2_pi(page)] & PG_FRAME); + addr = xpmap_mtop((paddr_t)L2[pl2_pi(page)] & PTE_4KFRAME); pte = (pd_entry_t *)((u_long)addr + KERNBASE); pte += pl1_pi(page); while (page < old_pgd + (old_count * PAGE_SIZE) && page < map_end) { Index: src/sys/arch/xen/x86/xen_pmap.c diff -u src/sys/arch/xen/x86/xen_pmap.c:1.31 src/sys/arch/xen/x86/xen_pmap.c:1.32 --- src/sys/arch/xen/x86/xen_pmap.c:1.31 Sun Mar 10 16:30:01 2019 +++ src/sys/arch/xen/x86/xen_pmap.c Wed Oct 30 07:40:06 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: xen_pmap.c,v 1.31 2019/03/10 16:30:01 maxv Exp $ */ +/* $NetBSD: xen_pmap.c,v 1.32 2019/10/30 07:40:06 maxv Exp $ */ /* * Copyright (c) 2007 Manuel Bouyer. @@ -101,7 +101,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: xen_pmap.c,v 1.31 2019/03/10 16:30:01 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: xen_pmap.c,v 1.32 2019/10/30 07:40:06 maxv Exp $"); #include "opt_user_ldt.h" #include "opt_lockdebug.h" @@ -177,10 +177,10 @@ pmap_kenter_ma(vaddr_t va, paddr_t ma, v npte = ma | ((prot & VM_PROT_WRITE) ? PTE_W : 0) | PTE_P; if (flags & PMAP_NOCACHE) - npte |= PG_N; + npte |= PTE_PCD; if ((cpu_feature[2] & CPUID_NOX) && !(prot & VM_PROT_EXECUTE)) - npte |= PG_NX; + npte |= PTE_NX; opte = pmap_pte_testset(pte, npte); /* zap! */ @@ -229,7 +229,7 @@ pmap_extract_ma(struct pmap *pmap, vaddr if (__predict_true((pte & PTE_P) != 0)) { if (pap != NULL) - *pap = (pte & PG_FRAME) | (va & (NBPD_L1 - 1)); + *pap = (pte & PTE_4KFRAME) | (va & (NBPD_L1 - 1)); return true; } Index: src/sys/arch/xen/xen/if_xennet_xenbus.c diff -u src/sys/arch/xen/xen/if_xennet_xenbus.c:1.86 src/sys/arch/xen/xen/if_xennet_xenbus.c:1.87 --- src/sys/arch/xen/xen/if_xennet_xenbus.c:1.86 Sat Mar 9 08:42:25 2019 +++ src/sys/arch/xen/xen/if_xennet_xenbus.c Wed Oct 30 07:40:06 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: if_xennet_xenbus.c,v 1.86 2019/03/09 08:42:25 maxv Exp $ */ +/* $NetBSD: if_xennet_xenbus.c,v 1.87 2019/10/30 07:40:06 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.86 2019/03/09 08:42:25 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: if_xennet_xenbus.c,v 1.87 2019/10/30 07:40:06 maxv Exp $"); #include "opt_xen.h" #include "opt_nfs_boot.h" @@ -149,9 +149,9 @@ int xennet_debug = 0xff; #ifdef XENPVHVM /* Glue for p2m table stuff. Should be removed eventually */ #define xpmap_mtop_masked(mpa) (mpa & ~PAGE_MASK) -#define xpmap_mtop(mpa) (mpa & ~PG_FRAME) +#define xpmap_mtop(mpa) (mpa & ~PTE_4KFRAME) #define xpmap_ptom_masked(mpa) (mpa & ~PAGE_MASK) -#define xpmap_ptom(mpa) (mpa & ~PG_FRAME) +#define xpmap_ptom(mpa) (mpa & ~PTE_4KFRAME) #define xpmap_ptom_map(ppa, mpa) #define xpmap_ptom_unmap(ppa) #define xpmap_ptom_isvalid 1 /* XXX: valid PA check */ @@ -1238,7 +1238,7 @@ xennet_softstart(void *arg) } if (m->m_pkthdr.len != m->m_len || - (pa ^ (pa + m->m_pkthdr.len - 1)) & PG_FRAME) { + (pa ^ (pa + m->m_pkthdr.len - 1)) & PTE_4KFRAME) { MGETHDR(new_m, M_DONTWAIT, MT_DATA); if (__predict_false(new_m == NULL)) { @@ -1295,7 +1295,7 @@ xennet_softstart(void *arg) } MCLAIM(m, &sc->sc_ethercom.ec_tx_mowner); - KASSERT(((pa ^ (pa + m->m_pkthdr.len - 1)) & PG_FRAME) == 0); + KASSERT(((pa ^ (pa + m->m_pkthdr.len - 1)) & PTE_4KFRAME) == 0); SLIST_REMOVE_HEAD(&sc->sc_txreq_head, txreq_next); req->txreq_m = m; @@ -1319,7 +1319,7 @@ xennet_softstart(void *arg) txreq = RING_GET_REQUEST(&sc->sc_tx_ring, req_prod); txreq->id = req->txreq_id; txreq->gref = req->txreq_gntref; - txreq->offset = pa & ~PG_FRAME; + txreq->offset = pa & ~PTE_4KFRAME; txreq->size = m->m_pkthdr.len; txreq->flags = txflags;