xref: /openbmc/qemu/include/hw/misc/armsse-cpuid.h (revision 20a4f14f)
1 /*
2  * ARM SSE-200 CPU_IDENTITY register block
3  *
4  * Copyright (c) 2019 Linaro Limited
5  * Written by Peter Maydell
6  *
7  *  This program is free software; you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License version 2 or
9  *  (at your option) any later version.
10  */
11 
12 /*
13  * This is a model of the "CPU_IDENTITY" register block which is part of the
14  * Arm SSE-200 and documented in
15  * http://infocenter.arm.com/help/topic/com.arm.doc.101104_0100_00_en/corelink_sse200_subsystem_for_embedded_technical_reference_manual_101104_0100_00_en.pdf
16  *
17  * QEMU interface:
18  *  + QOM property "CPUID": the value to use for the CPUID register
19  *  + sysbus MMIO region 0: the system information register bank
20  */
21 
22 #ifndef HW_MISC_ARMSSE_CPUID_H
23 #define HW_MISC_ARMSSE_CPUID_H
24 
25 #include "hw/sysbus.h"
26 
27 #define TYPE_ARMSSE_CPUID "armsse-cpuid"
28 #define ARMSSE_CPUID(obj) OBJECT_CHECK(ARMSSECPUID, (obj), TYPE_ARMSSE_CPUID)
29 
30 typedef struct ARMSSECPUID {
31     /*< private >*/
32     SysBusDevice parent_obj;
33 
34     /*< public >*/
35     MemoryRegion iomem;
36 
37     /* Properties */
38     uint32_t cpuid;
39 } ARMSSECPUID;
40 
41 #endif
42