xref: /qemu/include/hw/cpu/core.h (revision 27393c33d806a4a5c3bc85342e4c1985a666681b)
1f1020c2cSBharata B Rao /*
2f1020c2cSBharata B Rao  * CPU core abstract device
3f1020c2cSBharata B Rao  *
4f1020c2cSBharata B Rao  * Copyright (C) 2016 Bharata B Rao <bharata@linux.vnet.ibm.com>
5f1020c2cSBharata B Rao  *
6f1020c2cSBharata B Rao  * This work is licensed under the terms of the GNU GPL, version 2 or later.
7f1020c2cSBharata B Rao  * See the COPYING file in the top-level directory.
8f1020c2cSBharata B Rao  */
9f1020c2cSBharata B Rao #ifndef HW_CPU_CORE_H
10f1020c2cSBharata B Rao #define HW_CPU_CORE_H
11f1020c2cSBharata B Rao 
12f1020c2cSBharata B Rao #include "qemu/osdep.h"
13f1020c2cSBharata B Rao #include "hw/qdev.h"
14f1020c2cSBharata B Rao 
15f1020c2cSBharata B Rao #define TYPE_CPU_CORE "cpu-core"
16f1020c2cSBharata B Rao 
17f1020c2cSBharata B Rao #define CPU_CORE(obj) \
18f1020c2cSBharata B Rao     OBJECT_CHECK(CPUCore, (obj), TYPE_CPU_CORE)
19f1020c2cSBharata B Rao 
20f1020c2cSBharata B Rao typedef struct CPUCore {
21f1020c2cSBharata B Rao     /*< private >*/
22f1020c2cSBharata B Rao     DeviceState parent_obj;
23f1020c2cSBharata B Rao 
24f1020c2cSBharata B Rao     /*< public >*/
25f1020c2cSBharata B Rao     int core_id;
26f1020c2cSBharata B Rao     int nr_threads;
27f1020c2cSBharata B Rao } CPUCore;
28f1020c2cSBharata B Rao 
29*27393c33SPeter Krempa /* Note: topology field names need to be kept in sync with
30*27393c33SPeter Krempa  * 'CpuInstanceProperties' */
31*27393c33SPeter Krempa 
32f1020c2cSBharata B Rao #define CPU_CORE_PROP_CORE_ID "core-id"
33f1020c2cSBharata B Rao 
34f1020c2cSBharata B Rao #endif
35