diff options
author | Justin Terry (VM) via Qemu-devel <qemu-devel@nongnu.org> | 2018-02-26 09:13:35 -0800 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2018-03-06 14:01:29 +0100 |
commit | e2940978fc86b2bf2016e115c56c01f850092bfb (patch) | |
tree | 4ef091c7804083688e952c6aa45ab5f2889efbff /target/i386/whpx-all.c | |
parent | 2bf3e74de4e5e33eb477e9ebe1839f9594173773 (diff) |
WHXP Removes the use of WHvGetExitContextSize
The use of WHvGetExitContextSize will break ABI compatibility if the platform
changes the context size while a qemu compiled executable does not recompile.
To avoid this we now use sizeof and let the platform determine which version
of the struction was passed for ABI compatibility.
Signed-off-by: Justin Terry (VM) <juterry@microsoft.com>
Message-Id: <1519665216-1078-8-git-send-email-juterry@microsoft.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Justin Terry (VM) via Qemu-devel <qemu-devel@nongnu.org>
Diffstat (limited to 'target/i386/whpx-all.c')
-rw-r--r-- | target/i386/whpx-all.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/target/i386/whpx-all.c b/target/i386/whpx-all.c index 47a6935288..24387bebad 100644 --- a/target/i386/whpx-all.c +++ b/target/i386/whpx-all.c @@ -32,7 +32,6 @@ struct whpx_state { uint64_t mem_quota; WHV_PARTITION_HANDLE partition; - uint32_t exit_ctx_size; }; static const WHV_REGISTER_NAME whpx_register_names[] = { @@ -899,7 +898,7 @@ static int whpx_vcpu_run(CPUState *cpu) } hr = WHvRunVirtualProcessor(whpx->partition, cpu->cpu_index, - &vcpu->exit_ctx, whpx->exit_ctx_size); + &vcpu->exit_ctx, sizeof(vcpu->exit_ctx)); if (FAILED(hr)) { error_report("WHPX: Failed to exec a virtual processor," @@ -1042,8 +1041,7 @@ int whpx_init_vcpu(CPUState *cpu) } } - vcpu = g_malloc0(FIELD_OFFSET(struct whpx_vcpu, exit_ctx) + - whpx->exit_ctx_size); + vcpu = g_malloc0(sizeof(struct whpx_vcpu)); if (!vcpu) { error_report("WHPX: Failed to allocte VCPU context."); @@ -1300,9 +1298,6 @@ static int whpx_accel_init(MachineState *ms) goto error; } - whpx->exit_ctx_size = WHvGetRunExitContextSize(); - assert(whpx->exit_ctx_size); - whpx_memory_init(); cpu_interrupt_handler = whpx_handle_interrupt; |