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