diff options
author | peter <peter@FreeBSD.org> | 2002-07-18 00:42:53 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2002-07-18 00:42:53 +0000 |
commit | cc2882c16b223d38b64f938d27b4b686d3892590 (patch) | |
tree | e918b589e31632d6b71040865c022eeab2e9b5f5 | |
parent | a7b0b5b2160e6cee1429fa54df4aaaf98a992470 (diff) | |
download | FreeBSD-src-cc2882c16b223d38b64f938d27b4b686d3892590.zip FreeBSD-src-cc2882c16b223d38b64f938d27b4b686d3892590.tar.gz |
Use pmap_kenter() rather than vtopte() and bashing the page tables
directly.
-rw-r--r-- | sys/amd64/amd64/machdep.c | 17 | ||||
-rw-r--r-- | sys/i386/i386/machdep.c | 17 | ||||
-rw-r--r-- | sys/pc98/i386/machdep.c | 17 | ||||
-rw-r--r-- | sys/pc98/pc98/machdep.c | 17 |
4 files changed, 12 insertions, 56 deletions
diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 65b46d7..d699c6e 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1284,10 +1284,8 @@ getmemsize(int first) * allocated we simply change the mapping. */ for (pa = trunc_page(basemem * 1024); - pa < ISA_HOLE_START; pa += PAGE_SIZE) { - pte = vtopte(pa + KERNBASE); - *pte = pa | PG_RW | PG_V; - } + pa < ISA_HOLE_START; pa += PAGE_SIZE) + pmap_kenter(KERNBASE + pa, pa); /* * if basemem != 640, map pages r/w into vm86 page table so @@ -1301,8 +1299,7 @@ getmemsize(int first) * map page 1 R/W into the kernel page table so we can use it * as a buffer. The kernel will unmap this page later. */ - pte = vtopte(KERNBASE + (1 << PAGE_SHIFT)); - *pte = (1 << PAGE_SHIFT) | PG_RW | PG_V; + pmap_kenter(KERNBASE + (1 << PAGE_SHIFT), 1); /* * get memory map with INT 15:E820 @@ -1486,11 +1483,7 @@ physmap_done: pa_indx = 0; phys_avail[pa_indx++] = physmap[0]; phys_avail[pa_indx] = physmap[0]; -#if 0 - pte = vtopte(KERNBASE); -#else pte = CMAP1; -#endif /* * physmap is in bytes, so when converting to page boundaries, @@ -1504,11 +1497,7 @@ physmap_done: end = trunc_page(physmap[i + 1]); for (pa = round_page(physmap[i]); pa < end; pa += PAGE_SIZE) { int tmp, page_bad; -#if 0 - int *ptr = 0; -#else int *ptr = (int *)CADDR1; -#endif /* * block out kernel memory as not available. diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 65b46d7..d699c6e 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -1284,10 +1284,8 @@ getmemsize(int first) * allocated we simply change the mapping. */ for (pa = trunc_page(basemem * 1024); - pa < ISA_HOLE_START; pa += PAGE_SIZE) { - pte = vtopte(pa + KERNBASE); - *pte = pa | PG_RW | PG_V; - } + pa < ISA_HOLE_START; pa += PAGE_SIZE) + pmap_kenter(KERNBASE + pa, pa); /* * if basemem != 640, map pages r/w into vm86 page table so @@ -1301,8 +1299,7 @@ getmemsize(int first) * map page 1 R/W into the kernel page table so we can use it * as a buffer. The kernel will unmap this page later. */ - pte = vtopte(KERNBASE + (1 << PAGE_SHIFT)); - *pte = (1 << PAGE_SHIFT) | PG_RW | PG_V; + pmap_kenter(KERNBASE + (1 << PAGE_SHIFT), 1); /* * get memory map with INT 15:E820 @@ -1486,11 +1483,7 @@ physmap_done: pa_indx = 0; phys_avail[pa_indx++] = physmap[0]; phys_avail[pa_indx] = physmap[0]; -#if 0 - pte = vtopte(KERNBASE); -#else pte = CMAP1; -#endif /* * physmap is in bytes, so when converting to page boundaries, @@ -1504,11 +1497,7 @@ physmap_done: end = trunc_page(physmap[i + 1]); for (pa = round_page(physmap[i]); pa < end; pa += PAGE_SIZE) { int tmp, page_bad; -#if 0 - int *ptr = 0; -#else int *ptr = (int *)CADDR1; -#endif /* * block out kernel memory as not available. diff --git a/sys/pc98/i386/machdep.c b/sys/pc98/i386/machdep.c index 0084819..03d681d 100644 --- a/sys/pc98/i386/machdep.c +++ b/sys/pc98/i386/machdep.c @@ -1332,10 +1332,8 @@ getmemsize(int first) * allocated we simply change the mapping. */ for (pa = trunc_page(basemem * 1024); - pa < ISA_HOLE_START; pa += PAGE_SIZE) { - pte = vtopte(pa + KERNBASE); - *pte = pa | PG_RW | PG_V; - } + pa < ISA_HOLE_START; pa += PAGE_SIZE) + pmap_kenter(KERNBASE + pa, pa); /* * if basemem != 640, map pages r/w into vm86 page table so @@ -1350,8 +1348,7 @@ getmemsize(int first) * map page 1 R/W into the kernel page table so we can use it * as a buffer. The kernel will unmap this page later. */ - pte = vtopte(KERNBASE + (1 << PAGE_SHIFT)); - *pte = (1 << PAGE_SHIFT) | PG_RW | PG_V; + pmap_kenter(KERNBASE + (1 << PAGE_SHIFT), 1); /* * get memory map with INT 15:E820 @@ -1546,11 +1543,7 @@ physmap_done: pa_indx = 0; phys_avail[pa_indx++] = physmap[0]; phys_avail[pa_indx] = physmap[0]; -#if 0 - pte = vtopte(KERNBASE); -#else pte = CMAP1; -#endif /* * physmap is in bytes, so when converting to page boundaries, @@ -1564,11 +1557,7 @@ physmap_done: end = trunc_page(physmap[i + 1]); for (pa = round_page(physmap[i]); pa < end; pa += PAGE_SIZE) { int tmp, page_bad; -#if 0 - int *ptr = 0; -#else int *ptr = (int *)CADDR1; -#endif /* * block out kernel memory as not available. diff --git a/sys/pc98/pc98/machdep.c b/sys/pc98/pc98/machdep.c index 0084819..03d681d 100644 --- a/sys/pc98/pc98/machdep.c +++ b/sys/pc98/pc98/machdep.c @@ -1332,10 +1332,8 @@ getmemsize(int first) * allocated we simply change the mapping. */ for (pa = trunc_page(basemem * 1024); - pa < ISA_HOLE_START; pa += PAGE_SIZE) { - pte = vtopte(pa + KERNBASE); - *pte = pa | PG_RW | PG_V; - } + pa < ISA_HOLE_START; pa += PAGE_SIZE) + pmap_kenter(KERNBASE + pa, pa); /* * if basemem != 640, map pages r/w into vm86 page table so @@ -1350,8 +1348,7 @@ getmemsize(int first) * map page 1 R/W into the kernel page table so we can use it * as a buffer. The kernel will unmap this page later. */ - pte = vtopte(KERNBASE + (1 << PAGE_SHIFT)); - *pte = (1 << PAGE_SHIFT) | PG_RW | PG_V; + pmap_kenter(KERNBASE + (1 << PAGE_SHIFT), 1); /* * get memory map with INT 15:E820 @@ -1546,11 +1543,7 @@ physmap_done: pa_indx = 0; phys_avail[pa_indx++] = physmap[0]; phys_avail[pa_indx] = physmap[0]; -#if 0 - pte = vtopte(KERNBASE); -#else pte = CMAP1; -#endif /* * physmap is in bytes, so when converting to page boundaries, @@ -1564,11 +1557,7 @@ physmap_done: end = trunc_page(physmap[i + 1]); for (pa = round_page(physmap[i]); pa < end; pa += PAGE_SIZE) { int tmp, page_bad; -#if 0 - int *ptr = 0; -#else int *ptr = (int *)CADDR1; -#endif /* * block out kernel memory as not available. |