LoongArch: mm: Add page table mapped mode support for virt_to_page()
authorEnze Li <lienze@kylinos.cn>
Wed, 6 Sep 2023 14:53:55 +0000 (22:53 +0800)
committerHuacai Chen <chenhuacai@loongson.cn>
Wed, 6 Sep 2023 14:53:55 +0000 (22:53 +0800)
commit8b5cb1cbf33292372933e727805e68b506852234
tree7fd867e455d430dc775292c7b912284e1d21d457
parentec9fee79d48f2f05cb1b95dc901071aa3670f228
LoongArch: mm: Add page table mapped mode support for virt_to_page()

According to LoongArch documentations, there are two types of address
translation modes: direct mapped address translation mode (DMW mode) and
page table mapped address translation mode (TLB mode).

Currently, virt_to_page() only supports direct mapped mode. This patch
determines which mode is used, and adds corresponding handling functions
for both modes.

For more details on the two modes, see [1].

[1] https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html#virtual-address-space-and-address-translation-mode

Signed-off-by: Enze Li <lienze@kylinos.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
arch/loongarch/include/asm/page.h
arch/loongarch/include/asm/pgtable.h
arch/loongarch/mm/pgtable.c