mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-02-09 18:40:49 -07:00
target: Introduce and use OBJECT_DECLARE_CPU_TYPE() macro
Replace the boilerplate code to declare CPU QOM types and macros, and forward-declare the CPU instance type. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20220214183144.27402-14-f4bug@amsat.org>
This commit is contained in:
parent
1ea4a06af0
commit
9295b1aa92
37 changed files with 42 additions and 81 deletions
|
|
@ -55,6 +55,24 @@ typedef struct CPUClass CPUClass;
|
|||
DECLARE_CLASS_CHECKERS(CPUClass, CPU,
|
||||
TYPE_CPU)
|
||||
|
||||
/**
|
||||
* OBJECT_DECLARE_CPU_TYPE:
|
||||
* @CpuInstanceType: instance struct name
|
||||
* @CpuClassType: class struct name
|
||||
* @CPU_MODULE_OBJ_NAME: the CPU name in uppercase with underscore separators
|
||||
*
|
||||
* This macro is typically used in "cpu-qom.h" header file, and will:
|
||||
*
|
||||
* - create the typedefs for the CPU object and class structs
|
||||
* - register the type for use with g_autoptr
|
||||
* - provide three standard type cast functions
|
||||
*
|
||||
* The object struct and class struct need to be declared manually.
|
||||
*/
|
||||
#define OBJECT_DECLARE_CPU_TYPE(CpuInstanceType, CpuClassType, CPU_MODULE_OBJ_NAME) \
|
||||
OBJECT_DECLARE_TYPE(CpuInstanceType, CpuClassType, CPU_MODULE_OBJ_NAME); \
|
||||
typedef CpuInstanceType ArchCPU;
|
||||
|
||||
typedef enum MMUAccessType {
|
||||
MMU_DATA_LOAD = 0,
|
||||
MMU_DATA_STORE = 1,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue