Re: [PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-08 Thread Benjamin Herrenschmidt
On Thu, 2009-10-08 at 08:45 +0200, Joakim Tjernlund wrote: > > Generic code should sort it out in handle_mm_fault() (or earlier if it > > can't find a VMA at all). > > How can it? You need to know more that just read and write. It does. It's going to look for the VMA, which will tell it what is

Re: [PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-07 Thread Joakim Tjernlund
Benjamin Herrenschmidt wrote on 08/10/2009 02:28:19: > > On Thu, 2009-10-08 at 02:19 +0200, Joakim Tjernlund wrote: > > Benjamin Herrenschmidt wrote on 08/10/2009 > > 02:04:56: > > > > > > > > > > Yes it does. If one adds HWEXEC it will fail, right? > > > > > > Why ? We can just filter out DSISR

Re: [PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-07 Thread Benjamin Herrenschmidt
On Thu, 2009-10-08 at 02:19 +0200, Joakim Tjernlund wrote: > Benjamin Herrenschmidt wrote on 08/10/2009 > 02:04:56: > > > > > > > Yes it does. If one adds HWEXEC it will fail, right? > > > > Why ? We can just filter out DSISR, we don't really care why it failed > > as long as we know whether it w

Re: [PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-07 Thread Joakim Tjernlund
Benjamin Herrenschmidt wrote on 08/10/2009 02:04:56: > > > > Yes it does. If one adds HWEXEC it will fail, right? > > Why ? We can just filter out DSISR, we don't really care why it failed > as long as we know whether it was a store or not. > > > Also this count as a read and you could easily end

Re: [PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-07 Thread Benjamin Herrenschmidt
> Yes it does. If one adds HWEXEC it will fail, right? Why ? We can just filter out DSISR, we don't really care why it failed as long as we know whether it was a store or not. > Also this count as a read and you could easily end up > in the protection case(in 2.4 you do) I'm not sure what you m

Re: [PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-07 Thread Joakim Tjernlund
Joakim Tjernlund/Transmode wrote on 08/10/2009 01:11:23: > > Benjamin Herrenschmidt wrote on 08/10/2009 > 00:20:17: > > > > On Thu, 2009-10-08 at 00:08 +0200, Joakim Tjernlund wrote: > > > > > > Benjamin Herrenschmidt wrote on 07/10/2009 > > > 23:14:52: > > > > > > > > On Wed, 2009-10-07 at 22:

Re: [PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-07 Thread Joakim Tjernlund
Benjamin Herrenschmidt wrote on 08/10/2009 00:20:17: > > On Thu, 2009-10-08 at 00:08 +0200, Joakim Tjernlund wrote: > > > > Benjamin Herrenschmidt wrote on 07/10/2009 > > 23:14:52: > > > > > > On Wed, 2009-10-07 at 22:46 +0200, Joakim Tjernlund wrote: > > > > > > > + andi. r11, r10, _PAGE_U

Re: [PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-07 Thread Benjamin Herrenschmidt
On Thu, 2009-10-08 at 00:08 +0200, Joakim Tjernlund wrote: > > Benjamin Herrenschmidt wrote on 07/10/2009 > 23:14:52: > > > > On Wed, 2009-10-07 at 22:46 +0200, Joakim Tjernlund wrote: > > > > > + andi. r11, r10, _PAGE_USER | _PAGE_ACCESSED > > > + cmpwi cr0, r11, _PAGE_USER | _PAGE_ACCE

Re: [PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-07 Thread Joakim Tjernlund
Benjamin Herrenschmidt wrote on 07/10/2009 23:14:52: > > On Wed, 2009-10-07 at 22:46 +0200, Joakim Tjernlund wrote: > > > + andi. r11, r10, _PAGE_USER | _PAGE_ACCESSED > > + cmpwi cr0, r11, _PAGE_USER | _PAGE_ACCESSED > > + bne- cr0, 2f > > Did you mean _PAGE_PRESENT | _PAGE_ACCESSED

Re: [PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-07 Thread Benjamin Herrenschmidt
On Wed, 2009-10-07 at 22:46 +0200, Joakim Tjernlund wrote: > + andi. r11, r10, _PAGE_USER | _PAGE_ACCESSED > + cmpwi cr0, r11, _PAGE_USER | _PAGE_ACCESSED > + bne-cr0, 2f Did you mean _PAGE_PRESENT | _PAGE_ACCESSED ? > +2: > + mfspr r11, SRR1 > + rlwinm r11, r11, 0

[PATCH 2/6] 8xx: get rid of _PAGE_HWWRITE dependency in MMU.

2009-10-07 Thread Joakim Tjernlund
Update the TLB asm to make proper use of _PAGE_DIRY and _PAGE_ACCESSED. Pros: - I/D TLB Miss never needs to write to the linux pte. - _PAGE_ACCESSED is only set on TLB Error fixing accounting - _PAGE_DIRTY is mapped to 0x100, the changed bit, and is set directly when a page has been made dir