u-boot/arch/avr32/cpu
Haavard Skinnemoen 1f36f73fe7 avr32: Add simple paging support
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.skinnemoen@atmel.com>
2010-09-03 15:13:02 +02:00
..
at32ap700x avr32: Add simple paging support 2010-09-03 15:13:02 +02:00
cache.c avr32: Move cpu/at32ap/* to arch/avr32/cpu/* 2010-04-13 09:13:25 +02:00
config.mk avr32: Move cpu/at32ap/* to arch/avr32/cpu/* 2010-04-13 09:13:25 +02:00
cpu.c Make sure that argv[] argument pointers are not modified. 2010-07-04 23:55:42 +02:00
exception.c avr32: Print unrelocated PC on exception 2010-09-03 15:12:42 +02:00
hsdramc.c avr32: Move cpu/at32ap/* to arch/avr32/cpu/* 2010-04-13 09:13:25 +02:00
hsdramc1.h avr32: Move cpu/at32ap/* to arch/avr32/cpu/* 2010-04-13 09:13:25 +02:00
hsmc3.h avr32: Move cpu/at32ap/* to arch/avr32/cpu/* 2010-04-13 09:13:25 +02:00
interrupts.c avr32: Move cpu/at32ap/* to arch/avr32/cpu/* 2010-04-13 09:13:25 +02:00
Makefile avr32: Move cpu/at32ap/* to arch/avr32/cpu/* 2010-04-13 09:13:25 +02:00
pio2.h avr32: Move cpu/at32ap/* to arch/avr32/cpu/* 2010-04-13 09:13:25 +02:00
portmux-gpio.c avr32: Move cpu/at32ap/* to arch/avr32/cpu/* 2010-04-13 09:13:25 +02:00
portmux-pio.c avr32: Move cpu/at32ap/* to arch/avr32/cpu/* 2010-04-13 09:13:25 +02:00
start.S avr32: Add simple paging support 2010-09-03 15:13:02 +02:00