kernel_optimize_test/include
Dan Kenigsberg 0771671749 KVM: Enhance guest cpuid management
The current cpuid management suffers from several problems, which inhibit
passing through the host feature set to the guest:

 - No way to tell which features the host supports

  While some features can be supported with no changes to kvm, others
  need explicit support.  That means kvm needs to vet the feature set
  before it is passed to the guest.

 - No support for indexed or stateful cpuid entries

  Some cpuid entries depend on ecx as well as on eax, or on internal
  state in the processor (running cpuid multiple times with the same
  input returns different output).  The current cpuid machinery only
  supports keying on eax.

 - No support for save/restore/migrate

  The internal state above needs to be exposed to userspace so it can
  be saved or migrated.

This patch adds extended cpuid support by means of three new ioctls:

 - KVM_GET_SUPPORTED_CPUID: get all cpuid entries the host (and kvm)
   supports

 - KVM_SET_CPUID2: sets the vcpu's cpuid table

 - KVM_GET_CPUID2: gets the vcpu's cpuid table, including hidden state

[avi: fix original KVM_SET_CPUID not removing nx on non-nx hosts as it did
      before]

Signed-off-by: Dan Kenigsberg <danken@qumranet.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
2008-01-30 17:53:13 +02:00
..
acpi x86: dummy placeholder for acpi/reboot.h 2008-01-30 13:31:17 +01:00
asm-alpha x86: remove flush_agp_mappings() 2008-01-30 13:34:07 +01:00
asm-arm ext4: Add ext4_find_next_bit() 2008-01-28 23:58:27 -05:00
asm-avr32
asm-blackfin
asm-cris
asm-frv
asm-generic x86: add testcases for RODATA and NX protections/attributes 2008-01-30 13:34:08 +01:00
asm-h8300
asm-ia64 x86: remove flush_agp_mappings() 2008-01-30 13:34:07 +01:00
asm-m32r core: remove last users of empty FASTCALL macro 2008-01-30 13:31:17 +01:00
asm-m68k ext4: Add ext4_find_next_bit() 2008-01-28 23:58:27 -05:00
asm-m68knommu ext4: Add ext4_find_next_bit() 2008-01-28 23:58:27 -05:00
asm-mips [MIPS] Malta, Atlas: move an extern function declaration to the header file 2008-01-29 10:15:05 +00:00
asm-parisc x86: remove flush_agp_mappings() 2008-01-30 13:34:07 +01:00
asm-powerpc x86: remove flush_agp_mappings() 2008-01-30 13:34:07 +01:00
asm-ppc
asm-s390 percpu: move arch XX_PER_CPU_XX definitions into linux/percpu.h 2008-01-30 13:32:52 +01:00
asm-sh
asm-sparc
asm-sparc64 x86: remove flush_agp_mappings() 2008-01-30 13:34:07 +01:00
asm-um git-x86: unbreak UML 2008-01-30 13:32:38 +01:00
asm-v850
asm-x86 KVM: Enhance guest cpuid management 2008-01-30 17:53:13 +02:00
asm-xtensa
crypto
keys
linux KVM: Enhance guest cpuid management 2008-01-30 17:53:13 +02:00
math-emu
media
mtd
net [NET_SCHED]: act_api: use PTR_ERR in tcf_action_init/tcf_action_get 2008-01-28 15:11:17 -08:00
pcmcia
rdma
rxrpc
scsi
sound
video
xen x86: page.h: make pte_t a union to always include 2008-01-30 13:32:57 +01:00
Kbuild