Haavard Skinnemoen schrieb: > 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: Haavard Skinnemoen <haavard.skinnem...@atmel.com> > --- > arch/avr32/cpu/at32ap700x/Makefile | 2 +- > arch/avr32/cpu/at32ap700x/mmu.c | 78 > ++++++++++++++++++++ > arch/avr32/cpu/start.S | 19 +++-- > arch/avr32/include/asm/arch-at32ap700x/addrspace.h | 5 +- > arch/avr32/include/asm/arch-at32ap700x/mmu.h | 66 +++++++++++++++++ > arch/avr32/lib/board.c | 4 + > board/atmel/atngw100/atngw100.c | 15 ++++ > board/atmel/atstk1000/atstk1000.c | 15 ++++ > board/earthlcd/favr-32-ezkit/favr-32-ezkit.c | 15 ++++ > board/mimc/mimc200/mimc200.c | 20 +++++ > board/miromico/hammerhead/hammerhead.c | 15 ++++ > include/configs/atngw100.h | 3 + > include/configs/atstk1002.h | 3 + > include/configs/atstk1003.h | 3 + > include/configs/atstk1004.h | 3 + > include/configs/atstk1006.h | 3 + > include/configs/favr-32-ezkit.h | 3 + > include/configs/hammerhead.h | 3 + > include/configs/mimc200.h | 3 + > 19 files changed, 267 insertions(+), 11 deletions(-) > create mode 100644 arch/avr32/cpu/at32ap700x/mmu.c > create mode 100644 arch/avr32/include/asm/arch-at32ap700x/mmu.h Applied to u-boot-atmel/avr32 Thanks, Reinhard
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot