« Previous | Next » 

Revision 99b88a17

ID99b88a1708919934f4092f7b6dcc2cca9d4072e9

Added by Igor Mammedov about 11 years ago

target-i386: Replace uint32_t vendor fields by vendor string in x86_def_t

Vendor property setter takes string as vendor value but cpudefs
use uint32_t vendor123 fields to define vendor value. It makes it
difficult to unify and use property setter for values from cpudefs.

Simplify code by using vendor property setter, vendor123 fields
are converted into vendor13 array to keep its value. And vendor
property setter is used to access/set value on CPU.

- Make for() cycle reusable for the next patch by adding
x86_cpu_vendor_words2str()

Intel's CPUID spec1 says:
"
5.1.1 ...
These registers contain the ASCII string: GenuineIntel
...
"

List2 of known vendor values shows that they all are 12 ASCII
characters long, padded where necessary with space.

Current supported values are all ASCII characters packed in
ebx, edx, ecx. So lets state that QEMU supports 12 printable ASCII
characters packed in ebx, edx, ecx registers for cpuid(0) instruction.

*1 - http://www.intel.com/Assets/PDF/appnote/241618.pdf
*2 - http://en.wikipedia.org/wiki/CPUID#EAX.3D0:_Get_vendor_ID

Signed-off-by: Igor Mammedov <>
Signed-off-by: Andreas Färber <>

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences