Commit e65bdffaf29beb1102c289b6a43675e172903077

Authored by aurel32
1 parent ed69522c

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
Showing 1 changed file with 3 additions and 3 deletions
target-i386/op_helper.c
... ... @@ -2037,10 +2037,10 @@ void helper_cpuid(void)
2037 2037 EDX = 0;
2038 2038 break;
2039 2039 case 0x8000000A:
2040   - EAX = 0x00000001;
2041   - EBX = 0;
  2040 + EAX = 0x00000001; /* SVM Revision */
  2041 + EBX = 0x00000010; /* nr of ASIDs */
2042 2042 ECX = 0;
2043   - EDX = 0;
  2043 + EDX = 0; /* optional features */
2044 2044 break;
2045 2045 default:
2046 2046 /* reserved values: zero */
... ...