| Branch: | Revision:

root / target-i386 / cpuid.c @ 66fcf8ff

History | View | Annotate | Download (42.2 kB)

# Date Author Comment
e41e0fc6 05/02/2011 03:38 pm Jan Kiszka

x86: Allow multiple cpu feature matches of lookup_feature

kvmclock is represented by two feature bits. Therefore, lookup_feature
needs to continue its search even after the first match. Enhance it
accordingly and switch to a bool return type at this chance....

642258c6 05/02/2011 03:38 pm Glauber Costa

kvm: add kvmclock to its second bit

We have two bits that can represent kvmclock in cpuid.
They signal the guest which msr set to use. When we tweak flags
involving this value - specially when we use "-", we have to act on both.

Signed-off-by: Glauber Costa <>...

ebda377f 03/16/2011 10:11 pm Jan Kiszka

x86: Properly reset PAT MSR

Conforming to the Intel spec, set the power-on value of PAT also on
reset, but save it across INIT.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Marcelo Tosatti <>

bb44e0d1 01/23/2011 06:27 am Jan Kiszka

kvm: Improve reporting of fatal errors

with more details to stderr. The latter two are so far x86-only, so move
them into the arch-specific handler. Integrate the Intel real mode
warning on KVM_EXIT_FAIL_ENTRY that qemu-kvm carries, but actually...

f6584ee2 11/16/2010 04:40 pm Gleb Natapov

Add support for async page fault to qemu

Add save/restore of MSR for migration and cpuid bit.

Signed-off-by: Gleb Natapov <>
Signed-off-by: Marcelo Tosatti <>

9a78eead 10/30/2010 11:01 am Stefan Weil

target-xxx: Use fprintf_function (format checking)

fprintf_function uses format checking with GCC_FMT_ATTR.

Format errors were fixed in
  • target-i386/helper.c
  • target-mips/translate.c
  • target-ppc/translate.c

Cc: Blue Swirl <>
Signed-off-by: Stefan Weil <>...

db0ad1ba 10/21/2010 12:15 am Joerg Roedel

Set cpuid definition to 0 before initializing it

This patch cleans the (stack-allocated) cpuid definition to
0 before actually initializing it.

Signed-off-by: Joerg Roedel <>
Signed-off-by: Avi Kivity <>

296acb64 10/21/2010 12:15 am Joerg Roedel

Add svm cpuid features

This patch adds the svm cpuid feature flags to the qemu
intialization path. It also adds the svm features available
on phenom to its cpu-definition and extends the host cpu
type to support all svm features KVM can provide.

Signed-off-by: Joerg Roedel <>...

3329f07b 08/23/2010 01:11 am Gerd Hoffmann

QemuOpts: make most qemu_*_opts static

Switch tree to lookup-by-name using qemu_find_opts().
Also hook up virtfs options so qemu_find_opts works for them too.

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

66fe09ee 08/21/2010 12:03 am Blue Swirl

Use ARRAY_SIZE macro

Replace array size calculations with ARRAY_SIZE macro.

Implemented with this Coccinelle semantic patch, adapted from
Linux kernel:
type T;
T[] E;

- (sizeof(E)/sizeof(*E))

type T;
T[] E;

- (sizeof(E)/sizeof(E[...]))...

8713f8ff 07/02/2010 02:55 am Andi Kleen

Don't declare XSAVE as supported

i386 cpuid.c currently claims XSAVE is supported in the CPUID filter,
but that's not true: Only FXSAVE is supported. Remove that bit
from the filter.

Signed-off-by: Andi Kleen <>
Signed-off-by: Aurelien Jarno <>

89354998 06/28/2010 07:06 pm Andre Przywara

fix CPUID vendor override

