avr32: Store virtual addresses in the PGD
authorHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
Mon, 14 Jan 2008 21:15:05 +0000 (22:15 +0100)
committerHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
Wed, 2 Jul 2008 09:01:28 +0000 (11:01 +0200)
commitcfd23e93a0289cf6711fd3877c5226658d87240a
tree1030f0ee5ccd59d1d80b2b5fdc892987f90fac8e
parentebe74597a55fef00edc80a414ef5c6477d035e0a
avr32: Store virtual addresses in the PGD

Instead of storing physical addresses along with page flags in the
PGD, store virtual addresses and use NULL to indicate a not present
second-level page table. A non-page-aligned page table indicates a bad
PMD.

This simplifies the TLB miss handler since it no longer has to check
the Present bit and no longer has to convert the PGD entry from
physical to virtual address. Instead, it has to check for a NULL
entry, which is slightly cheaper than either.

Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
arch/avr32/kernel/entry-avr32b.S
arch/avr32/kernel/vmlinux.lds.S
arch/avr32/mm/init.c
include/asm-avr32/pgalloc.h
include/asm-avr32/pgtable.h