aboutsummaryrefslogtreecommitdiff
path: root/target-i386
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-10-17 08:08:48 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-10-17 08:08:48 +0000
commite65bdffaf29beb1102c289b6a43675e172903077 (patch)
tree5b7f984fd5360b55ae36091d595604816a0e0e02 /target-i386
parented69522cafef8b22c8411e38141751d23af90334 (diff)
i386/SVM: return amount of ASIDs
With SVM the TLB supports tagging to distinguish TLB entries from different virtual CPUs. This tag is called an ASID. The amount of ASIDs is given in EBX of the SVM-CPUID-leaf. Currently we return 0, which might break hypervisors. Let's better return something >0 here, say 0x10. Since we're flushing the complete TLB on every VM entry and exit we're not making use of the ASID information anyways. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5496 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386')
-rw-r--r--target-i386/op_helper.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/target-i386/op_helper.c b/target-i386/op_helper.c
index 644598a4b9..ebb5824544 100644
--- a/target-i386/op_helper.c
+++ b/target-i386/op_helper.c
@@ -2037,10 +2037,10 @@ void helper_cpuid(void)
EDX = 0;
break;
case 0x8000000A:
- EAX = 0x00000001;
- EBX = 0;
+ EAX = 0x00000001; /* SVM Revision */
+ EBX = 0x00000010; /* nr of ASIDs */
ECX = 0;
- EDX = 0;
+ EDX = 0; /* optional features */
break;
default:
/* reserved values: zero */