diff options
author | alc <alc@FreeBSD.org> | 2010-01-23 20:28:37 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2010-01-23 20:28:37 +0000 |
commit | d6d56bade7de371ecbb6e900ae78b63d480d4327 (patch) | |
tree | 06d0ac39958a3775130d2e95717fe42524a31fce /sys/amd64 | |
parent | c758f111fad5c95a1f3fe5517e146d6bc67f5db9 (diff) | |
download | FreeBSD-src-d6d56bade7de371ecbb6e900ae78b63d480d4327.zip FreeBSD-src-d6d56bade7de371ecbb6e900ae78b63d480d4327.tar.gz |
Simplify the mapping of the system message buffer. Use the direct map just
like ia64 does.
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/machdep.c | 8 | ||||
-rw-r--r-- | sys/amd64/amd64/pmap.c | 8 |
2 files changed, 4 insertions, 12 deletions
diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index c4130a4..93c0183 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -157,6 +157,8 @@ SYSINIT(cpu, SI_SUB_CPU, SI_ORDER_FIRST, cpu_startup, NULL); extern vm_offset_t ksym_start, ksym_end; #endif +struct msgbuf *msgbufp; + /* Intel ICH registers */ #define ICH_PMBASE 0x400 #define ICH_SMI_EN ICH_PMBASE + 0x30 @@ -1275,7 +1277,7 @@ add_smap_entry(struct bios_smap *smap, vm_paddr_t *physmap, int *physmap_idxp) static void getmemsize(caddr_t kmdp, u_int64_t first) { - int i, off, physmap_idx, pa_indx, da_indx; + int i, physmap_idx, pa_indx, da_indx; vm_paddr_t pa, physmap[PHYSMAP_SIZE]; u_long physmem_tunable; pt_entry_t *pte; @@ -1508,9 +1510,7 @@ do_next: phys_avail[pa_indx] -= round_page(MSGBUF_SIZE); /* Map the message buffer. */ - for (off = 0; off < round_page(MSGBUF_SIZE); off += PAGE_SIZE) - pmap_kenter((vm_offset_t)msgbufp + off, phys_avail[pa_indx] + - off); + msgbufp = (struct msgbuf *)PHYS_TO_DMAP(phys_avail[pa_indx]); } u_int64_t diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index 15e9e25..9bc1f8c 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -105,7 +105,6 @@ __FBSDID("$FreeBSD$"); * and to when physical maps must be made correct. */ -#include "opt_msgbuf.h" #include "opt_pmap.h" #include "opt_vm.h" @@ -116,7 +115,6 @@ __FBSDID("$FreeBSD$"); #include <sys/lock.h> #include <sys/malloc.h> #include <sys/mman.h> -#include <sys/msgbuf.h> #include <sys/mutex.h> #include <sys/proc.h> #include <sys/sx.h> @@ -206,7 +204,6 @@ static int shpgperproc = PMAP_SHPGPERPROC; */ pt_entry_t *CMAP1 = 0; caddr_t CADDR1 = 0; -struct msgbuf *msgbufp = 0; /* * Crashdump maps. @@ -570,11 +567,6 @@ pmap_bootstrap(vm_paddr_t *firstaddr) */ SYSMAP(caddr_t, unused, crashdumpmap, MAXDUMPPGS) - /* - * msgbufp is used to map the system message buffer. - */ - SYSMAP(struct msgbuf *, unused, msgbufp, atop(round_page(MSGBUF_SIZE))) - virtual_avail = va; *CMAP1 = 0; |