History | View | Annotate | Download (42.2 kB)
kvm: Improve reporting of fatal errors
Report KVM_EXIT_UNKNOWN, KVM_EXIT_FAIL_ENTRY, and KVM_EXIT_EXCEPTIONwith more details to stderr. The latter two are so far x86-only, so movethem into the arch-specific handler. Integrate the Intel real modewarning on KVM_EXIT_FAIL_ENTRY that qemu-kvm carries, but actually...
Add support for async page fault to qemu
Add save/restore of MSR for migration and cpuid bit.
Signed-off-by: Gleb Natapov <gleb@redhat.com>Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
target-xxx: Use fprintf_function (format checking)
fprintf_function uses format checking with GCC_FMT_ATTR.
Cc: Blue Swirl <blauwirbel@gmail.com>Signed-off-by: Stefan Weil <weil@mail.berlios.de>...
Set cpuid definition to 0 before initializing it
This patch cleans the (stack-allocated) cpuid definition to0 before actually initializing it.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>Signed-off-by: Avi Kivity <avi@redhat.com>
Add svm cpuid features
This patch adds the svm cpuid feature flags to the qemuintialization path. It also adds the svm features availableon phenom to its cpu-definition and extends the host cputype to support all svm features KVM can provide.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>...
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 <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Use ARRAY_SIZE macro
Replace array size calculations with ARRAY_SIZE macro.
Implemented with this Coccinelle semantic patch, adapted fromLinux kernel:@type T;T[] E;@
@type T;T[] E;
- (sizeof(E)/sizeof(*E))+ ARRAY_SIZE(E)
@type T;T[] E;@
- (sizeof(E)/sizeof(E[...]))...
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 bitfrom the filter.
Signed-off-by: Andi Kleen <ak@linux.intel.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
fix CPUID vendor override
the meaning of vendor_override is actually the opposite of how itis currently used :-(Fix it to allow KVM to export the non-native CPUID vendor ifexplicitly requested by the user.
The intended behavior is:With TCG: - always inject the configured vendor (either hard-coded, in config...
Enable XSAVE related CPUID
We can support it in KVM now. The 0xd leaf is queried from KVM.
Signed-off-by: Sheng Yang <sheng@linux.intel.com>Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
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 currentCPU for the MMIO.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
resent: x86/cpuid: Add kvm32 CPU model
Create a kvm32 CPU model that describes a least common denominatorfor KVM capable guest CPUs. Useful for migration purposes.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
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 wholeCPUID stuff out of this into a separate file to get bettermaintainable parts....
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 <andre.przywara@amd.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
x86/cpuid: fix missing feature set bits
This one was accidently removed with commitbb0300dc57c10b3721451b0ff566a03f9276cc77
x86/cpuid: moved host_cpuid function and remove prototype
the host_cpuid function was located at the end of the file and hada prototype before it's first use. Move it up and remove theprototype.
x86/cpuid: add missing CPUID feature flag names
Some CPUID feature flags had no string value, so they could not beswitched on or off from the command line.Add names for the missing ones mentioned in the current public CPUIDspecification from both Intel and AMD. Those only mentioned in the...
x86/cpuid: add "host" to the list of supported CPU models
x86/cpuid: add TCG feature bit trimming
In KVM we trim the user provided CPUID bits to match the host CPU'sone. Introduce a similar feature to QEMU/TCG. Create a mask of TCG'scapabilities and apply it to the user bits.This allows to let the CPU models reflect their native archetypes....
x86/cpuid: Always expose 32 and 64-bit CPUs
Since 64-bit capability is just another CPUID bit we now properlymask, there is no reason anymore to hide the 64-bit capable CPUmodels from a 32-bit only QEMU. All 64-bit CPUs can be usedperfectly in 32-bit legacy mode anyway, so these models also make...
x86/cpuid: fix CPUID levels
Bump up the xlevel number for qemu32 to allow parsing of the processorname string for this model.Similiarly the 486 processor should have at least the feature bitleaf enabled.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>...
x86/cpuid: Enable all features of real CPU
Enable all features of real CPU, unsupported features will betrimmed depending on TCG or KVM capabilities.
Move the list of unsupported TCG features near the TCG capabilitiesmasks.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
x86/cpuid: fix indentation