Commit 26808ceb authored by Huacai Chen's avatar Huacai Chen
Browse files

LoongArch: Fix EENTRY/MERRENTRY setting in setup_tlb_handler()



setup_tlb_handler() is expected to set per-cpu exception handlers, but
it only set the TLBRENTRY successfully because of copy & paste errors,
so fix it.

Reviewed-by: default avatarWANG Xuerui <git@xen0n.name>
Signed-off-by: default avatarHuacai Chen <chenhuacai@loongson.cn>
parent bab1c299
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -286,10 +286,11 @@ void setup_tlb_handler(int cpu)
			return;

		addr = page_address(page);
		pcpu_handlers[cpu] = virt_to_phys(addr);
		pcpu_handlers[cpu] = (unsigned long)addr;
		memcpy((void *)addr, (void *)eentry, vec_sz);
		local_flush_icache_range((unsigned long)addr, (unsigned long)addr + vec_sz);
		csr_write64(pcpu_handlers[cpu], LOONGARCH_CSR_TLBRENTRY);
		csr_write64(pcpu_handlers[cpu], LOONGARCH_CSR_EENTRY);
		csr_write64(pcpu_handlers[cpu], LOONGARCH_CSR_MERRENTRY);
		csr_write64(pcpu_handlers[cpu] + 80*VECSIZE, LOONGARCH_CSR_TLBRENTRY);
	}
#endif