Skip to content

Commit

Permalink
target: Declare FOO_CPU_TYPE_NAME/SUFFIX in 'cpu-qom.h'
Browse files Browse the repository at this point in the history
Hegerogeneous code needs access to the FOO_CPU_TYPE_NAME()
macro to resolve target CPU types. Move the declaration
(along with the required FOO_CPU_TYPE_SUFFIX) to "cpu-qom.h".

"target/foo/cpu-qom.h" is supposed to be target agnostic
(include-able by any target). Add such mention in the
header.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231013140116.255-7-philmd@linaro.org>
  • Loading branch information
philmd committed Nov 6, 2023
1 parent b365bf2 commit 42336d5
Show file tree
Hide file tree
Showing 24 changed files with 47 additions and 33 deletions.
5 changes: 4 additions & 1 deletion target/alpha/cpu-qom.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* QEMU Alpha CPU
* QEMU Alpha CPU QOM header (target agnostic)
*
* Copyright (c) 2012 SUSE LINUX Products GmbH
*
Expand Down Expand Up @@ -27,6 +27,9 @@

OBJECT_DECLARE_CPU_TYPE(AlphaCPU, AlphaCPUClass, ALPHA_CPU)

#define ALPHA_CPU_TYPE_SUFFIX "-" TYPE_ALPHA_CPU
#define ALPHA_CPU_TYPE_NAME(model) model ALPHA_CPU_TYPE_SUFFIX

/**
* AlphaCPUClass:
* @parent_realize: The parent class' realize handler.
Expand Down
2 changes: 0 additions & 2 deletions target/alpha/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -426,8 +426,6 @@ enum {

void alpha_translate_init(void);

#define ALPHA_CPU_TYPE_SUFFIX "-" TYPE_ALPHA_CPU
#define ALPHA_CPU_TYPE_NAME(model) model ALPHA_CPU_TYPE_SUFFIX
#define CPU_RESOLVING_TYPE TYPE_ALPHA_CPU

void alpha_cpu_list(void);
Expand Down
5 changes: 4 additions & 1 deletion target/avr/cpu-qom.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* QEMU AVR CPU
* QEMU AVR CPU QOM header (target agnostic)
*
* Copyright (c) 2016-2020 Michael Rolnik
*
Expand Down Expand Up @@ -28,6 +28,9 @@

OBJECT_DECLARE_CPU_TYPE(AVRCPU, AVRCPUClass, AVR_CPU)

#define AVR_CPU_TYPE_SUFFIX "-" TYPE_AVR_CPU
#define AVR_CPU_TYPE_NAME(name) (name AVR_CPU_TYPE_SUFFIX)

/**
* AVRCPUClass:
* @parent_realize: The parent class' realize handler.
Expand Down
2 changes: 0 additions & 2 deletions target/avr/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@
#error "AVR 8-bit does not support user mode"
#endif

#define AVR_CPU_TYPE_SUFFIX "-" TYPE_AVR_CPU
#define AVR_CPU_TYPE_NAME(name) (name AVR_CPU_TYPE_SUFFIX)
#define CPU_RESOLVING_TYPE TYPE_AVR_CPU

#define TCG_GUEST_DEFAULT_MO 0
Expand Down
5 changes: 4 additions & 1 deletion target/cris/cpu-qom.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* QEMU CRIS CPU
* QEMU CRIS CPU QOM header (target agnostic)
*
* Copyright (c) 2012 SUSE LINUX Products GmbH
*
Expand Down Expand Up @@ -27,6 +27,9 @@

OBJECT_DECLARE_CPU_TYPE(CRISCPU, CRISCPUClass, CRIS_CPU)

#define CRIS_CPU_TYPE_SUFFIX "-" TYPE_CRIS_CPU
#define CRIS_CPU_TYPE_NAME(name) (name CRIS_CPU_TYPE_SUFFIX)

/**
* CRISCPUClass:
* @parent_realize: The parent class' realize handler.
Expand Down
2 changes: 0 additions & 2 deletions target/cris/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -240,8 +240,6 @@ enum {
/* CRIS uses 8k pages. */
#define MMAP_SHIFT TARGET_PAGE_BITS

