Page MenuHomeFreeBSD

D19365.id.diff
No OneTemporary

D19365.id.diff

Index: head/sys/i386/i386/pmap.c
===================================================================
--- head/sys/i386/i386/pmap.c
+++ head/sys/i386/i386/pmap.c
@@ -564,6 +564,8 @@
/* Now enable paging */
#ifdef PMAP_PAE_COMP
cr3 = (u_int)IdlePDPT;
+ if ((cpu_feature & CPUID_PAT) == 0)
+ wbinvd();
#else
cr3 = (u_int)IdlePTD;
#endif
@@ -2040,6 +2042,14 @@
}
pmap_qenter((vm_offset_t)pmap->pm_pdir, pmap->pm_ptdpg, NPGPTD);
+#ifdef PMAP_PAE_COMP
+ if ((cpu_feature & CPUID_PAT) == 0) {
+ pmap_invalidate_cache_range(
+ trunc_page((vm_offset_t)pmap->pm_pdpt),
+ round_page((vm_offset_t)pmap->pm_pdpt +
+ NPGPTD * sizeof(pdpt_entry_t)));
+ }
+#endif
for (i = 0; i < NPGPTD; i++)
if ((pmap->pm_ptdpg[i]->flags & PG_ZERO) == 0)

File Metadata

Mime Type
text/plain
Expires
Tue, Apr 28, 10:51 AM (8 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32271128
Default Alt Text
D19365.id.diff (763 B)

Event Timeline