CVSROOT: /cvs Module name: src Changes by: mi...@cvs.openbsd.org 2012/08/01 09:44:14
Modified files: sys/arch/amd64/amd64: amd64_mem.c sys/arch/i386/i386: i686_mem.c Log message: Use mtrrmask instead of hardcoded values to accommodate newer CPUs with a large physical address size (greater than 36 bit). Fixes a major performance hit seen on newer servers where an incorrectly programmed memory region length affects the PCI device mappings. While here, make sure to invalidate the TLB after programming MSRs and fix an incorrect behavior found by deraadt@ where MTRRdefType was updated outside of the protected region. The fix was partly obtained from FreeBSD, tested by many. With and OK deraadt