Konstantin Belousov bced332adf Invalidate cache for the PDPTE page when using PAE paging but PAT is
not supported.

According to SDM rev. 69 vol. 3, for PDPTE registers loads:
- when PAT is not supported, access to the PDPTE page is performed as
  UC, see 4.9.1;
- when PAT is supported, the access is WB, see 4.9.2.

So potentially CPU might load stale memory as PDPTEs if both PAT and
self-snoop are not implemented.  To be safe, add total local cache
flush to pmap_cold() before initial load of cr3, and flush PDPTE page
in pmap_pinit(), if PAT is not implemented.

Reviewed by:	markj
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D19365
2019-02-28 19:19:02 +00:00
..
2019-02-28 14:40:43 +00:00
2019-02-26 18:20:41 +00:00
2019-02-23 20:56:41 +00:00
2019-02-26 19:55:03 +00:00
2019-02-04 21:28:25 +00:00
2019-02-26 19:55:03 +00:00
2019-02-23 21:14:00 +00:00
2019-02-21 01:30:37 +00:00
2019-02-26 19:55:03 +00:00
2019-02-24 17:23:55 +00:00
2019-02-04 21:28:25 +00:00