svn commit: r238147 - projects/amd64_xen_pv/sys/amd64/xen
Cherry G. Mathew
cherry at FreeBSD.org
Thu Jul 5 20:21:14 UTC 2012
Author: cherry
Date: Thu Jul 5 20:21:13 2012
New Revision: 238147
URL: http://svn.freebsd.org/changeset/base/238147
Log:
- bzero msgbufp after allocation and before use.
- fix pmap_kextract_ma() to use the correct pt index offset.
Approved by: gibbs (implicit)
Modified:
projects/amd64_xen_pv/sys/amd64/xen/pmap.c
Modified: projects/amd64_xen_pv/sys/amd64/xen/pmap.c
==============================================================================
--- projects/amd64_xen_pv/sys/amd64/xen/pmap.c Thu Jul 5 20:16:24 2012 (r238146)
+++ projects/amd64_xen_pv/sys/amd64/xen/pmap.c Thu Jul 5 20:21:13 2012 (r238147)
@@ -548,6 +548,8 @@ pmap_bootstrap(vm_paddr_t *firstaddr)
msgbufp = (void *) pmap_map(&virtual_avail,
ptoa(physmem), ptoa(physmem) + round_page(msgbufsize),
VM_PROT_READ | VM_PROT_WRITE);
+
+ bzero(msgbufp, round_page(msgbufsize));
}
void
@@ -834,6 +836,9 @@ pmap_kextract_ma(vm_offset_t va)
* effectively const.
*/
+ const uint64_t SIGNMASK = (1UL << 48) - 1;
+ va &= SIGNMASK; /* Remove sign extension */
+
mmu_map_t tptr = tbuf;
struct mmu_map_mbackend mb = {
@@ -849,7 +854,7 @@ pmap_kextract_ma(vm_offset_t va)
goto nomapping;
}
- ma = mmu_map_pt(tptr)[(~PDRMASK & PAGE_MASK & va) >> PAGE_SHIFT];
+ ma = mmu_map_pt(tptr)[(PDRMASK & va) >> PAGE_SHIFT];
mmu_map_t_fini(tptr);
More information about the svn-src-projects
mailing list