* [PATCH 02/15] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data)
[not found] <1586763024-12197-1-git-send-email-chenhc@lemote.com>
@ 2020-04-13 7:30 ` Huacai Chen
2020-04-21 19:56 ` Sasha Levin
2020-04-13 7:30 ` [PATCH 03/15] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits Huacai Chen
1 sibling, 1 reply; 6+ messages in thread
From: Huacai Chen @ 2020-04-13 7:30 UTC (permalink / raw)
To: Paolo Bonzini, Thomas Bogendoerfer
Cc: kvm, qemu-devel, 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 41204a4..5794584 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] 6+ messages in thread
* [PATCH 03/15] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits
[not found] <1586763024-12197-1-git-send-email-chenhc@lemote.com>
2020-04-13 7:30 ` [PATCH 02/15] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) Huacai Chen
@ 2020-04-13 7:30 ` Huacai Chen
2020-04-21 19:56 ` Sasha Levin
1 sibling, 1 reply; 6+ messages in thread
From: Huacai Chen @ 2020-04-13 7:30 UTC (permalink / raw)
To: Paolo Bonzini, Thomas Bogendoerfer
Cc: kvm, qemu-devel, 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 5794584..7b47a32 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] 6+ messages in thread
* Re: [PATCH 02/15] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data)
2020-04-13 7:30 ` [PATCH 02/15] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) Huacai Chen
@ 2020-04-21 19:56 ` Sasha Levin
2020-04-22 4:40 ` chen huacai
0 siblings, 1 reply; 6+ messages in thread
From: Sasha Levin @ 2020-04-21 19:56 UTC (permalink / raw)
To: Sasha Levin, Huacai Chen, Xing Li, Paolo Bonzini
Cc: kvm, qemu-devel, 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.5, v5.5.18, v5.4.33, v4.19.116, v4.14.176, v4.9.219, v4.4.219.
v5.6.5: Build OK!
v5.5.18: Build OK!
v5.4.33: Build OK!
v4.19.116: Build OK!
v4.14.176: Build OK!
v4.9.219: Build OK!
v4.4.219: 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] 6+ messages in thread
* Re: [PATCH 03/15] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits
2020-04-13 7:30 ` [PATCH 03/15] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits Huacai Chen
@ 2020-04-21 19:56 ` Sasha Levin
2020-04-22 4:40 ` chen huacai
0 siblings, 1 reply; 6+ messages in thread
From: Sasha Levin @ 2020-04-21 19:56 UTC (permalink / raw)
To: Sasha Levin, Huacai Chen, Xing Li, Paolo Bonzini
Cc: kvm, qemu-devel, 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.5, v5.5.18, v5.4.33, v4.19.116, v4.14.176, v4.9.219, v4.4.219.
v5.6.5: Build OK!
v5.5.18: Build OK!
v5.4.33: Build OK!
v4.19.116: Build OK!
v4.14.176: Build OK!
v4.9.219: Build OK!
v4.4.219: 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()")
9a99c4fd6586 ("KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data)")
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] 6+ messages in thread
* Re: [PATCH 02/15] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data)
2020-04-21 19:56 ` Sasha Levin
@ 2020-04-22 4:40 ` chen huacai
0 siblings, 0 replies; 6+ messages in thread
From: chen huacai @ 2020-04-22 4:40 UTC (permalink / raw)
To: Sasha Levin; +Cc: Huacai Chen, Xing Li, Paolo Bonzini, stable, qemu-level, kvm
Hi, Sasha,
On Wed, Apr 22, 2020 at 9:40 AM 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.5, v5.5.18, v5.4.33, v4.19.116, v4.14.176, v4.9.219, v4.4.219.
>
> v5.6.5: Build OK!
> v5.5.18: Build OK!
> v5.4.33: Build OK!
> v4.19.116: Build OK!
> v4.14.176: Build OK!
> v4.9.219: Build OK!
> v4.4.219: 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 and even below.
>
> --
> Thanks
> Sasha
>
Thanks,
Huacai
--
Huacai Chen
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 03/15] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits
2020-04-21 19:56 ` Sasha Levin
@ 2020-04-22 4:40 ` chen huacai
0 siblings, 0 replies; 6+ messages in thread
From: chen huacai @ 2020-04-22 4:40 UTC (permalink / raw)
To: Sasha Levin; +Cc: Huacai Chen, Xing Li, Paolo Bonzini, stable, qemu-level, kvm
Hi, Sasha,
On Wed, Apr 22, 2020 at 9:42 AM 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.5, v5.5.18, v5.4.33, v4.19.116, v4.14.176, v4.9.219, v4.4.219.
>
> v5.6.5: Build OK!
> v5.5.18: Build OK!
> v5.4.33: Build OK!
> v4.19.116: Build OK!
> v4.14.176: Build OK!
> v4.9.219: Build OK!
> v4.4.219: 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()")
> 9a99c4fd6586 ("KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data)")
> 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 and even below.
>
> --
> Thanks
> Sasha
>
--
Huacai Chen
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-04-22 4:33 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1586763024-12197-1-git-send-email-chenhc@lemote.com>
2020-04-13 7:30 ` [PATCH 02/15] KVM: MIPS: Define KVM_ENTRYHI_ASID to cpu_asid_mask(&boot_cpu_data) Huacai Chen
2020-04-21 19:56 ` Sasha Levin
2020-04-22 4:40 ` chen huacai
2020-04-13 7:30 ` [PATCH 03/15] KVM: MIPS: Fix VPN2_MASK definition for variable cpu_vmbits Huacai Chen
2020-04-21 19:56 ` Sasha Levin
2020-04-22 4:40 ` chen huacai
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).