[PATCH 01/15] powerpc/cell: Move spu_handle_mm_fault() out of cell platform

Michael Neuling mikey at neuling.org
Fri Sep 19 09:26:44 EST 2014


> > @@ -58,12 +56,12 @@ int spu_handle_mm_fault(struct mm_struct *mm, unsigned long ea,
> >  			goto out_unlock;
> >  	}
> >  
> > -	is_write = dsisr & MFC_DSISR_ACCESS_PUT;
> > +	is_write = dsisr & DSISR_ISSTORE;
> >  	if (is_write) {
> >  		if (!(vma->vm_flags & VM_WRITE))
> >  			goto out_unlock;
> >  	} else {
> > -		if (dsisr & MFC_DSISR_ACCESS_DENIED)
> > +		if (dsisr & DSISR_PROTFAULT)
> >  			goto out_unlock;
> >  		if (!(vma->vm_flags & (VM_READ | VM_EXEC)))
> >  			goto out_unlock;
> 
> Consistent DSISR encodings? woot! :)

Yep!

arch/powerpc/include/asm/spu.h:605:#define MFC_DSISR_ACCESS_PUT         (1 << 25)
arch/powerpc/include/asm/reg.h:255:#define   DSISR_ISSTORE              0x02000000      /* access was a store */

and 

arch/powerpc/include/asm/spu.h:603:#define MFC_DSISR_ACCESS_DENIED              (1 << 27)
arch/powerpc/include/asm/reg.h:254:#define   DSISR_PROTFAULT    0x08000000      /* protection fault */

Mikey


More information about the Linuxppc-dev mailing list