the meaning of vendor_override is actually the opposite of how it
is currently used :-(
Fix it to allow KVM to export the non-native CPUID vendor if
explicitly requested by the user.

The intended behavior is:
With TCG:
- always inject the configured vendor (either hard-coded, in config...

51e49430 06/28/2010 07:06 pm Sheng Yang

Enable XSAVE related CPUID

We can support it in KVM now. The 0xd leaf is queried from KVM.

Signed-off-by: Sheng Yang <>
Signed-off-by: Marcelo Tosatti <>

0e26b7b8 06/19/2010 10:42 am Blue Swirl

apic: avoid using CPUState internals

Move the actual CPUState contents handling to cpu.h and cpuid.c.

Handle CPU reset and set env->halted in pc.c.

Add a function to get the local APIC state of the current
CPU for the MMIO.

Signed-off-by: Blue Swirl <>

eafaf1e5 06/01/2010 08:53 pm Andre Przywara

resent: x86/cpuid: Add kvm32 CPU model

Create a kvm32 CPU model that describes a least common denominator
for KVM capable guest CPUs. Useful for migration purposes.

Signed-off-by: Andre Przywara <>
Signed-off-by: Anthony Liguori <>

c6dc6f63 03/13/2010 05:50 pm Andre Przywara

x86/cpuid: move CPUID functions into separate file

about half of target-i386/helper.c consist of CPUID related functions.
Only one of them is a real TCG helper function. So move the whole
CPUID stuff out of this into a separate file to get better
maintainable parts....

42673936 03/13/2010 05:50 pm Andre Przywara

x86/cpuid: replace magic number with named constant

CPUID leaf Fn8000_0001.EDX contains a copy of many Fn0000_0001.EDX bits.
Define a name for this mask to improve readability and avoid typos.

Signed-off-by: Andre Przywara <>
Signed-off-by: Aurelien Jarno <>

4d067ed7 03/13/2010 05:50 pm Andre Przywara

x86/cpuid: fix missing feature set bits

This one was accidently removed with commit

Signed-off-by: Andre Przywara <>
Signed-off-by: Aurelien Jarno <>

bdde476a 03/13/2010 05:50 pm Andre Przywara

x86/cpuid: moved host_cpuid function and remove prototype

the host_cpuid function was located at the end of the file and had
a prototype before it's first use. Move it up and remove the

Signed-off-by: Andre Przywara <>
Signed-off-by: Aurelien Jarno <>

e117f772 03/13/2010 05:50 pm Andre Przywara

x86/cpuid: add missing CPUID feature flag names

Some CPUID feature flags had no string value, so they could not be
switched on or off from the command line.
Add names for the missing ones mentioned in the current public CPUID
specification from both Intel and AMD. Those only mentioned in the...

ed2c54d4 03/13/2010 05:50 pm Andre Przywara

x86/cpuid: add "host" to the list of supported CPU models

Signed-off-by: Andre Przywara <>
Signed-off-by: Aurelien Jarno <>

551a2dec 03/13/2010 05:50 pm Andre Przywara

x86/cpuid: add TCG feature bit trimming

In KVM we trim the user provided CPUID bits to match the host CPU's
one. Introduce a similar feature to QEMU/TCG. Create a mask of TCG's
capabilities and apply it to the user bits.
This allows to let the CPU models reflect their native archetypes....

d3bf5915 03/13/2010 05:50 pm Andre Przywara

x86/cpuid: Always expose 32 and 64-bit CPUs

Since 64-bit capability is just another CPUID bit we now properly
mask, there is no reason anymore to hide the 64-bit capable CPU
models from a 32-bit only QEMU. All 64-bit CPUs can be used
perfectly in 32-bit legacy mode anyway, so these models also make...

58012d66 03/13/2010 05:50 pm Andre Przywara

x86/cpuid: fix CPUID levels

Bump up the xlevel number for qemu32 to allow parsing of the processor
name string for this model.
Similiarly the 486 processor should have at least the feature bit
leaf enabled.

Signed-off-by: Andre Przywara <>...

8560efed 03/13/2010 05:50 pm Aurelien Jarno

x86/cpuid: Enable all features of real CPU

Enable all features of real CPU, unsupported features will be
trimmed depending on TCG or KVM capabilities.

Move the list of unsupported TCG features near the TCG capabilities

Signed-off-by: Aurelien Jarno <>

2f7a21c4 03/13/2010 05:50 pm Aurelien Jarno

x86/cpuid: fix indentation

Signed-off-by: Aurelien Jarno <>