Module Name: src
Committed By: maxv
Date: Fri Jan 6 09:04:06 UTC 2017
Modified Files:
src/sys/arch/x86/x86: pmap.c
Log Message:
Rename a few things
To generate a diff of this commit:
cvs rdiff -u -r1.235 -r1.236 src/sys/arch/x86/x86/pmap.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/x86/x86/pmap.c
diff -u src/sys/arch/x86/x86/pmap.c:1.235 src/sys/arch/x86/x86/pmap.c:1.236
--- src/sys/arch/x86/x86/pmap.c:1.235 Thu Dec 22 16:29:05 2016
+++ src/sys/arch/x86/x86/pmap.c Fri Jan 6 09:04:06 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.235 2016/12/22 16:29:05 bouyer Exp $ */
+/* $NetBSD: pmap.c,v 1.236 2017/01/06 09:04:06 maxv Exp $ */
/*-
* Copyright (c) 2008, 2010, 2016 The NetBSD Foundation, Inc.
@@ -171,7 +171,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.235 2016/12/22 16:29:05 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap.c,v 1.236 2017/01/06 09:04:06 maxv Exp $");
#include "opt_user_ldt.h"
#include "opt_lockdebug.h"
@@ -1481,12 +1481,12 @@ pmap_init_directmap(struct pmap *kpm)
extern phys_ram_seg_t mem_clusters[];
extern int mem_cluster_cnt;
- paddr_t lastpa, dm_pd, dm_pdp, pdp;
+ paddr_t lastpa, L2page_pa, L3page_pa, pdp;
vaddr_t tmpva;
pt_entry_t *pte;
pd_entry_t *pde;
phys_ram_seg_t *mc;
- long n_dm_pdp;
+ size_t nL3e;
int i;
const pd_entry_t pteflags = PG_V | PG_KW | pmap_pg_nx;
@@ -1506,27 +1506,27 @@ pmap_init_directmap(struct pmap *kpm)
panic("RAM limit reached: > 512GB not supported");
}
- /* Allocate L3. */
- dm_pdp = pmap_bootstrap_palloc(1);
-
- /* Number of L3 entries. */
- n_dm_pdp = (lastpa + NBPD_L3 - 1) >> L3_SHIFT;
-
- /* In locore.S, we allocated a tmp va. Use it now. */
+ /* In locore.S, we allocated a tmp va. We will use it now. */
tmpva = (KERNBASE + NKL2_KIMG_ENTRIES * NBPD_L2);
pte = PTE_BASE + pl1_i(tmpva);
- *pte = dm_pdp | pteflags;
+
+ /* Allocate L3, and zero it out. */
+ L3page_pa = pmap_bootstrap_palloc(1);
+ *pte = L3page_pa | pteflags;
pmap_update_pg(tmpva);
memset((void *)tmpva, 0, PAGE_SIZE);
+ /* Number of L3 entries. */
+ nL3e = (lastpa + NBPD_L3 - 1) >> L3_SHIFT;
+
/*
* Map the direct map RW. Use super pages (1GB) or large pages (2MB) if
* they are supported. Note: PG_G is not allowed on non-leaf PTPs.
*/
if (cpu_feature[2] & CPUID_P1GB) {
/* Super pages are supported. Just create L3. */
- for (i = 0; i < n_dm_pdp; i++) {
- pdp = (paddr_t)&(((pd_entry_t *)dm_pdp)[i]);
+ for (i = 0; i < nL3e; i++) {
+ pdp = (paddr_t)&(((pd_entry_t *)L3page_pa)[i]);
*pte = (pdp & PG_FRAME) | pteflags;
pmap_update_pg(tmpva);
@@ -1536,11 +1536,11 @@ pmap_init_directmap(struct pmap *kpm)
}
} else {
/* Allocate L2. */
- dm_pd = pmap_bootstrap_palloc(n_dm_pdp);
+ L2page_pa = pmap_bootstrap_palloc(nL3e);
/* Zero out the L2 pages. */
- for (i = 0; i < n_dm_pdp; i++) {
- pdp = dm_pd + i * PAGE_SIZE;
+ for (i = 0; i < nL3e; i++) {
+ pdp = L2page_pa + i * PAGE_SIZE;
*pte = (pdp & PG_FRAME) | pteflags;
pmap_update_pg(tmpva);
@@ -1550,8 +1550,8 @@ pmap_init_directmap(struct pmap *kpm)
KASSERT(pmap_largepages != 0);
/* Large pages are supported. Just create L2. */
- for (i = 0; i < NPDPG * n_dm_pdp; i++) {
- pdp = (paddr_t)&(((pd_entry_t *)dm_pd)[i]);
+ for (i = 0; i < NPDPG * nL3e; i++) {
+ pdp = (paddr_t)&(((pd_entry_t *)L2page_pa)[i]);
*pte = (pdp & PG_FRAME) | pteflags;
pmap_update_pg(tmpva);
@@ -1561,17 +1561,17 @@ pmap_init_directmap(struct pmap *kpm)
}
/* Fill in the L3 entries, linked to L2. */
- for (i = 0; i < n_dm_pdp; i++) {
- pdp = (paddr_t)&(((pd_entry_t *)dm_pdp)[i]);
+ for (i = 0; i < nL3e; i++) {
+ pdp = (paddr_t)&(((pd_entry_t *)L3page_pa)[i]);
*pte = (pdp & PG_FRAME) | pteflags;
pmap_update_pg(tmpva);
pde = (pd_entry_t *)(tmpva + (pdp & ~PG_FRAME));
- *pde = (dm_pd + (i << PAGE_SHIFT)) | pteflags | PG_U;
+ *pde = (L2page_pa + (i << PAGE_SHIFT)) | pteflags | PG_U;
}
}
- kpm->pm_pdir[PDIR_SLOT_DIRECT] = dm_pdp | pteflags | PG_U;
+ kpm->pm_pdir[PDIR_SLOT_DIRECT] = L3page_pa | pteflags | PG_U;
*pte = 0;
pmap_update_pg(tmpva);
@@ -2011,9 +2011,9 @@ 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) | PG_u | PG_RW | PG_V));
#if defined(XEN) && defined(__x86_64__)
- if(i == PTP_LEVELS) {
+ if (i == PTP_LEVELS) {
/*
* Update the per-cpu PD on all cpus the current
* pmap is active on