diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-12-13 09:34:43 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-12-13 09:34:43 -0500 |
commit | ad1ae2fe7fe68414ef29eab3c87b48841f8b72f2 (patch) | |
tree | f23fc22424f874c1295318904b273c08d00654ab /arch/arm/mm/mmu.c | |
parent | f06b97ffd1ed7a96d5022d52f795fba8483afb75 (diff) |
[ARM] Unuse another Linux PTE bit
L_PTE_ASID is not really required to be stored in every PTE, since we
can identify it via the address passed to set_pte_at(). So, create
set_pte_ext() which takes the address of the PTE to set, the Linux
PTE value, and the additional CPU PTE bits which aren't encoded in
the Linux PTE value.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/mmu.c')
-rw-r--r-- | arch/arm/mm/mmu.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index b7f194af20b4..f028aef9a861 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c | |||
@@ -294,12 +294,6 @@ static void __init build_mem_type_table(void) | |||
294 | mem_types[MT_DEVICE].prot_pte |= L_PTE_BUFFERABLE; | 294 | mem_types[MT_DEVICE].prot_pte |= L_PTE_BUFFERABLE; |
295 | mem_types[MT_DEVICE].prot_sect |= PMD_SECT_BUFFERED; | 295 | mem_types[MT_DEVICE].prot_sect |= PMD_SECT_BUFFERED; |
296 | 296 | ||
297 | /* | ||
298 | * User pages need to be mapped with the ASID | ||
299 | * (iow, non-global) | ||
300 | */ | ||
301 | user_pgprot |= L_PTE_ASID; | ||
302 | |||
303 | #ifdef CONFIG_SMP | 297 | #ifdef CONFIG_SMP |
304 | /* | 298 | /* |
305 | * Mark memory with the "shared" attribute for SMP systems | 299 | * Mark memory with the "shared" attribute for SMP systems |
@@ -408,7 +402,7 @@ alloc_init_page(unsigned long virt, unsigned long phys, unsigned int prot_l1, pg | |||
408 | } | 402 | } |
409 | ptep = pte_offset_kernel(pmdp, virt); | 403 | ptep = pte_offset_kernel(pmdp, virt); |
410 | 404 | ||
411 | set_pte(ptep, pfn_pte(phys >> PAGE_SHIFT, prot)); | 405 | set_pte_ext(ptep, pfn_pte(phys >> PAGE_SHIFT, prot), 0); |
412 | } | 406 | } |
413 | 407 | ||
414 | /* | 408 | /* |