Loading arch/arc/mm/tlb.c +8 −5 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ static void tlb_entry_erase(unsigned int vaddr_n_asid) } } static void tlb_entry_insert(unsigned int pd0, pte_t pd1) static void tlb_entry_insert(unsigned int pd0, phys_addr_t pd1) { unsigned int idx; Loading Loading @@ -109,13 +109,16 @@ static void tlb_entry_erase(unsigned int vaddr_n_asid) write_aux_reg(ARC_REG_TLBCOMMAND, TLBDeleteEntry); } static void tlb_entry_insert(unsigned int pd0, pte_t pd1) static void tlb_entry_insert(unsigned int pd0, phys_addr_t pd1) { write_aux_reg(ARC_REG_TLBPD0, pd0); write_aux_reg(ARC_REG_TLBPD1, pd1); if (is_pae40_enabled()) if (!is_pae40_enabled()) { write_aux_reg(ARC_REG_TLBPD1, pd1); } else { write_aux_reg(ARC_REG_TLBPD1, pd1 & 0xFFFFFFFF); write_aux_reg(ARC_REG_TLBPD1HI, (u64)pd1 >> 32); } write_aux_reg(ARC_REG_TLBCOMMAND, TLBInsertEntry); } Loading Loading @@ -391,7 +394,7 @@ void create_tlb(struct vm_area_struct *vma, unsigned long vaddr, pte_t *ptep) unsigned long flags; unsigned int asid_or_sasid, rwx; unsigned long pd0; pte_t pd1; phys_addr_t pd1; /* * create_tlb() assumes that current->mm == vma->mm, since Loading Loading
arch/arc/mm/tlb.c +8 −5 Original line number Diff line number Diff line Loading @@ -71,7 +71,7 @@ static void tlb_entry_erase(unsigned int vaddr_n_asid) } } static void tlb_entry_insert(unsigned int pd0, pte_t pd1) static void tlb_entry_insert(unsigned int pd0, phys_addr_t pd1) { unsigned int idx; Loading Loading @@ -109,13 +109,16 @@ static void tlb_entry_erase(unsigned int vaddr_n_asid) write_aux_reg(ARC_REG_TLBCOMMAND, TLBDeleteEntry); } static void tlb_entry_insert(unsigned int pd0, pte_t pd1) static void tlb_entry_insert(unsigned int pd0, phys_addr_t pd1) { write_aux_reg(ARC_REG_TLBPD0, pd0); write_aux_reg(ARC_REG_TLBPD1, pd1); if (is_pae40_enabled()) if (!is_pae40_enabled()) { write_aux_reg(ARC_REG_TLBPD1, pd1); } else { write_aux_reg(ARC_REG_TLBPD1, pd1 & 0xFFFFFFFF); write_aux_reg(ARC_REG_TLBPD1HI, (u64)pd1 >> 32); } write_aux_reg(ARC_REG_TLBCOMMAND, TLBInsertEntry); } Loading Loading @@ -391,7 +394,7 @@ void create_tlb(struct vm_area_struct *vma, unsigned long vaddr, pte_t *ptep) unsigned long flags; unsigned int asid_or_sasid, rwx; unsigned long pd0; pte_t pd1; phys_addr_t pd1; /* * create_tlb() assumes that current->mm == vma->mm, since Loading