[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 07/16] cpu: Introduce CPUSystemOperations structure
From: |
Claudio Fontana |
Subject: |
Re: [PATCH 07/16] cpu: Introduce CPUSystemOperations structure |
Date: |
Sat, 27 Feb 2021 19:49:53 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 |
On 2/26/21 5:32 PM, Philippe Mathieu-Daudé wrote:
> Introduce a structure to hold handler specific to sysemu.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> include/hw/core/cpu.h | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
> index b12028c3c03..ab89235cb45 100644
> --- a/include/hw/core/cpu.h
> +++ b/include/hw/core/cpu.h
> @@ -80,6 +80,12 @@ struct TCGCPUOps;
> /* see accel-cpu.h */
> struct AccelCPUClass;
>
> +/*
> + * struct CPUSystemOperations: System operations specific to a CPU class
> + */
> +typedef struct CPUSystemOperations {
I'd suggest for consistency and brevity:
SysemuCPUOps .
Let me tell you my full train of thought, just so you understand exactly where
I am coming from:
in my view all this camelcase is nonsense, as is typedef. They just cause
problems and solve none.
However, considering the existing QEMU conventions, the existence of QOM,
for consistency with the rest of the QEMU code base, especially when looking at
stuff around CPUClass,
the convention is to use this camel case stuff for objects, so in lieu of
tcg_cpu_ops
I went with TCGCPUOps
(TCG is the standard way to call tcg when case is an option, same for CPU, then
Ops).
Here for consistency I would say:
Sysemu (as we are standardizing on calling system emulation/virtualization
"sysemu")
+CPUOps as before.
=
SysemuCPUOps.
What do you think?
Ciao,
Claudio
> +} CPUSystemOperations;
> +
> /**
> * CPUClass:
> * @class_by_name: Callback to map -cpu command line model name to an
> @@ -190,6 +196,9 @@ struct CPUClass {
> bool gdb_stop_before_watchpoint;
> struct AccelCPUClass *accel_cpu;
>
> + /* when system emulation is not available, this pointer is NULL */
> + struct CPUSystemOperations system_ops;
> +
> /* when TCG is not available, this pointer is NULL */
> struct TCGCPUOps *tcg_ops;
> };
>
- [PATCH 00/16] cpu: Introduce CPUSystemOperations structure, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 01/16] target: Set CPUClass::vmsd instead of DeviceClass::vmsd, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 02/16] cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from_attrs, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 03/16] cpu: Introduce cpu_virtio_is_big_endian(), Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 04/16] cpu: Directly use cpu_write_elf*() fallback handlers in place, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 05/16] cpu: Directly use get_paging_enabled() fallback handlers in place, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 06/16] cpu: Directly use get_memory_mapping() fallback handlers in place, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 08/16] cpu: Move CPUClass::vmsd to CPUSystemOperations, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 09/16] cpu: Move CPUClass::virtio_is_big_endian to CPUSystemOperations, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 07/16] cpu: Introduce CPUSystemOperations structure, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 11/16] cpu: Move CPUClass::write_elf* to CPUSystemOperations, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 12/16] cpu: Move CPUClass::asidx_from_attrs to CPUSystemOperations, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 10/16] cpu: Move CPUClass::get_crash_info to CPUSystemOperations, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 13/16] cpu: Move CPUClass::get_phys_page_debug to CPUSystemOperations, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 14/16] cpu: Move CPUClass::get_memory_mapping to CPUSystemOperations, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 15/16] cpu: Move CPUClass::get_paging_enabled to CPUSystemOperations, Philippe Mathieu-Daudé, 2021/02/26
- [PATCH 16/16] cpu: Restrict cpu_paging_enabled / cpu_get_memory_mapping to sysemu, Philippe Mathieu-Daudé, 2021/02/26