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/fault-armv.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/fault-armv.c')
-rw-r--r-- | arch/arm/mm/fault-armv.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mm/fault-armv.c b/arch/arm/mm/fault-armv.c index 7fc1b35a6746..cf95c5d0ce4c 100644 --- a/arch/arm/mm/fault-armv.c +++ b/arch/arm/mm/fault-armv.c | |||
@@ -61,7 +61,7 @@ static int adjust_pte(struct vm_area_struct *vma, unsigned long address) | |||
61 | if (pte_present(entry) && pte_val(entry) & shared_pte_mask) { | 61 | if (pte_present(entry) && pte_val(entry) & shared_pte_mask) { |
62 | flush_cache_page(vma, address, pte_pfn(entry)); | 62 | flush_cache_page(vma, address, pte_pfn(entry)); |
63 | pte_val(entry) &= ~shared_pte_mask; | 63 | pte_val(entry) &= ~shared_pte_mask; |
64 | set_pte(pte, entry); | 64 | set_pte_at(vma->vm_mm, address, pte, entry); |
65 | flush_tlb_page(vma, address); | 65 | flush_tlb_page(vma, address); |
66 | ret = 1; | 66 | ret = 1; |
67 | } | 67 | } |