#define CRIS_CPU_TYPE_SUFFIX "-" TYPE_CRIS_CPU
#define CRIS_CPU_TYPE_NAME(name) (name CRIS_CPU_TYPE_SUFFIX)
#define CPU_RESOLVING_TYPE TYPE_CRIS_CPU

/* MMU modes definitions */
Expand Down
3 changes: 3 additions & 0 deletions target/i386/cpu-qom.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@

OBJECT_DECLARE_CPU_TYPE(X86CPU, X86CPUClass, X86_CPU)

#define X86_CPU_TYPE_SUFFIX "-" TYPE_X86_CPU
#define X86_CPU_TYPE_NAME(name) (name X86_CPU_TYPE_SUFFIX)

typedef struct X86CPUModel X86CPUModel;

/**
Expand Down
2 changes: 0 additions & 2 deletions target/i386/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -2239,8 +2239,6 @@ void cpu_x86_update_dr7(CPUX86State *env, uint32_t new_dr7);
/* hw/pc.c */
uint64_t cpu_get_tsc(CPUX86State *env);

#define X86_CPU_TYPE_SUFFIX "-" TYPE_X86_CPU
#define X86_CPU_TYPE_NAME(name) (name X86_CPU_TYPE_SUFFIX)
#define CPU_RESOLVING_TYPE TYPE_X86_CPU

#ifdef TARGET_X86_64
Expand Down
5 changes: 4 additions & 1 deletion target/m68k/cpu-qom.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* QEMU Motorola 68k CPU
* QEMU Motorola 68k CPU QOM header (target agnostic)
*
* Copyright (c) 2012 SUSE LINUX Products GmbH
*
Expand Down Expand Up @@ -27,6 +27,9 @@

OBJECT_DECLARE_CPU_TYPE(M68kCPU, M68kCPUClass, M68K_CPU)

#define M68K_CPU_TYPE_SUFFIX "-" TYPE_M68K_CPU
#define M68K_CPU_TYPE_NAME(model) model M68K_CPU_TYPE_SUFFIX

/*
* M68kCPUClass:
* @parent_realize: The parent class' realize handler.
Expand Down
2 changes: 0 additions & 2 deletions target/m68k/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -561,8 +561,6 @@ enum {
ACCESS_DATA = 0x20, /* Data load/store access */
};

#define M68K_CPU_TYPE_SUFFIX "-" TYPE_M68K_CPU
#define M68K_CPU_TYPE_NAME(model) model M68K_CPU_TYPE_SUFFIX
#define CPU_RESOLVING_TYPE TYPE_M68K_CPU

#define cpu_list m68k_cpu_list
Expand Down
3 changes: 3 additions & 0 deletions target/mips/cpu-qom.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@

OBJECT_DECLARE_CPU_TYPE(MIPSCPU, MIPSCPUClass, MIPS_CPU)

#define MIPS_CPU_TYPE_SUFFIX "-" TYPE_MIPS_CPU
#define MIPS_CPU_TYPE_NAME(model) model MIPS_CPU_TYPE_SUFFIX

/**
* MIPSCPUClass:
* @parent_realize: The parent class' realize handler.
Expand Down
2 changes: 0 additions & 2 deletions target/mips/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -1301,8 +1301,6 @@ enum {
*/
#define CPU_INTERRUPT_WAKE CPU_INTERRUPT_TGT_INT_0

#define MIPS_CPU_TYPE_SUFFIX "-" TYPE_MIPS_CPU
#define MIPS_CPU_TYPE_NAME(model) model MIPS_CPU_TYPE_SUFFIX
#define CPU_RESOLVING_TYPE TYPE_MIPS_CPU

