xref: /qemu/include/hw/cpu/core.h (revision 4dad0a9aa818698e0735c8352bf7925a1660df6f)
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 
12a27bd6c7SMarkus Armbruster #include "hw/qdev-core.h"
13db1015e9SEduardo Habkost #include "qom/object.h"
14f1020c2cSBharata B Rao 
15f1020c2cSBharata B Rao #define TYPE_CPU_CORE "cpu-core"
16f1020c2cSBharata B Rao 
17*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(CPUCore, CPU_CORE)
18f1020c2cSBharata B Rao 
19db1015e9SEduardo Habkost struct CPUCore {
20f1020c2cSBharata B Rao     /*< private >*/
21f1020c2cSBharata B Rao     DeviceState parent_obj;
22f1020c2cSBharata B Rao 
23f1020c2cSBharata B Rao     /*< public >*/
24f1020c2cSBharata B Rao     int core_id;
25f1020c2cSBharata B Rao     int nr_threads;
26db1015e9SEduardo Habkost };
27f1020c2cSBharata B Rao 
2827393c33SPeter Krempa /* Note: topology field names need to be kept in sync with
2927393c33SPeter Krempa  * 'CpuInstanceProperties' */
3027393c33SPeter Krempa 
31f1020c2cSBharata B Rao #define CPU_CORE_PROP_CORE_ID "core-id"
32f1020c2cSBharata B Rao 
33f1020c2cSBharata B Rao #endif
34