Commit 7923ef4f authored by Paolo Bonzini's avatar Paolo Bonzini

KVM: nSVM: remove trailing padding for struct vmcb_control_area

Allow placing the VMCB structs on the stack or in other structs without
wasting too much space.  Add BUILD_BUG_ON as a quick safeguard against typos.
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 2f675917
...@@ -96,7 +96,6 @@ struct __attribute__ ((__packed__)) vmcb_control_area { ...@@ -96,7 +96,6 @@ struct __attribute__ ((__packed__)) vmcb_control_area {
u8 reserved_6[8]; /* Offset 0xe8 */ u8 reserved_6[8]; /* Offset 0xe8 */
u64 avic_logical_id; /* Offset 0xf0 */ u64 avic_logical_id; /* Offset 0xf0 */
u64 avic_physical_id; /* Offset 0xf8 */ u64 avic_physical_id; /* Offset 0xf8 */
u8 reserved_7[768];
}; };
...@@ -203,8 +202,16 @@ struct __attribute__ ((__packed__)) vmcb_save_area { ...@@ -203,8 +202,16 @@ struct __attribute__ ((__packed__)) vmcb_save_area {
u64 last_excp_to; u64 last_excp_to;
}; };
static inline void __unused_size_checks(void)
{
BUILD_BUG_ON(sizeof(struct vmcb_save_area) != 0x298);
BUILD_BUG_ON(sizeof(struct vmcb_control_area) != 256);
}
struct __attribute__ ((__packed__)) vmcb { struct __attribute__ ((__packed__)) vmcb {
struct vmcb_control_area control; struct vmcb_control_area control;
u8 reserved_control[1024 - sizeof(struct vmcb_control_area)];
struct vmcb_save_area save; struct vmcb_save_area save;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment