• venkatesh.pallipadi@intel.com's avatar
    x86: PAT infrastructure patch · 2e5d9c85
    venkatesh.pallipadi@intel.com authored
    Sets up pat_init() infrastructure.
    
    PAT MSR has following setting.
    	PAT
    	|PCD
    	||PWT
    	|||
    	000 WB		_PAGE_CACHE_WB
    	001 WC		_PAGE_CACHE_WC
    	010 UC-		_PAGE_CACHE_UC_MINUS
    	011 UC		_PAGE_CACHE_UC
    
    We are effectively changing WT from boot time setting to WC.
    UC_MINUS is used to provide backward compatibility to existing /dev/mem
    users(X).
    
    reserve_memtype and free_memtype are new interfaces for maintaining alias-free
    mapping. It is currently implemented in a simple way with a linked list and
    not optimized. reserve and free tracks the effective memory type, as a result
    of PAT and MTRR setting rather than what is actually requested in PAT.
    
    pat_init piggy backs on mtrr_init as the rules for setting both pat and mtrr
    are same.
    Signed-off-by: default avatarVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
    Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    2e5d9c85
Kconfig 52.6 KB