summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Mustacchi <rm@joyent.com>2011-06-08 17:56:59 -0700
committerRobert Mustacchi <rm@joyent.com>2011-06-08 17:56:59 -0700
commitdc7ba399867d60eeb79f17c3ccc135626749c570 (patch)
treede4475118f6c4d1468e4ce54e9ffe7d1e09f7608
parent7b763653a07c29001d977c686dc1f30e2bde4f6d (diff)
downloadillumos-kvm-dc7ba399867d60eeb79f17c3ccc135626749c570.tar.gz
HVM-347 Always run code ifdef'd with CONFIG_KVM_APIC_ARCHITECTURE
-rw-r--r--Makefile2
-rw-r--r--kvm.c7
-rw-r--r--kvm_host.h4
-rw-r--r--kvm_x86.c2
4 files changed, 2 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index c520f40..e75bb6d 100644
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ LD=/usr/bin/ld
CTFCONVERT=$(KERNEL_SOURCE)/usr/src/tools/ctf/cvt/i386/ctfconvert
CTFMERGE=$(KERNEL_SOURCE)/usr/src/tools/ctf/cvt/i386/ctfmerge
DESTDIR=
-CFLAGS += -D_KERNEL -D_MACHDEP -Dx86 -DDEBUG -c -g -DCONFIG_SOLARIS -DCONFIG_KVM_APIC_ARCHITECTURE -O2 -fident -fno-inline -fno-inline-functions -fno-builtin -fno-asm -nodefaultlibs -D__sun -O -D_ASM_INLINES -ffreestanding -Wall -Wno-unknown-pragmas -Wpointer-arith -Wno-unused -gdwarf-2 -std=c99 -fms-extensions -fno-dwarf2-indirect-strings -Werror -DDIS_MEM -D_KERNEL -ffreestanding -D_SYSCALL32 -D_DDI_STRICT -Di86pc -D_MACHDEP -DOPTERON_ERRATUM_88 -DOPTERON_ERRATUM_91 -DOPTERON_ERRATUM_93 -DOPTERON_ERRATUM_95 -DOPTERON_ERRATUM_99 -DOPTERON_ERRATUM_100 -DOPTERON_ERRATUM_101 -DOPTERON_ERRATUM_108 -DOPTERON_ERRATUM_109 -DOPTERON_ERRATUM_121 -DOPTERON_ERRATUM_122 -DOPTERON_ERRATUM_123 -DOPTERON_ERRATUM_131 -DOPTERON_WORKAROUND_6336786 -DOPTERON_WORKAROUND_6323525 -DOPTERON_ERRATUM_172 -DOPTERON_ERRATUM_298 -I$(KERNEL_SOURCE)/usr/src/uts/common -nostdinc -c -DUTS_RELEASE="5.11" -DUTS_VERSION="joyent.147" -DUTS_PLATFORM="i86pc" -mno-red-zone
+CFLAGS += -D_KERNEL -D_MACHDEP -Dx86 -DDEBUG -c -g -DCONFIG_SOLARIS -O2 -fident -fno-inline -fno-inline-functions -fno-builtin -fno-asm -nodefaultlibs -D__sun -O -D_ASM_INLINES -ffreestanding -Wall -Wno-unknown-pragmas -Wpointer-arith -Wno-unused -gdwarf-2 -std=c99 -fms-extensions -fno-dwarf2-indirect-strings -Werror -DDIS_MEM -D_KERNEL -ffreestanding -D_SYSCALL32 -D_DDI_STRICT -Di86pc -D_MACHDEP -DOPTERON_ERRATUM_88 -DOPTERON_ERRATUM_91 -DOPTERON_ERRATUM_93 -DOPTERON_ERRATUM_95 -DOPTERON_ERRATUM_99 -DOPTERON_ERRATUM_100 -DOPTERON_ERRATUM_101 -DOPTERON_ERRATUM_108 -DOPTERON_ERRATUM_109 -DOPTERON_ERRATUM_121 -DOPTERON_ERRATUM_122 -DOPTERON_ERRATUM_123 -DOPTERON_ERRATUM_131 -DOPTERON_WORKAROUND_6336786 -DOPTERON_WORKAROUND_6323525 -DOPTERON_ERRATUM_172 -DOPTERON_ERRATUM_298 -I$(KERNEL_SOURCE)/usr/src/uts/common -nostdinc -c -DUTS_RELEASE="5.11" -DUTS_VERSION="joyent.147" -DUTS_PLATFORM="i86pc" -mno-red-zone
INCLUDEDIR= -I $(KERNEL_SOURCE)/usr/src/uts/intel -I $(KERNEL_SOURCE)/usr/src/uts/i86pc -I $(KERNEL_SOURCE)/usr/src/uts/common
CSTYLE=$(KERNEL_SOURCE)/usr/src/tools/scripts/cstyle
diff --git a/kvm.c b/kvm.c
index a5551ba..059c324 100644
--- a/kvm.c
+++ b/kvm.c
@@ -1293,10 +1293,8 @@ kvm_vm_ioctl_create_vcpu(struct kvm *kvm, uint32_t id, int *rval_p)
#endif
atomic_inc_32(&kvm->online_vcpus);
-#ifdef CONFIG_KVM_APIC_ARCHITECTURE
if (kvm->bsp_vcpu_id == id)
kvm->bsp_vcpu = vcpu;
-#endif
mutex_exit(&kvm->lock);
return (r);
@@ -1346,9 +1344,7 @@ kvm_dev_ioctl_check_extension_generic(long arg, int *rv)
case KVM_CAP_USER_MEMORY:
case KVM_CAP_DESTROY_MEMORY_REGION_WORKS:
case KVM_CAP_JOIN_MEMORY_REGIONS_WORKS:
-#ifdef CONFIG_KVM_APIC_ARCHITECTURE
case KVM_CAP_SET_BOOT_CPU_ID:
-#endif
case KVM_CAP_INTERNAL_ERROR_DATA:
*rv = 1;
return (DDI_SUCCESS);
@@ -2358,7 +2354,6 @@ kvm_ioctl(dev_t dev, int cmd, intptr_t arg, int md, cred_t *cr, int *rv)
break;
}
-#ifdef CONFIG_KVM_APIC_ARCHITECTURE
case KVM_SET_BOOT_CPU_ID: {
struct kvm_set_boot_cpu_id_ioc boot_cpu_id_ioc;
struct kvm *kvmp;
@@ -2390,7 +2385,7 @@ kvm_ioctl(dev_t dev, int cmd, intptr_t arg, int md, cred_t *cr, int *rv)
mutex_exit(&kvmp->lock);
break;
}
-#endif
+
#ifdef KVM_COALESCED_MMIO_PAGE_OFFSET
case KVM_REGISTER_COALESCED_MMIO: {
struct kvm *kvmp;
diff --git a/kvm_host.h b/kvm_host.h
index ac36601..aaf9fd4 100644
--- a/kvm_host.h
+++ b/kvm_host.h
@@ -196,10 +196,8 @@ typedef struct kvm {
/* the following was a read-copy update mechanism */
/* we'll use a reader-writer lock, for now */
krwlock_t kvm_rwlock;
-#ifdef CONFIG_KVM_APIC_ARCHITECTURE
uint32_t bsp_vcpu_id;
struct kvm_vcpu *bsp_vcpu;
-#endif
struct kvm_vcpu *vcpus[KVM_MAX_VCPUS];
volatile int online_vcpus;
struct list_node vm_list;
@@ -503,9 +501,7 @@ int kvm_set_irq_routing(struct kvm *kvm,
unsigned flags);
void kvm_free_irq_routing(struct kvm *kvm);
-#ifdef CONFIG_KVM_APIC_ARCHITECTURE
extern int kvm_vcpu_is_bsp(struct kvm_vcpu *);
-#endif
void kvm_sigprocmask(int how, sigset_t *, sigset_t *);
diff --git a/kvm_x86.c b/kvm_x86.c
index 86d63fb..c359907 100644
--- a/kvm_x86.c
+++ b/kvm_x86.c
@@ -4540,13 +4540,11 @@ kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs)
update_cr8_intercept(vcpu);
-#ifdef CONFIG_KVM_APIC_ARCHITECTURE
/* Older userspace won't unhalt the vcpu on reset. */
if (kvm_vcpu_is_bsp(vcpu) && kvm_rip_read(vcpu) == 0xfff0 &&
sregs->cs.selector == 0xf000 && sregs->cs.base == 0xffff0000 &&
!is_protmode(vcpu))
vcpu->arch.mp_state = KVM_MP_STATE_RUNNABLE;
-#endif /* CONFIG_KVM_APIC_ARCHITECTURE */
vcpu_put(vcpu);