On Sun, 2005-10-30 at 23:03 +0300, Pantelis Antoniou wrote:
> Latest MMU changes caused 8xx to stop working. Flushing tlb of the faulting
> address fixes the problem.

Ugh ?

What is the problem precisely ? This is just a dodgy workaround for an
unexplained problem. Normally, the kenrel _WILL_ cause a tlb flush after
manipulating a PTE.

Ben.

> ---
> commit 978e2f36b1ae53e37ba27b3ab8f1c5ddbb8c8a10
> tree 7dd0e403c240162b1925db0834d694f4b4a0e95e
> parent ca02ea5aebcda886d1552c6af73ca96c02bf9fed
> author Pantelis Antoniou <panto at pantathon> Sun, 30 Oct 2005 21:53:48 +0200
> committer Pantelis Antoniou <panto at pantathon> Sun, 30 Oct 2005 21:53:48 
> +0200
> 
>  arch/ppc/mm/fault.c |   13 +++++++++++++
>  1 files changed, 13 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/ppc/mm/fault.c b/arch/ppc/mm/fault.c
> --- a/arch/ppc/mm/fault.c
> +++ b/arch/ppc/mm/fault.c
> @@ -240,6 +240,19 @@ good_area:
>                       goto bad_area;
>               if (!(vma->vm_flags & (VM_READ | VM_EXEC)))
>                       goto bad_area;
> +
> +#ifdef CONFIG_8xx
> +             {
> +             /* 8xx is retarded; news at 11 */
> +             pte_t *ptep = NULL;
> +
> +             if (get_pteptr(mm, address, &ptep) && pte_present(*ptep))
> +                     _tlbie(address);
> +
> +             if (ptep != NULL)
> +                     pte_unmap(ptep);
> +             }
> +#endif
>       }
>  
>       /*


Reply via email to