bool cpu_type_supports_cps_smp(const char *cpu_type);
Expand Down
5 changes: 4 additions & 1 deletion target/rx/cpu-qom.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* RX CPU
* QEMU RX CPU QOM header (target agnostic)
*
* Copyright (c) 2019 Yoshinori Sato
*
Expand Down Expand Up @@ -28,6 +28,9 @@

OBJECT_DECLARE_CPU_TYPE(RXCPU, RXCPUClass, RX_CPU)

#define RX_CPU_TYPE_SUFFIX "-" TYPE_RX_CPU
#define RX_CPU_TYPE_NAME(model) model RX_CPU_TYPE_SUFFIX

/*
* RXCPUClass:
* @parent_realize: The parent class' realize handler.
Expand Down
2 changes: 0 additions & 2 deletions target/rx/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,6 @@ struct ArchCPU {
CPURXState env;
};

#define RX_CPU_TYPE_SUFFIX "-" TYPE_RX_CPU
#define RX_CPU_TYPE_NAME(model) model RX_CPU_TYPE_SUFFIX
#define CPU_RESOLVING_TYPE TYPE_RX_CPU

const char *rx_crname(uint8_t cr);
Expand Down
5 changes: 4 additions & 1 deletion target/s390x/cpu-qom.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* QEMU S/390 CPU
* QEMU S/390 CPU QOM header (target agnostic)
*
* Copyright (c) 2012 SUSE LINUX Products GmbH
*
Expand Down Expand Up @@ -27,6 +27,9 @@

OBJECT_DECLARE_CPU_TYPE(S390CPU, S390CPUClass, S390_CPU)

#define S390_CPU_TYPE_SUFFIX "-" TYPE_S390_CPU
#define S390_CPU_TYPE_NAME(name) (name S390_CPU_TYPE_SUFFIX)

typedef struct S390CPUModel S390CPUModel;
typedef struct S390CPUDef S390CPUDef;

Expand Down
2 changes: 0 additions & 2 deletions target/s390x/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -890,8 +890,6 @@ void s390_set_qemu_cpu_model(uint16_t type, uint8_t gen, uint8_t ec_ga,


/* helper.c */
#define S390_CPU_TYPE_SUFFIX "-" TYPE_S390_CPU
#define S390_CPU_TYPE_NAME(name) (name S390_CPU_TYPE_SUFFIX)
#define CPU_RESOLVING_TYPE TYPE_S390_CPU

/* interrupt.c */
Expand Down
5 changes: 4 additions & 1 deletion target/sh4/cpu-qom.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* QEMU SuperH CPU
* QEMU SuperH CPU QOM header (target agnostic)
*
* Copyright (c) 2012 SUSE LINUX Products GmbH
*
Expand Down Expand Up @@ -31,6 +31,9 @@

OBJECT_DECLARE_CPU_TYPE(SuperHCPU, SuperHCPUClass, SUPERH_CPU)

#define SUPERH_CPU_TYPE_SUFFIX "-" TYPE_SUPERH_CPU
#define SUPERH_CPU_TYPE_NAME(model) model SUPERH_CPU_TYPE_SUFFIX

