• S
    x86, cpa: make the kernel physical mapping initialization a two pass sequence · a2699e47
    Suresh Siddha 提交于
    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: NSuresh 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: NIngo Molnar <mingo@elte.hu>
    a2699e47
init_32.c 29.6 KB