Philippe Mathieu-Daudé
642ce52d8e
accel: Move HAX hThread to accelerator context
...
hThread variable is only used by the HAX accelerator,
so move it to the accelerator specific context.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230624174121.11508-9-philmd@linaro.org >
2023-06-28 13:55:35 +02:00
Philippe Mathieu-Daudé
f861b3f390
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 >
2023-06-28 13:55:35 +02:00
Philippe Mathieu-Daudé
6ecd2cd0dc
accel: Rename 'hax_vcpu' as 'accel' in CPUState
...
All accelerators will share a single opaque context
in CPUState. Start by renaming 'hax_vcpu' as 'accel'.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230624174121.11508-7-philmd@linaro.org >
2023-06-28 13:55:35 +02:00
Philippe Mathieu-Daudé
83d0f7f95c
accel: Destroy HAX vCPU threads once done
...
When the vCPU thread finished its processing, destroy
it and signal its destruction to generic vCPU management
layer.
Add a sanity check for the vCPU accelerator context.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230624174121.11508-6-philmd@linaro.org >
2023-06-28 13:55:35 +02:00
Philippe Mathieu-Daudé
43477340c3
accel: Fix a leak on Windows HAX
...
hThread is only used on the error path in hax_kick_vcpu_thread().
Fixes: b0cb0a66d6
("Plumb the HAXM-based hardware acceleration support")
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20230624174121.11508-5-philmd@linaro.org >
2023-06-28 13:55:35 +02:00
Thomas Huth
90c167a1da
docs/about/deprecated: Mark HAXM in QEMU as deprecated
...
The HAXM project has been retired (see https://github.com/intel/haxm#status ),
so we should mark the code in QEMU as deprecated (and finally remove it
unless somebody else picks the project up again - which is quite unlikely
since there are now whpx and hvf on these operating systems, too).
Message-Id: <20230126121034.1035138-1-thuth@redhat.com >
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2023-01-26 13:25:07 +01:00
Markus Armbruster
3d558330ad
Drop more useless casts from void * to pointer
...
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20221123133811.1398562-1-armbru@redhat.com >
2022-12-14 16:19:35 +01:00
Marc-André Lureau
0f9668e0c1
Remove qemu-common.h include from most units
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Message-Id: <20220323155743.1585078-33-marcandre.lureau@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2022-04-06 14:31:55 +02:00
Philippe Mathieu-Daudé
95e862d72c
target/i386: Remove pointless CPUArchState casts
...
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20220305233415.64627-3-philippe.mathieu.daude@gmail.com >
2022-03-06 22:23:09 +01:00
Philippe Mathieu-Daudé
b04363c240
accel/hax: Introduce CONFIG_HAX_IS_POSSIBLE
...
Mirror "sysemu/kvm.h" #ifdef'ry to define CONFIG_HAX_IS_POSSIBLE,
expose hax_allowed to hax_enabled() macro.
Suggested-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20220207075426.81934-9-f4bug@amsat.org >
2022-03-06 13:15:42 +01:00
Claudio Fontana
b86f59c715
accel: replace struct CpusAccel with AccelOpsClass
...
This will allow us to centralize the registration of
the cpus.c module accelerator operations (in accel/accel-softmmu.c),
and trigger it automatically using object hierarchy lookup from the
new accel_init_interfaces() initialization step, depending just on
which accelerators are available in the code.
Rename all tcg-cpus.c, kvm-cpus.c, etc to tcg-accel-ops.c,
kvm-accel-ops.c, etc, matching the object type names.
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Message-Id: <20210204163931.7358-18-cfontana@suse.de >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-02-05 10:24:15 -10:00
Claudio Fontana
940e43aa30
accel: extend AccelState and AccelClass to user-mode
...
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
[claudio: rebased on Richard's splitwx work]
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Message-Id: <20210204163931.7358-17-cfontana@suse.de >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-02-05 10:24:15 -10:00
Claudio Fontana
7fdef0d4f2
i386: move hax accel files into hax/
...
Signed-off-by: Claudio Fontana <cfontana@suse.de >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20201212155530.23098-4-cfontana@suse.de >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-12-16 14:06:53 -05:00