qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH v2 07/16] target/hexagon: Declare QOM definitions in 'cpu-qom


From: Brian Cain
Subject: RE: [PATCH v2 07/16] target/hexagon: Declare QOM definitions in 'cpu-qom.h'
Date: Thu, 26 Oct 2023 19:11:47 +0000


> -----Original Message-----
> From: Philippe Mathieu-Daudé <philmd@linaro.org>
> Sent: Friday, October 13, 2023 9:01 AM
> To: qemu-devel@nongnu.org
> Cc: Eduardo Habkost <eduardo@habkost.net>; Xiaojuan Yang
> <yangxiaojuan@loongson.cn>; Michael S. Tsirkin <mst@redhat.com>; qemu-
> ppc@nongnu.org; Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>; David
> Hildenbrand <david@redhat.com>; qemu-s390x@nongnu.org; Edgar E. Iglesias
> <edgar.iglesias@gmail.com>; Jiaxun Yang <jiaxun.yang@flygoat.com>; Song
> Gao <gaosong@loongson.cn>; Philippe Mathieu-Daudé <philmd@linaro.org>;
> Paolo Bonzini <pbonzini@redhat.com>; Stafford Horne <shorne@gmail.com>;
> Alistair Francis <alistair.francis@wdc.com>; Yanan Wang
> <wangyanan55@huawei.com>; Max Filippov <jcmvbkbc@gmail.com>; Artyom
> Tarasenko <atar4qemu@gmail.com>; Marcel Apfelbaum
> <marcel.apfelbaum@gmail.com>; Cédric Le Goater <clg@kaod.org>; Laurent
> Vivier <lvivier@redhat.com>; Aurelien Jarno <aurelien@aurel32.net>; qemu-
> riscv@nongnu.org; Palmer Dabbelt <palmer@dabbelt.com>; Yoshinori Sato
> <ysato@users.sourceforge.jp>; Bastian Koppelmann <kbastian@mail.uni-
> paderborn.de>; Bin Meng <bin.meng@windriver.com>; Daniel Henrique
> Barboza <danielhb413@gmail.com>; Mark Cave-Ayland <mark.cave-
> ayland@ilande.co.uk>; Weiwei Li <liweiwei@iscas.ac.cn>; Daniel Henrique
> Barboza <dbarboza@ventanamicro.com>; Nicholas Piggin
> <npiggin@gmail.com>; qemu-arm@nongnu.org; Liu Zhiwei
> <zhiwei_liu@linux.alibaba.com>; Marek Vasut <marex@denx.de>; Laurent
> Vivier <laurent@vivier.eu>; Peter Maydell <peter.maydell@linaro.org>; Brian
> Cain <bcain@quicinc.com>; Thomas Huth <thuth@redhat.com>; Chris Wulff
> <crwulff@gmail.com>; Sergio Lopez <slp@redhat.com>; Richard Henderson
> <richard.henderson@linaro.org>; Ilya Leoshkevich <iii@linux.ibm.com>;
> Michael Rolnik <mrolnik@gmail.com>
> Subject: [PATCH v2 07/16] target/hexagon: Declare QOM definitions in 'cpu-
> qom.h'
> 
> WARNING: This email originated from outside of Qualcomm. Please be wary of
> any links or attachments, and do not enable macros.
> 
> "target/foo/cpu.h" contains the target specific declarations.
> 
> A heterogeneous setup need to access target agnostic declarations
> (at least the QOM ones, to instantiate the objects).
> 
> Our convention is to add such target agnostic QOM declarations in
> the "target/foo/cpu-qom.h" header.
> 
> Extract QOM definitions from "cpu.h" to "cpu-qom.h".
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  target/hexagon/cpu-qom.h | 28 ++++++++++++++++++++++++++++
>  target/hexagon/cpu.h     | 15 +--------------
>  2 files changed, 29 insertions(+), 14 deletions(-)
>  create mode 100644 target/hexagon/cpu-qom.h
> 
> diff --git a/target/hexagon/cpu-qom.h b/target/hexagon/cpu-qom.h
> new file mode 100644
> index 0000000000..f02df7ee6f
> --- /dev/null
> +++ b/target/hexagon/cpu-qom.h
> @@ -0,0 +1,28 @@
> +/*
> + * QEMU Hexagon CPU QOM header (target agnostic)
> + *
> + * Copyright(c) 2019-2023 Qualcomm Innovation Center, Inc. All Rights
> Reserved.
> + *
> + * SPDX-License-Identifier: GPL-2.0-or-later
> + */
> +
> +#ifndef QEMU_HEXAGON_CPU_QOM_H
> +#define QEMU_HEXAGON_CPU_QOM_H
> +
> +#include "hw/core/cpu.h"
> +#include "qom/object.h"
> +
> +#define TYPE_HEXAGON_CPU "hexagon-cpu"
> +
> +#define HEXAGON_CPU_TYPE_SUFFIX "-" TYPE_HEXAGON_CPU
> +#define HEXAGON_CPU_TYPE_NAME(name) (name
> HEXAGON_CPU_TYPE_SUFFIX)
> +
> +#define TYPE_HEXAGON_CPU_V67 HEXAGON_CPU_TYPE_NAME("v67")
> +#define TYPE_HEXAGON_CPU_V68 HEXAGON_CPU_TYPE_NAME("v68")
> +#define TYPE_HEXAGON_CPU_V69 HEXAGON_CPU_TYPE_NAME("v69")
> +#define TYPE_HEXAGON_CPU_V71 HEXAGON_CPU_TYPE_NAME("v71")
> +#define TYPE_HEXAGON_CPU_V73 HEXAGON_CPU_TYPE_NAME("v73")
> +
> +OBJECT_DECLARE_CPU_TYPE(HexagonCPU, HexagonCPUClass,
> HEXAGON_CPU)
> +
> +#endif
> diff --git a/target/hexagon/cpu.h b/target/hexagon/cpu.h
> index 035ac4fb6d..7d16083c6a 100644
> --- a/target/hexagon/cpu.h
> +++ b/target/hexagon/cpu.h
> @@ -20,11 +20,10 @@
> 
>  #include "fpu/softfloat-types.h"
> 
> +#include "cpu-qom.h"
>  #include "exec/cpu-defs.h"
>  #include "hex_regs.h"
>  #include "mmvec/mmvec.h"
> -#include "qom/object.h"
> -#include "hw/core/cpu.h"
>  #include "hw/registerfields.h"
> 
>  #define NUM_PREGS 4
> @@ -36,18 +35,8 @@
>  #define PRED_WRITES_MAX 5                   /* 4 insns + endloop */
>  #define VSTORES_MAX 2
> 
> -#define TYPE_HEXAGON_CPU "hexagon-cpu"
> -
> -#define HEXAGON_CPU_TYPE_SUFFIX "-" TYPE_HEXAGON_CPU
> -#define HEXAGON_CPU_TYPE_NAME(name) (name
> HEXAGON_CPU_TYPE_SUFFIX)
>  #define CPU_RESOLVING_TYPE TYPE_HEXAGON_CPU
> 
> -#define TYPE_HEXAGON_CPU_V67 HEXAGON_CPU_TYPE_NAME("v67")
> -#define TYPE_HEXAGON_CPU_V68 HEXAGON_CPU_TYPE_NAME("v68")
> -#define TYPE_HEXAGON_CPU_V69 HEXAGON_CPU_TYPE_NAME("v69")
> -#define TYPE_HEXAGON_CPU_V71 HEXAGON_CPU_TYPE_NAME("v71")
> -#define TYPE_HEXAGON_CPU_V73 HEXAGON_CPU_TYPE_NAME("v73")
> -
>  void hexagon_cpu_list(void);
>  #define cpu_list hexagon_cpu_list
> 
> @@ -127,8 +116,6 @@ typedef struct CPUArchState {
>      VTCMStoreLog vtcm_log;
>  } CPUHexagonState;
> 
> -OBJECT_DECLARE_CPU_TYPE(HexagonCPU, HexagonCPUClass,
> HEXAGON_CPU)
> -
>  typedef struct HexagonCPUClass {
>      CPUClass parent_class;
> 
> --
> 2.41.0

Reviewed-by: Brian Cain <bcain@quicinc.com>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]