summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/pmap.h
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2010-10-27 16:46:37 +0000
committeralc <alc@FreeBSD.org>2010-10-27 16:46:37 +0000
commitc190531c4f9da92175fdc435355fe5735a1bec00 (patch)
tree41e834f31b65664e022d11a329c42e11e0eecded /sys/amd64/include/pmap.h
parent2c8b1c2add29953067a4e8336b4b3a19697f4722 (diff)
downloadFreeBSD-src-c190531c4f9da92175fdc435355fe5735a1bec00.zip
FreeBSD-src-c190531c4f9da92175fdc435355fe5735a1bec00.tar.gz
[1] According to the x86 architectural specifications, no virtual-to-
physical page mapping should span two or more MTRRs of different types. Add a pmap function, pmap_demote_DMAP(), by which the MTRR module can ensure that the direct map region doesn't have such a mapping. [2] Fix a couple of nearby style errors in amd64_mrset(). [3] Re-enable the use of 1GB page mappings for implementing the direct map. (See also r197580 and r213897.) Tested by: kib@ on a Westmere-family processor [3] MFC after: 3 weeks
Diffstat (limited to 'sys/amd64/include/pmap.h')
-rw-r--r--sys/amd64/include/pmap.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/amd64/include/pmap.h b/sys/amd64/include/pmap.h
index 53a4d63..45ccc64 100644
--- a/sys/amd64/include/pmap.h
+++ b/sys/amd64/include/pmap.h
@@ -307,6 +307,7 @@ extern vm_offset_t virtual_end;
void pmap_bootstrap(vm_paddr_t *);
int pmap_change_attr(vm_offset_t, vm_size_t, int);
+void pmap_demote_DMAP(vm_paddr_t base, vm_size_t len, boolean_t invalidate);
void pmap_init_pat(void);
void pmap_kenter(vm_offset_t va, vm_paddr_t pa);
void *pmap_kenter_temporary(vm_paddr_t pa, int i);
OpenPOWER on IntegriCloud