• Suresh Siddha's avatar
    x86, cpa: make the kernel physical mapping initialization a two pass sequence · a2699e47
    Suresh Siddha authored
    In the first pass, kernel physical mapping will be setup using large or
    small pages but uses the same PTE attributes as that of the early
    PTE attributes setup by early boot code in head_[32|64].S
    
    After flushing TLB's, we go through the second pass, which setups the
    direct mapped PTE's with the appropriate attributes (like NX, GLOBAL etc)
    which are runtime detectable.
    
    This two pass mechanism conforms to the TLB app note which says:
    
    "Software should not write to a paging-structure entry in a way that would
     change, for any linear address, both the page size and either the page frame
     or attributes."
    Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
    Cc: Suresh Siddha <suresh.b.siddha@intel.com>
    Cc: arjan@linux.intel.com
    Cc: venkatesh.pallipadi@intel.com
    Cc: jeremy@goop.org
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    a2699e47
init_32.c 29.6 KB