Page MenuHomeFreeBSD

D19365.id54552.diff
No OneTemporary

D19365.id54552.diff

Index: sys/i386/i386/pmap.c
===================================================================
--- sys/i386/i386/pmap.c
+++ 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
Thu, Feb 19, 7:07 AM (8 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28872014
Default Alt Text
D19365.id54552.diff (748 B)

Event Timeline