Skip to content
  • Haavard Skinnemoen's avatar
    avr32: Add simple paging support · 1f36f73f
    Haavard Skinnemoen authored
    
    
    Use the MMU hardware to set up 1:1 mappings between physical and virtual
    addresses. This allows us to bypass the cache when accessing the flash
    without having to do any physical-to-virtual address mapping in the CFI
    driver.
    
    The virtual memory mappings are defined at compile time through a sorted
    array of virtual memory range objects. When a TLB miss exception
    happens, the exception handler does a binary search through the array
    until it finds a matching entry and loads it into the TLB. The u-boot
    image itself is covered by a fixed TLB entry which is never replaced.
    
    This makes the 'saveenv' command work again on ATNGW100 and other boards
    using the CFI driver, hopefully without breaking any rules.
    
    Signed-off-by: default avatarHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
    1f36f73f