[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 31/34] WHXP Removes the use of WHvGetExitContextSize
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PULL 31/34] WHXP Removes the use of WHvGetExitContextSize |
Date: |
Tue, 6 Mar 2018 14:19:27 +0100 |
From: "Justin Terry (VM) via Qemu-devel" <address@hidden>
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) <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Justin Terry (VM) via Qemu-devel <address@hidden>
---
target/i386/whpx-all.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/target/i386/whpx-all.c b/target/i386/whpx-all.c
index 47a6935..24387be 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;
--
1.8.3.1
- [Qemu-devel] [PULL 21/34] address_space_rw: address_space_to_flatview needs RCU lock, (continued)
- [Qemu-devel] [PULL 21/34] address_space_rw: address_space_to_flatview needs RCU lock, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 23/34] checkpatch: add check for `while` and `for`, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 24/34] Revert "build-sys: compile with -Og or -O1 when --enable-debug", Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 25/34] Fixing WHPX casing to match SDK, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 27/34] Remove unnecessary WHPX __debugbreak();, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 26/34] Resolves WHPX breaking changes in SDK 17095, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 29/34] Fix WHPX typo in 'mmio', Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 30/34] Fix WHPX issue leaking tpr values, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 34/34] use g_path_get_basename instead of basename, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 31/34] WHXP Removes the use of WHvGetExitContextSize,
Paolo Bonzini <=
- [Qemu-devel] [PULL 32/34] WHPX improve interrupt notification registration, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 33/34] balloon: Fix documentation of the --balloon parameter and deprecate it, Paolo Bonzini, 2018/03/06
- [Qemu-devel] [PULL 28/34] Fix WHPX additional lock acquisition, Paolo Bonzini, 2018/03/06
- Re: [Qemu-devel] [PULL 00/34] Misc patches for 2018-03-06, no-reply, 2018/03/06
- Re: [Qemu-devel] [PULL 00/34] Misc patches for 2018-03-06, Peter Maydell, 2018/03/06
- Re: [Qemu-devel] [PULL 00/34] Misc patches for 2018-03-06, Thomas Huth, 2018/03/07