diff options
author | Claudio Fontana | 2021-02-04 17:39:24 +0100 |
---|---|---|
committer | Richard Henderson | 2021-02-05 21:24:15 +0100 |
commit | 940e43aa30e0f793bd18b79221296cdf17724018 (patch) | |
tree | 9ab6484293ad85368f66aaf72ee944493cf3913c /include/sysemu | |
parent | cpu: tcg_ops: move to tcg-cpu-ops.h, keep a pointer in CPUClass (diff) | |
download | qemu-940e43aa30e0f793bd18b79221296cdf17724018.tar.gz qemu-940e43aa30e0f793bd18b79221296cdf17724018.tar.xz qemu-940e43aa30e0f793bd18b79221296cdf17724018.zip |
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>
Diffstat (limited to 'include/sysemu')
-rw-r--r-- | include/sysemu/accel.h | 77 | ||||
-rw-r--r-- | include/sysemu/hvf.h | 2 | ||||
-rw-r--r-- | include/sysemu/kvm.h | 2 | ||||
-rw-r--r-- | include/sysemu/kvm_int.h | 2 |
4 files changed, 3 insertions, 80 deletions
diff --git a/include/sysemu/accel.h b/include/sysemu/accel.h deleted file mode 100644 index e08b8ab8fa..0000000000 --- a/include/sysemu/accel.h +++ /dev/null @@ -1,77 +0,0 @@ -/* QEMU accelerator interfaces - * - * Copyright (c) 2014 Red Hat Inc - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ -#ifndef HW_ACCEL_H -#define HW_ACCEL_H - -#include "qom/object.h" -#include "exec/hwaddr.h" - -typedef struct AccelState { - /*< private >*/ - Object parent_obj; -} AccelState; - -typedef struct AccelClass { - /*< private >*/ - ObjectClass parent_class; - /*< public >*/ - - const char *name; -#ifndef CONFIG_USER_ONLY - int (*init_machine)(MachineState *ms); - void (*setup_post)(MachineState *ms, AccelState *accel); - bool (*has_memory)(MachineState *ms, AddressSpace *as, - hwaddr start_addr, hwaddr size); -#endif - bool *allowed; - /* - * Array of global properties that would be applied when specific - * accelerator is chosen. It works like MachineClass.compat_props - * but it's for accelerators not machines. Accelerator-provided - * global properties may be overridden by machine-type - * compat_props or user-provided global properties. - */ - GPtrArray *compat_props; -} AccelClass; - -#define TYPE_ACCEL "accel" - -#define ACCEL_CLASS_SUFFIX "-" TYPE_ACCEL -#define ACCEL_CLASS_NAME(a) (a ACCEL_CLASS_SUFFIX) - -#define ACCEL_CLASS(klass) \ - OBJECT_CLASS_CHECK(AccelClass, (klass), TYPE_ACCEL) -#define ACCEL(obj) \ - OBJECT_CHECK(AccelState, (obj), TYPE_ACCEL) -#define ACCEL_GET_CLASS(obj) \ - OBJECT_GET_CLASS(AccelClass, (obj), TYPE_ACCEL) - -AccelClass *accel_find(const char *opt_name); -int accel_init_machine(AccelState *accel, MachineState *ms); - -/* Called just before os_setup_post (ie just before drop OS privs) */ -void accel_setup_post(MachineState *ms); - -AccelState *current_accel(void); - -#endif diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h index f893768df9..c98636bc81 100644 --- a/include/sysemu/hvf.h +++ b/include/sysemu/hvf.h @@ -13,7 +13,7 @@ #ifndef HVF_H #define HVF_H -#include "sysemu/accel.h" +#include "qemu/accel.h" #include "qom/object.h" #ifdef CONFIG_HVF diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h index bb5d5cf497..739682f3c3 100644 --- a/include/sysemu/kvm.h +++ b/include/sysemu/kvm.h @@ -17,7 +17,7 @@ #include "qemu/queue.h" #include "hw/core/cpu.h" #include "exec/memattrs.h" -#include "sysemu/accel.h" +#include "qemu/accel.h" #include "qom/object.h" #ifdef NEED_CPU_H diff --git a/include/sysemu/kvm_int.h b/include/sysemu/kvm_int.h index 65740806da..ccb8869f01 100644 --- a/include/sysemu/kvm_int.h +++ b/include/sysemu/kvm_int.h @@ -10,7 +10,7 @@ #define QEMU_KVM_INT_H #include "exec/memory.h" -#include "sysemu/accel.h" +#include "qemu/accel.h" #include "sysemu/kvm.h" typedef struct KVMSlot |