* [PATCH V2 01/14] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) [not found] <1587726933-31757-1-git-send-email-chenhc@lemote.com> @ 2020-04-24 11:15 ` Huacai Chen 2020-04-26 15:03 ` Sasha Levin 2020-04-24 11:15 ` [PATCH V2 02/14] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits Huacai Chen 1 sibling, 1 reply; 4+ messages in thread From: Huacai Chen @ 2020-04-24 11:15 UTC (permalink / raw) To: Paolo Bonzini, Thomas Bogendoerfer Cc: kvm, linux-mips, Fuxin Zhang, Huacai Chen, Jiaxun Yang, Xing Li, stable, Huacai Chen From: Xing Li <lixing@loongson.cn> The code in decode_config4() of arch/mips/kernel/cpu-probe.c asid_mask = MIPS_ENTRYHI_ASID; if (config4 & MIPS_CONF4_AE) asid_mask |= MIPS_ENTRYHI_ASIDX; set_cpu_asid_mask(c, asid_mask); set asid_mask to cpuinfo->asid_mask. So in order to support variable ASID_MASK, KVM_ENTRYHI_ASID should also be changed to cpu_asid_mask(&boot_cpu_data). Cc: stable@vger.kernel.org Signed-off-by: Xing Li <lixing@loongson.cn> [Huacai: Change current_cpu_data to boot_cpu_data for optimization] Signed-off-by: Huacai Chen <chenhc@lemote.com> --- arch/mips/include/asm/kvm_host.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/mips/include/asm/kvm_host.h b/arch/mips/include/asm/kvm_host.h index 2c343c3..a01cee9 100644 --- a/arch/mips/include/asm/kvm_host.h +++ b/arch/mips/include/asm/kvm_host.h @@ -275,7 +275,7 @@ enum emulation_result { #define MIPS3_PG_FRAME 0x3fffffc0 #define VPN2_MASK 0xffffe000 -#define KVM_ENTRYHI_ASID MIPS_ENTRYHI_ASID +#define KVM_ENTRYHI_ASID cpu_asid_mask(&boot_cpu_data) #define TLB_IS_GLOBAL(x) ((x).tlb_lo[0] & (x).tlb_lo[1] & ENTRYLO_G) #define TLB_VPN2(x) ((x).tlb_hi & VPN2_MASK) #define TLB_ASID(x) ((x).tlb_hi & KVM_ENTRYHI_ASID) -- 2.7.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH V2 01/14] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) 2020-04-24 11:15 ` [PATCH V2 01/14] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) Huacai Chen @ 2020-04-26 15:03 ` Sasha Levin 2020-04-27 3:42 ` Huacai Chen 0 siblings, 1 reply; 4+ messages in thread From: Sasha Levin @ 2020-04-26 15:03 UTC (permalink / raw) To: Sasha Levin, Huacai Chen, Xing Li, Paolo Bonzini Cc: kvm, linux-mips, stable, stable Hi [This is an automated email] This commit has been processed because it contains a -stable tag. The stable tag indicates that it's relevant for the following trees: all The bot has tested the following trees: v5.6.7, v5.4.35, v4.19.118, v4.14.177, v4.9.220, v4.4.220. v5.6.7: Build OK! v5.4.35: Build OK! v4.19.118: Build OK! v4.14.177: Build OK! v4.9.220: Build OK! v4.4.220: Failed to apply! Possible dependencies: 029499b47738 ("KVM: x86: MMU: Make mmu_set_spte() return emulate value") 19d194c62b25 ("MIPS: KVM: Simplify TLB_* macros") 403015b323a2 ("MIPS: KVM: Move non-TLB handling code out of tlb.c") 7ee0e5b29d27 ("KVM: x86: MMU: Remove unused parameter of __direct_map()") 9fbfb06a4065 ("MIPS: KVM: Arrayify struct kvm_mips_tlb::tlb_lo*") ba049e93aef7 ("kvm: rename pfn_t to kvm_pfn_t") bdb7ed8608f8 ("MIPS: KVM: Convert headers to kernel sized types") ca64c2beecd4 ("MIPS: KVM: Abstract guest ASID mask") caa1faa7aba6 ("MIPS: KVM: Trivial whitespace and style fixes") e6207bbea16c ("MIPS: KVM: Use MIPS_ENTRYLO_* defs from mipsregs.h") NOTE: The patch will not be queued to stable trees until it is upstream. How should we proceed with this patch? -- Thanks Sasha ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH V2 01/14] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) 2020-04-26 15:03 ` Sasha Levin @ 2020-04-27 3:42 ` Huacai Chen 0 siblings, 0 replies; 4+ messages in thread From: Huacai Chen @ 2020-04-27 3:42 UTC (permalink / raw) To: Sasha Levin; +Cc: Xing Li, Paolo Bonzini, kvm, open list:MIPS, stable Hi, Sasha, On Sun, Apr 26, 2020 at 11:04 PM Sasha Levin <sashal@kernel.org> wrote: > > Hi > > [This is an automated email] > > This commit has been processed because it contains a -stable tag. > The stable tag indicates that it's relevant for the following trees: all > > The bot has tested the following trees: v5.6.7, v5.4.35, v4.19.118, v4.14.177, v4.9.220, v4.4.220. > > v5.6.7: Build OK! > v5.4.35: Build OK! > v4.19.118: Build OK! > v4.14.177: Build OK! > v4.9.220: Build OK! > v4.4.220: Failed to apply! Possible dependencies: > 029499b47738 ("KVM: x86: MMU: Make mmu_set_spte() return emulate value") > 19d194c62b25 ("MIPS: KVM: Simplify TLB_* macros") > 403015b323a2 ("MIPS: KVM: Move non-TLB handling code out of tlb.c") > 7ee0e5b29d27 ("KVM: x86: MMU: Remove unused parameter of __direct_map()") > 9fbfb06a4065 ("MIPS: KVM: Arrayify struct kvm_mips_tlb::tlb_lo*") > ba049e93aef7 ("kvm: rename pfn_t to kvm_pfn_t") > bdb7ed8608f8 ("MIPS: KVM: Convert headers to kernel sized types") > ca64c2beecd4 ("MIPS: KVM: Abstract guest ASID mask") > caa1faa7aba6 ("MIPS: KVM: Trivial whitespace and style fixes") > e6207bbea16c ("MIPS: KVM: Use MIPS_ENTRYLO_* defs from mipsregs.h") > > > NOTE: The patch will not be queued to stable trees until it is upstream. > > How should we proceed with this patch? Please ignore this patch in linux-4.4 branch, thanks. Huacai > > -- > Thanks > Sasha ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH V2 02/14] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits [not found] <1587726933-31757-1-git-send-email-chenhc@lemote.com> 2020-04-24 11:15 ` [PATCH V2 01/14] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) Huacai Chen @ 2020-04-24 11:15 ` Huacai Chen 1 sibling, 0 replies; 4+ messages in thread From: Huacai Chen @ 2020-04-24 11:15 UTC (permalink / raw) To: Paolo Bonzini, Thomas Bogendoerfer Cc: kvm, linux-mips, Fuxin Zhang, Huacai Chen, Jiaxun Yang, Xing Li, stable, Huacai Chen From: Xing Li <lixing@loongson.cn> If a CPU support more than 32bit vmbits (which is true for 64bit CPUs), VPN2_MASK set to fixed 0xffffe000 will lead to a wrong EntryHi in some functions such as _kvm_mips_host_tlb_inv(). The cpu_vmbits definition of 32bit CPU in cpu-features.h is 31, so we still use the old definition. Cc: stable@vger.kernel.org Signed-off-by: Xing Li <lixing@loongson.cn> [Huacai: Improve commit messages] Signed-off-by: Huacai Chen <chenhc@lemote.com> --- arch/mips/include/asm/kvm_host.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/mips/include/asm/kvm_host.h b/arch/mips/include/asm/kvm_host.h index a01cee9..caa2b936 100644 --- a/arch/mips/include/asm/kvm_host.h +++ b/arch/mips/include/asm/kvm_host.h @@ -274,7 +274,11 @@ enum emulation_result { #define MIPS3_PG_SHIFT 6 #define MIPS3_PG_FRAME 0x3fffffc0 +#if defined(CONFIG_64BIT) +#define VPN2_MASK GENMASK(cpu_vmbits - 1, 13) +#else #define VPN2_MASK 0xffffe000 +#endif #define KVM_ENTRYHI_ASID cpu_asid_mask(&boot_cpu_data) #define TLB_IS_GLOBAL(x) ((x).tlb_lo[0] & (x).tlb_lo[1] & ENTRYLO_G) #define TLB_VPN2(x) ((x).tlb_hi & VPN2_MASK) -- 2.7.0 ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-04-27 3:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1587726933-31757-1-git-send-email-chenhc@lemote.com>
2020-04-24 11:15 ` [PATCH V2 01/14] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) Huacai Chen
2020-04-26 15:03 ` Sasha Levin
2020-04-27 3:42 ` Huacai Chen
2020-04-24 11:15 ` [PATCH V2 02/14] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits Huacai Chen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).