From 6d403070f28cd44860fdb3a53be5da0275c65cf4 Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Mon, 19 Jun 2000 22:45:37 +0000 Subject: Merge with 2.4.0-test1-ac21 + pile of MIPS cleanups to make merging possible. Chainsawed RM200 kernel to compile again. Jazz machine status unknown. --- arch/ppc/mm/fault.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'arch/ppc/mm/fault.c') diff --git a/arch/ppc/mm/fault.c b/arch/ppc/mm/fault.c index 7a899252f..0b551c803 100644 --- a/arch/ppc/mm/fault.c +++ b/arch/ppc/mm/fault.c @@ -238,11 +238,17 @@ bad_page_fault(struct pt_regs *regs, unsigned long address) /* The pgtable.h claims some functions generically exist, but I * can't find them...... */ -pte_t *find_pte(struct mm_struct *mm, unsigned long address) +pte_t *va_to_pte(unsigned long address) { pgd_t *dir; pmd_t *pmd; pte_t *pte; + struct mm_struct *mm; + + if (address < TASK_SIZE) + mm = current->mm; + else + mm = &init_mm; dir = pgd_offset(mm, address & PAGE_MASK); if (dir) { @@ -267,7 +273,7 @@ unsigned long va_to_phys(unsigned long address) { pte_t *pte; - pte = find_pte(current->mm, address); + pte = va_to_pte(address); if (pte) return(((unsigned long)(pte_val(*pte)) & PAGE_MASK) | (address & ~(PAGE_MASK-1))); return (0); -- cgit v1.2.3