• Johannes Weiner's avatar
    xtensa: cope with ram beginning at higher addresses · c947a585
    Johannes Weiner authored
    The current assumption of the memory code is that the first RAM PFN in
    the system is 0.
    
    Adjust the relevant code to play well with setups where memory starts
    at higher addresses, indicated by PLATFORM_DEFAULT_MEM_START.
    
    The new memory model looks like this:
    
    +----------+--+----------------------+----------------+
    |          |  |                      |                |
    |          |  |         RAM          |                |
    |          |  |                      |                |
    +----------+--+----------------------+----------------+
    |          |  |                      |                |
    +- PFN 0   |  +- min_low_pfn         +- max_low_pfn   +- max_pfn
               |
               +- ARCH_PFN_OFFSET
               +- PLATFORM_DEFAULT_MEM_START >> PAGE_SIZE
    
    The memory map contains pages starting from pfn ARCH_PFN_OFFSET up to
    max_low_pfn.  The only zone used right now will span exactly the same
    region.
    
    Usually, ARCH_PFN_OFFSET and min_low_pfn are the same value.  Handle
    them separately for robustness.  Gapping pages will be in the memory
    map but marked as reserved and won't be touched.
    Signed-off-by: default avatarJohannes Weiner <jw@emlix.com>
    Signed-off-by: default avatarChris Zankel <chris@zankel.net>
    c947a585
page.h 4.97 KB