From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
"Alex Bennée" <alex.bennee@linaro.org>,
xen-devel@lists.xenproject.org, kvm@vger.kernel.org,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Yanan Wang" <wangyanan55@huawei.com>,
"Reinoud Zandijk" <reinoud@netbsd.org>,
"Sunil Muthuswamy" <sunilmut@microsoft.com>
Subject: [PATCH 07/14] accel: Rename struct hax_vcpu_state -> struct AccelvCPUState
Date: Wed, 5 Apr 2023 12:18:04 +0200 [thread overview]
Message-ID: <20230405101811.76663-8-philmd@linaro.org> (raw)
In-Reply-To: <20230405101811.76663-1-philmd@linaro.org>
We want all accelerators to share the same opaque pointer in
CPUState. Start with the HAX context, renaming its forward
declarated structure 'hax_vcpu_state' as 'AccelvCPUState'.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
include/hw/core/cpu.h | 7 +++----
target/i386/hax/hax-i386.h | 3 ++-
target/i386/nvmm/nvmm-all.c | 2 +-
target/i386/whpx/whpx-all.c | 2 +-
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index 193494cde4..173f47d24e 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -235,8 +235,7 @@ typedef struct SavedIOTLB {
struct KVMState;
struct kvm_run;
-
-struct hax_vcpu_state;
+struct AccelvCPUState;
struct hvf_vcpu_state;
/* work queue */
@@ -305,6 +304,7 @@ struct qemu_work_item;
* @next_cpu: Next CPU sharing TB cache.
* @opaque: User data.
* @mem_io_pc: Host Program Counter at which the memory was accessed.
+ * @accel: Pointer to accelerator specific state.
* @kvm_fd: vCPU file descriptor for KVM.
* @work_mutex: Lock to prevent multiple access to @work_list.
* @work_list: List of pending asynchronous work.
@@ -423,6 +423,7 @@ struct CPUState {
uint32_t can_do_io;
int32_t exception_index;
+ struct AccelvCPUState *accel;
/* shared by kvm, hax and hvf */
bool vcpu_dirty;
@@ -442,8 +443,6 @@ struct CPUState {
/* Used for user-only emulation of prctl(PR_SET_UNALIGN). */
bool prctl_unalign_sigbus;
- struct hax_vcpu_state *accel;
-
struct hvf_vcpu_state *hvf;
/* track IOMMUs whose translations we've cached in the TCG TLB */
diff --git a/target/i386/hax/hax-i386.h b/target/i386/hax/hax-i386.h
index 3cb3b9bbd0..d11d43e857 100644
--- a/target/i386/hax/hax-i386.h
+++ b/target/i386/hax/hax-i386.h
@@ -25,7 +25,8 @@ typedef HANDLE hax_fd;
#endif
extern struct hax_state hax_global;
-typedef struct hax_vcpu_state {
+
+typedef struct AccelvCPUState {
hax_fd fd;
int vcpu_id;
struct hax_tunnel *tunnel;
diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
index cf4f0af24b..3c7bdd560f 100644
--- a/target/i386/nvmm/nvmm-all.c
+++ b/target/i386/nvmm/nvmm-all.c
@@ -995,7 +995,7 @@ nvmm_init_vcpu(CPUState *cpu)
}
cpu->vcpu_dirty = true;
- cpu->accel = (struct hax_vcpu_state *)qcpu;
+ cpu->accel = (struct AccelvCPUState *)qcpu;
return 0;
}
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index d1ad6f156a..70eadb7f05 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -2258,7 +2258,7 @@ int whpx_init_vcpu(CPUState *cpu)
vcpu->interruptable = true;
cpu->vcpu_dirty = true;
- cpu->accel = (struct hax_vcpu_state *)vcpu;
+ cpu->accel = (struct AccelvCPUState *)vcpu;
max_vcpu_index = max(max_vcpu_index, cpu->cpu_index);
qemu_add_vm_change_state_handler(whpx_cpu_update_state, cpu->env_ptr);
--
2.38.1
next prev parent reply other threads:[~2023-04-05 10:20 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-05 10:17 [PATCH 00/14] accel: Share CPUState accel context (HAX/NVMM/WHPX/HVF) Philippe Mathieu-Daudé
2023-04-05 10:17 ` [PATCH 01/14] accel: Document generic accelerator headers Philippe Mathieu-Daudé
2023-04-07 23:01 ` Richard Henderson
2023-04-05 10:17 ` [PATCH 02/14] accel: Remove unused hThread variable on TCG/WHPX Philippe Mathieu-Daudé
2023-04-07 23:01 ` Richard Henderson
2023-04-05 10:18 ` [PATCH 03/14] accel: Fix a leak on Windows HAX Philippe Mathieu-Daudé
2023-04-07 23:01 ` Richard Henderson
2023-04-05 10:18 ` [PATCH 04/14] accel: Destroy HAX vCPU threads once done Philippe Mathieu-Daudé
2023-04-05 10:18 ` [PATCH 05/14] accel: Rename 'hax_vcpu' as 'accel' in CPUState Philippe Mathieu-Daudé
2023-04-07 23:03 ` Richard Henderson
2023-04-05 10:18 ` [PATCH 06/14] accel: Use a typedef for struct hax_vcpu_state Philippe Mathieu-Daudé
2023-04-05 10:18 ` Philippe Mathieu-Daudé [this message]
2023-04-07 23:07 ` [PATCH 07/14] accel: Rename struct hax_vcpu_state -> struct AccelvCPUState Richard Henderson
2023-04-07 23:09 ` Richard Henderson
2023-04-05 10:18 ` [PATCH 08/14] accel: Move HAX hThread to accelerator context Philippe Mathieu-Daudé
2023-04-07 23:07 ` Richard Henderson
2023-04-05 10:18 ` [PATCH 09/14] accel: Allocate NVMM vCPU using g_try_FOO() Philippe Mathieu-Daudé
2023-04-05 13:55 ` Alex Bennée
2023-04-05 15:18 ` Philippe Mathieu-Daudé
2023-04-05 10:18 ` [PATCH 10/14] accel: Rename NVMM struct qemu_vcpu -> struct AccelvCPUState Philippe Mathieu-Daudé
2023-04-07 23:11 ` Richard Henderson
2023-04-05 10:18 ` [PATCH 11/14] accel: Inline NVMM get_qemu_vcpu() Philippe Mathieu-Daudé
2023-04-07 23:11 ` Richard Henderson
2023-04-05 10:18 ` [PATCH 12/14] accel: Rename WHPX struct whpx_vcpu -> struct AccelvCPUState Philippe Mathieu-Daudé
2023-04-07 23:13 ` Richard Henderson
2023-04-05 10:18 ` [PATCH 13/14] accel: Inline WHPX get_whpx_vcpu() Philippe Mathieu-Daudé
2023-04-07 23:13 ` Richard Henderson
2023-04-05 10:18 ` [PATCH 14/14] accel: Rename HVF struct hvf_vcpu_state -> struct AccelvCPUState Philippe Mathieu-Daudé
2023-04-07 23:14 ` Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230405101811.76663-8-philmd@linaro.org \
--to=philmd@linaro.org \
--cc=alex.bennee@linaro.org \
--cc=eduardo@habkost.net \
--cc=kvm@vger.kernel.org \
--cc=marcel.apfelbaum@gmail.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=reinoud@netbsd.org \
--cc=sunilmut@microsoft.com \
--cc=wangyanan55@huawei.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).