[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] target/i386/cpu: Use the KVM reported value for the number of AS
From: |
Like Xu |
Subject: |
[PATCH] target/i386/cpu: Use the KVM reported value for the number of ASIDs |
Date: |
Thu, 15 Jul 2021 18:39:45 +0800 |
From: Like Xu <likexu@tencent.com>
If KVM is enabled, use the supported number of address space identifiers
(ASIDs) by the CPUID Fn8000_000A_EBX instead of hard-coding it to 0x10.
Signed-off-by: Like Xu <likexu@tencent.com>
---
target/i386/cpu.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 48b55ebd0a..959c4425a4 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -5523,7 +5523,13 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,
uint32_t count,
case 0x8000000A:
if (env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_SVM) {
*eax = 0x00000001; /* SVM Revision */
- *ebx = 0x00000010; /* nr of ASIDs */
+ /* nr of ASIDs */
+ if (kvm_enabled()) {
+ *ebx = kvm_arch_get_supported_cpuid(cs->kvm_state,
+ 0x8000000A, 0, R_EBX);
+ } else {
+ *ebx = 0x00000010;
+ }
*ecx = 0;
*edx = env->features[FEAT_SVM]; /* optional features */
} else {
--
2.32.0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] target/i386/cpu: Use the KVM reported value for the number of ASIDs,
Like Xu <=