Messages in this thread Patch in this message | | | Subject | Re: [BUG] asm-ppc/pgtable.h breakage from 2.6.7-rc1-bk4 | From | Benjamin Herrenschmidt <> | Date | Sun, 06 Jun 2004 16:05:54 -0500 |
| |
On Sun, 2004-06-06 at 15:48, Benjamin Herrenschmidt wrote: > Ok, please tell me if this patch works, I don't have a machine > to test here. If it's ok, I'll send it to andrew/linus.
Ok, here's one that builds and deals with 4xx and 8xx.
===== include/asm-ppc/pgtable.h 1.33 vs edited ===== --- 1.33/include/asm-ppc/pgtable.h 2004-05-26 09:56:17 -05:00 +++ edited/include/asm-ppc/pgtable.h 2004-06-06 16:02:27 -05:00 @@ -555,8 +555,12 @@ (_PAGE_DIRTY | _PAGE_ACCESSED | _PAGE_RW); pte_update(ptep, 0, bits); } + #define ptep_set_access_flags(__vma, __address, __ptep, __entry, __dirty) \ - __ptep_set_access_flags(__ptep, __entry, __dirty) + do { \ + __ptep_set_access_flags(__ptep, __entry, __dirty); \ + flush_tlb_page_nohash(__vma, __address); \ + } while(0) /* * Macro to mark a page protection value as "uncacheable". ===== arch/ppc/mm/tlb.c 1.10 vs edited ===== --- 1.10/arch/ppc/mm/tlb.c 2004-02-04 23:00:14 -06:00 +++ edited/arch/ppc/mm/tlb.c 2004-06-06 16:01:05 -05:00 @@ -67,6 +67,17 @@ } /* + * Called by ptep_set_access_flags, must flush on CPUs for which the + * DSI handler can't just "fixup" the TLB on a write fault + */ +void flush_tlb_page_nohash(struct vm_area_struct *vma, unsigned long addr) +{ + if (Hash != 0) + return; + _tlbie(addr); +} + +/* * Called at the end of a mmu_gather operation to make sure the * TLB flush is completely done. */
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |