summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kvm_coalesced_mmio.c9
-rw-r--r--kvm_i8259.c4
-rw-r--r--kvm_ioapic.c4
-rw-r--r--kvm_lapic.c8
-rw-r--r--kvm_mmu.c12
-rw-r--r--kvm_vmx.c9
6 files changed, 8 insertions, 38 deletions
diff --git a/kvm_coalesced_mmio.c b/kvm_coalesced_mmio.c
index 2b4fc52..7c097e3 100644
--- a/kvm_coalesced_mmio.c
+++ b/kvm_coalesced_mmio.c
@@ -15,12 +15,9 @@
static struct kvm_coalesced_mmio_dev *
to_mmio(struct kvm_io_device *dev)
{
-#ifdef XXX
- return (container_of(dev, struct kvm_coalesced_mmio_dev, dev));
-#else
- XXX_KVM_PROBE;
- return ((struct kvm_coalesced_mmio_dev *)dev);
-#endif
+ uintptr_t dp = (uintptr_t)dev;
+ return ((struct kvm_coalesced_mmio_dev *)(dp -
+ offsetof(struct kvm_coalesced_mmio_dev, dev)));
}
static int
diff --git a/kvm_i8259.c b/kvm_i8259.c
index 022bcf5..ccdde2d 100644
--- a/kvm_i8259.c
+++ b/kvm_i8259.c
@@ -475,11 +475,7 @@ picdev_in_range(gpa_t addr)
static inline struct kvm_pic *
to_pic(struct kvm_io_device *dev)
{
-#ifdef XXX_KVM_DOESNTCOMPILE
- return (container_of(dev, struct kvm_pic, dev));
-#else
return ((struct kvm_pic *)((caddr_t)dev-offsetof(struct kvm_pic, dev)));
-#endif
}
static int
diff --git a/kvm_ioapic.c b/kvm_ioapic.c
index ab5c3f9..e0c3309 100644
--- a/kvm_ioapic.c
+++ b/kvm_ioapic.c
@@ -283,12 +283,8 @@ kvm_ioapic_update_eoi(struct kvm *kvm, int vector, int trigger_mode)
static struct kvm_ioapic *
to_ioapic(struct kvm_io_device *dev)
{
-#ifdef XXX_KVM_DOESNTCOMPILE
- return (container_of(dev, struct kvm_ioapic, dev));
-#else
return (struct kvm_ioapic *)(((caddr_t)dev) -
offsetof(struct kvm_ioapic, dev));
-#endif
}
static int
diff --git a/kvm_lapic.c b/kvm_lapic.c
index 5b5278c..ec122df 100644
--- a/kvm_lapic.c
+++ b/kvm_lapic.c
@@ -600,12 +600,8 @@ __apic_read(struct kvm_lapic *apic, unsigned int offset)
static inline struct kvm_lapic *
to_lapic(struct kvm_io_device *dev)
{
-#ifdef XXX
- return (container_of(dev, struct kvm_lapic, dev));
-#else
- XXX_KVM_PROBE;
- return (dev->lapic);
-#endif
+ return ((struct kvm_lapic *)((uintptr_t)dev -
+ offsetof(struct kvm_lapic, dev)));
}
int
diff --git a/kvm_mmu.c b/kvm_mmu.c
index c908c08..5fa5a15 100644
--- a/kvm_mmu.c
+++ b/kvm_mmu.c
@@ -1452,13 +1452,9 @@ kvm_mmu_change_mmu_pages(struct kvm *kvm, unsigned int kvm_nr_mmu_pages)
!list_is_empty(&kvm->arch.active_mmu_pages)) {
struct kvm_mmu_page *page;
-#ifdef XXX_KVM_DOESNTCOMPILE
- page = container_of(kvm->arch.active_mmu_pages.prev,
- struct kvm_mmu_page, link);
-#else
page = (struct kvm_mmu_page *)
list_head(&kvm->arch.active_mmu_pages);
-#endif
+
/* page removed by kvm_mmu_zap_page */
used_pages -= kvm_mmu_zap_page(kvm, page);
used_pages--;
@@ -2713,13 +2709,7 @@ __kvm_mmu_free_some_pages(struct kvm_vcpu *vcpu)
!list_is_empty(&vcpu->kvm->arch.active_mmu_pages)) {
struct kvm_mmu_page *sp;
-#ifdef XXX
- sp = container_of(vcpu->kvm->arch.active_mmu_pages.prev,
- struct kvm_mmu_page, link);
-#else
- XXX_KVM_PROBE;
sp = list_head(&vcpu->kvm->arch.active_mmu_pages);
-#endif
kvm_mmu_zap_page(vcpu->kvm, sp);
KVM_KSTAT_INC(vcpu->kvm, kvmks_mmu_recycled);
}
diff --git a/kvm_vmx.c b/kvm_vmx.c
index c66ec7a..c999041 100644
--- a/kvm_vmx.c
+++ b/kvm_vmx.c
@@ -178,13 +178,8 @@ typedef struct vcpu_vmx {
static struct vcpu_vmx *
to_vmx(struct kvm_vcpu *vcpu)
{
-#ifdef XXX_KVM_DOESNTCOMPILE
- return (container_of(vcpu, struct vcpu_vmx, vcpu));
-#else
- /* assumes vcpu is first field in vcpu_vmx */
- /* because gcc with kernel flags complains about container_of */
- return ((struct vcpu_vmx *)vcpu);
-#endif
+ return ((struct vcpu_vmx *)((uintptr_t)vcpu -
+ offsetof(struct vcpu_vmx, vcpu)));
}
typedef struct vmcs_config {