15aeb3689SPeter Maydell /* 25aeb3689SPeter Maydell * ARM SSE-200 CPU_IDENTITY register block 35aeb3689SPeter Maydell * 45aeb3689SPeter Maydell * Copyright (c) 2019 Linaro Limited 55aeb3689SPeter Maydell * Written by Peter Maydell 65aeb3689SPeter Maydell * 75aeb3689SPeter Maydell * This program is free software; you can redistribute it and/or modify 85aeb3689SPeter Maydell * it under the terms of the GNU General Public License version 2 or 95aeb3689SPeter Maydell * (at your option) any later version. 105aeb3689SPeter Maydell */ 115aeb3689SPeter Maydell 125aeb3689SPeter Maydell /* 135aeb3689SPeter Maydell * This is a model of the "CPU_IDENTITY" register block which is part of the 145aeb3689SPeter Maydell * Arm SSE-200 and documented in 15*50b52b18SPeter Maydell * https://developer.arm.com/documentation/101104/latest/ 165aeb3689SPeter Maydell * 175aeb3689SPeter Maydell * QEMU interface: 185aeb3689SPeter Maydell * + QOM property "CPUID": the value to use for the CPUID register 195aeb3689SPeter Maydell * + sysbus MMIO region 0: the system information register bank 205aeb3689SPeter Maydell */ 215aeb3689SPeter Maydell 225aeb3689SPeter Maydell #ifndef HW_MISC_ARMSSE_CPUID_H 235aeb3689SPeter Maydell #define HW_MISC_ARMSSE_CPUID_H 245aeb3689SPeter Maydell 255aeb3689SPeter Maydell #include "hw/sysbus.h" 26db1015e9SEduardo Habkost #include "qom/object.h" 275aeb3689SPeter Maydell 285aeb3689SPeter Maydell #define TYPE_ARMSSE_CPUID "armsse-cpuid" 298063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(ARMSSECPUID, ARMSSE_CPUID) 305aeb3689SPeter Maydell 31db1015e9SEduardo Habkost struct ARMSSECPUID { 325aeb3689SPeter Maydell /*< private >*/ 335aeb3689SPeter Maydell SysBusDevice parent_obj; 345aeb3689SPeter Maydell 355aeb3689SPeter Maydell /*< public >*/ 365aeb3689SPeter Maydell MemoryRegion iomem; 375aeb3689SPeter Maydell 385aeb3689SPeter Maydell /* Properties */ 395aeb3689SPeter Maydell uint32_t cpuid; 40db1015e9SEduardo Habkost }; 415aeb3689SPeter Maydell 425aeb3689SPeter Maydell #endif 43