diff options
author | Avi Kivity <avi@redhat.com> | 2010-04-28 15:39:01 +0300 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-05-19 11:36:29 +0300 |
commit | 0ee75bead83da4791e5cbf659806c54d8ee40f12 (patch) | |
tree | 3b3856aac1fc94d153f9e6c27f383f81be06185a /arch/x86 | |
parent | 884a0ff0b68b3ece5987507de168215e14ef7849 (diff) | |
download | op-kernel-dev-0ee75bead83da4791e5cbf659806c54d8ee40f12.zip op-kernel-dev-0ee75bead83da4791e5cbf659806c54d8ee40f12.tar.gz |
KVM: Let vcpu structure alignment be determined at runtime
vmx and svm vcpus have different contents and therefore may have different
alignmment requirements. Let each specify its required alignment.
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kvm/svm.c | 2 | ||||
-rw-r--r-- | arch/x86/kvm/vmx.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 889f660..2511664 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -3319,7 +3319,7 @@ static struct kvm_x86_ops svm_x86_ops = { static int __init svm_init(void) { return kvm_init(&svm_x86_ops, sizeof(struct vcpu_svm), - THIS_MODULE); + __alignof__(struct vcpu_svm), THIS_MODULE); } static void __exit svm_exit(void) diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 875b785..2e87296 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -4245,7 +4245,8 @@ static int __init vmx_init(void) set_bit(0, vmx_vpid_bitmap); /* 0 is reserved for host */ - r = kvm_init(&vmx_x86_ops, sizeof(struct vcpu_vmx), THIS_MODULE); + r = kvm_init(&vmx_x86_ops, sizeof(struct vcpu_vmx), + __alignof__(struct vcpu_vmx), THIS_MODULE); if (r) goto out3; |