[
  [
    "linux-2.6.23/arch/sh/mm/pmb.c.orig", 
    "linux-2.6.23/arch/sh/mm/pmb.c", 
    [
      "--- linux-2.6.23/arch/sh/mm/pmb.c.orig", 
      "+++ linux-2.6.23/arch/sh/mm/pmb.c", 
      "@@ -465,16 +465,19 @@", 
      "entry = ram_mapping->entries;", 
      "flags = ram_mapping->flags;", 
      "", 
      "-\tfor (i=0; i<NR_PMB_ENTRIES-1; i++)", 
      "-\t\t__clear_pmb_entry(i);", 
      "-", 
      "-\tdo {", 
      "-\t\tentry = (struct pmb_entry*)(((unsigned long)entry) + c2uc);", 
      "-\t\t__set_pmb_entry(entry->vpn, entry->ppn,", 
      "-\t\t\t\tentry->flags | flags, entry->pos);", 
      "-\t\tentry = entry->next;", 
      "-\t} while (entry);", 
      "-", 
      "+        entry = (struct pmb_entry*)(((unsigned long)entry) + c2uc);", 
      "+", 
      "+        for (i=0; i<NR_PMB_ENTRIES-1; i++)", 
      "+          if (i == entry->pos) {", 
      "+            if (entry->vpn != 0) {", 
      "+              __set_pmb_entry(entry->vpn, entry->ppn,", 
      "+                              entry->flags | flags, entry->pos);", 
      "+            }", 
      "+          }", 
      "+          else {", 
      "+            __clear_pmb_entry(i);", 
      "+          }", 
      "+", 
      "/* Flush out the TLB */", 
      "i =  ctrl_inl(MMUCR);", 
      "i |= MMUCR_TI;"
    ]
  ]
]