[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 11/15] target: Use ArchCPU as interface to target CPU
|
From: |
Richard Henderson |
|
Subject: |
Re: [PATCH 11/15] target: Use ArchCPU as interface to target CPU |
|
Date: |
Thu, 10 Feb 2022 09:47:43 +1100 |
|
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 |
On 2/10/22 08:54, Philippe Mathieu-Daudé wrote:
diff --git a/target/hexagon/cpu.h b/target/hexagon/cpu.h
index 25c67e43a2..4dce40a360 100644
--- a/target/hexagon/cpu.h
+++ b/target/hexagon/cpu.h
@@ -143,7 +143,7 @@ typedef struct HexagonCPUClass {
DeviceReset parent_reset;
} HexagonCPUClass;
-typedef struct HexagonCPU {
+typedef struct ArchCPU {
/*< private >*/
CPUState parent_obj;
/*< public >*/
There's still the typedef of ArchCPU below, which ought to be redundant now.
It may or may not be less confusing to separate out the typedef for HexagonCPU.
It definitely would be worthwhile to convert hexagon to OBJECT_DECLARE_TYPE (cc
Taylor).
diff --git a/target/microblaze/cpu-qom.h b/target/microblaze/cpu-qom.h
index e520eefb12..8f11fe4d73 100644
--- a/target/microblaze/cpu-qom.h
+++ b/target/microblaze/cpu-qom.h
@@ -25,7 +25,9 @@
#define TYPE_MICROBLAZE_CPU "microblaze-cpu"
-OBJECT_DECLARE_TYPE(MicroBlazeCPU, MicroBlazeCPUClass,
+typedef struct ArchCPU MicroBlazeCPU;
+
+OBJECT_DECLARE_TYPE(ArchCPU, MicroBlazeCPUClass,
MICROBLAZE_CPU)
/**
diff --git a/target/microblaze/cpu.h b/target/microblaze/cpu.h
index acfd35d3f7..d511b6b877 100644
--- a/target/microblaze/cpu.h
+++ b/target/microblaze/cpu.h
@@ -25,6 +25,8 @@
#include "fpu/softfloat-types.h"
typedef struct CPUArchState CPUMBState;
+typedef struct ArchCPU MicroBlazeCPU;
Duplicate typedef.
diff --git a/target/nios2/cpu.h b/target/nios2/cpu.h
index 629b9e2301..05def159b1 100644
--- a/target/nios2/cpu.h
+++ b/target/nios2/cpu.h
@@ -32,7 +32,7 @@ typedef struct CPUArchState CPUNios2State;
#define TYPE_NIOS2_CPU "nios2-cpu"
-OBJECT_DECLARE_TYPE(Nios2CPU, Nios2CPUClass,
+OBJECT_DECLARE_TYPE(ArchCPU, Nios2CPUClass,
NIOS2_CPU)
/**
@@ -171,7 +171,7 @@ struct CPUArchState {
*
* A Nios2 CPU.
*/
-struct Nios2CPU {
+struct ArchCPU {
/*< private >*/
CPUState parent_obj;
/*< public >*/
Missing Nios2CPU typedef.
Still have the 'typedef Nios2CPU ArchCPU' below.
diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h
index 79144ddc24..5981be47d9 100644
--- a/target/riscv/cpu.h
+++ b/target/riscv/cpu.h
@@ -285,7 +285,7 @@ struct CPUArchState {
uint64_t kvm_timer_frequency;
};
-OBJECT_DECLARE_TYPE(RISCVCPU, RISCVCPUClass,
+OBJECT_DECLARE_TYPE(ArchCPU, RISCVCPUClass,
RISCV_CPU)
/**
@@ -309,7 +309,7 @@ struct RISCVCPUClass {
*
* A RISCV CPU.
*/
-struct RISCVCPU {
+struct ArchCPU {
/*< private >*/
CPUState parent_obj;
/*< public >*/
@@ -430,7 +430,6 @@ void riscv_cpu_set_fflags(CPURISCVState *env, target_ulong);
#define TB_FLAGS_MSTATUS_FS MSTATUS_FS
#define TB_FLAGS_MSTATUS_VS MSTATUS_VS
-typedef RISCVCPU ArchCPU;
#include "exec/cpu-all.h"
FIELD(TB_FLAGS, MEM_IDX, 0, 3)
Missing RISCVCPU typedef.
r~
- [PATCH 04/15] exec/cpu_ldst: Include 'cpu.h' to get target_ulong definition, (continued)
- [PATCH 04/15] exec/cpu_ldst: Include 'cpu.h' to get target_ulong definition, Philippe Mathieu-Daudé, 2022/02/09
- [PATCH 05/15] cpu: Add missing 'exec/exec-all.h' and 'qemu/accel.h' headers, Philippe Mathieu-Daudé, 2022/02/09
- [PATCH 06/15] target/i386/cpu: Ensure accelerators set CPU addressble physical bits, Philippe Mathieu-Daudé, 2022/02/09
- [PATCH 07/15] target/i386/tcg/sysemu: Include missing 'exec/exec-all.h' header, Philippe Mathieu-Daudé, 2022/02/09
- [PATCH 08/15] target: Include missing 'cpu.h', Philippe Mathieu-Daudé, 2022/02/09
- [PATCH 09/15] target: Use forward declared type instead of structure type, Philippe Mathieu-Daudé, 2022/02/09
- [PATCH 10/15] target: Use CPUArchState as interface to target-specific CPU state, Philippe Mathieu-Daudé, 2022/02/09
- [PATCH 11/15] target: Use ArchCPU as interface to target CPU, Philippe Mathieu-Daudé, 2022/02/09
[RFC PATCH 12/15] hw/m68k: Restrict M68kCPU type to target/ code, Philippe Mathieu-Daudé, 2022/02/09
[RFC PATCH 13/15] hw/mips: Restrict MIPSCPU type to target/ code, Philippe Mathieu-Daudé, 2022/02/09
[RFC PATCH 14/15] hw/sparc: Restrict SPARCCPU type to target/ code, Philippe Mathieu-Daudé, 2022/02/09
[RFC PATCH 15/15] hw/sh4: Restrict SuperHCPU type to target/ code, Philippe Mathieu-Daudé, 2022/02/09