accel: Rename HAX 'struct hax_vcpu_state' -> AccelCPUState

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 'AccelCPUState'.
Document the CPUState field. Directly use the typedef.

Remove the amusing but now unnecessary casts in NVMM / WHPX.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230624174121.11508-8-philmd@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2023-03-29 19:01:49 +02:00
parent 6ecd2cd0dc
commit f861b3f390
8 changed files with 22 additions and 21 deletions

View file

@ -241,7 +241,6 @@ typedef struct SavedIOTLB {
struct KVMState;
struct kvm_run;
struct hax_vcpu_state;
struct hvf_vcpu_state;
/* work queue */
@ -309,6 +308,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.
@ -424,6 +424,7 @@ struct CPUState {
uint32_t can_do_io;
int32_t exception_index;
AccelCPUState *accel;
/* shared by kvm, hax and hvf */
bool vcpu_dirty;
@ -443,8 +444,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 */

View file

@ -21,6 +21,7 @@
* Incomplete struct types
* Please keep this list in case-insensitive alphabetical order.
*/
typedef struct AccelCPUState AccelCPUState;
typedef struct AccelState AccelState;
typedef struct AdapterInfo AdapterInfo;
typedef struct AddressSpace AddressSpace;