/**
* SuperHCPUClass:
* @parent_realize: The parent class' realize handler.
Expand Down
2 changes: 0 additions & 2 deletions target/sh4/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -250,8 +250,6 @@ int cpu_sh4_is_cached(CPUSH4State * env, target_ulong addr);

void cpu_load_tlb(CPUSH4State * env);

#define SUPERH_CPU_TYPE_SUFFIX "-" TYPE_SUPERH_CPU
#define SUPERH_CPU_TYPE_NAME(model) model SUPERH_CPU_TYPE_SUFFIX
#define CPU_RESOLVING_TYPE TYPE_SUPERH_CPU

#define cpu_list sh4_cpu_list
Expand Down
5 changes: 4 additions & 1 deletion target/sparc/cpu-qom.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* QEMU SPARC CPU
* QEMU SPARC CPU QOM header (target agnostic)
*
* Copyright (c) 2012 SUSE LINUX Products GmbH
*
Expand Down Expand Up @@ -31,6 +31,9 @@

OBJECT_DECLARE_CPU_TYPE(SPARCCPU, SPARCCPUClass, SPARC_CPU)

#define SPARC_CPU_TYPE_SUFFIX "-" TYPE_SPARC_CPU
#define SPARC_CPU_TYPE_NAME(model) model SPARC_CPU_TYPE_SUFFIX

typedef struct sparc_def_t sparc_def_t;
/**
* SPARCCPUClass:
Expand Down
2 changes: 0 additions & 2 deletions target/sparc/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -660,8 +660,6 @@ hwaddr cpu_get_phys_page_nofault(CPUSPARCState *env, target_ulong addr,
#endif
#endif

#define SPARC_CPU_TYPE_SUFFIX "-" TYPE_SPARC_CPU
#define SPARC_CPU_TYPE_NAME(model) model SPARC_CPU_TYPE_SUFFIX
#define CPU_RESOLVING_TYPE TYPE_SPARC_CPU

#define cpu_list sparc_cpu_list
Expand Down
5 changes: 5 additions & 0 deletions target/tricore/cpu-qom.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
/*
* QEMU TriCore CPU QOM header (target agnostic)
*
* Copyright (c) 2012-2014 Bastian Koppelmann C-Lab/University Paderborn
*
* This library is free software; you can redistribute it and/or
Expand Down Expand Up @@ -26,6 +28,9 @@

OBJECT_DECLARE_CPU_TYPE(TriCoreCPU, TriCoreCPUClass, TRICORE_CPU)

#define TRICORE_CPU_TYPE_SUFFIX "-" TYPE_TRICORE_CPU
#define TRICORE_CPU_TYPE_NAME(model) model TRICORE_CPU_TYPE_SUFFIX

struct TriCoreCPUClass {
CPUClass parent_class;

Expand Down
2 changes: 0 additions & 2 deletions target/tricore/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -268,8 +268,6 @@ static inline void cpu_get_tb_cpu_state(CPUTriCoreState *env, vaddr *pc,
*flags = new_flags;
}

#define TRICORE_CPU_TYPE_SUFFIX "-" TYPE_TRICORE_CPU
#define TRICORE_CPU_TYPE_NAME(model) model TRICORE_CPU_TYPE_SUFFIX
#define CPU_RESOLVING_TYPE TYPE_TRICORE_CPU

/* helpers.c */
Expand Down
5 changes: 4 additions & 1 deletion target/xtensa/cpu-qom.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* QEMU Xtensa CPU
* QEMU Xtensa CPU QOM header (target agnostic)
*
* Copyright (c) 2012 SUSE LINUX Products GmbH
* All rights reserved.
Expand Down Expand Up @@ -36,6 +36,9 @@

OBJECT_DECLARE_CPU_TYPE(XtensaCPU, XtensaCPUClass, XTENSA_CPU)

#define XTENSA_CPU_TYPE_SUFFIX "-" TYPE_XTENSA_CPU
#define XTENSA_CPU_TYPE_NAME(model) model XTENSA_CPU_TYPE_SUFFIX

typedef struct XtensaConfig XtensaConfig;

/**
Expand Down
2 changes: 0 additions & 2 deletions target/xtensa/cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -586,8 +586,6 @@ G_NORETURN void xtensa_cpu_do_unaligned_access(CPUState *cpu, vaddr addr,

#define cpu_list xtensa_cpu_list

#define XTENSA_CPU_TYPE_SUFFIX "-" TYPE_XTENSA_CPU
#define XTENSA_CPU_TYPE_NAME(model) model XTENSA_CPU_TYPE_SUFFIX
#define CPU_RESOLVING_TYPE TYPE_XTENSA_CPU

#if TARGET_BIG_ENDIAN
Expand Down

0 comments on commit 42336d5

Please sign in to comment.