xref: /qemu/include/hw/misc/iotkit-secctl.h (revision de343bb632a123d7c2286e62267d6866a6b9e5f3)
1 /*
2  * ARM IoT Kit security controller
3  *
4  * Copyright (c) 2018 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 /* This is a model of the security controller which is part of the
13  * Arm IoT Kit and documented in
14  * http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ecm0601256/index.html
15  *
16  * QEMU interface:
17  *  + sysbus MMIO region 0 is the "secure privilege control block" registers
18  *  + sysbus MMIO region 1 is the "non-secure privilege control block" registers
19  */
20 
21 #ifndef IOTKIT_SECCTL_H
22 #define IOTKIT_SECCTL_H
23 
24 #include "hw/sysbus.h"
25 
26 #define TYPE_IOTKIT_SECCTL "iotkit-secctl"
27 #define IOTKIT_SECCTL(obj) OBJECT_CHECK(IoTKitSecCtl, (obj), TYPE_IOTKIT_SECCTL)
28 
29 typedef struct IoTKitSecCtl {
30     /*< private >*/
31     SysBusDevice parent_obj;
32 
33     /*< public >*/
34 
35     MemoryRegion s_regs;
36     MemoryRegion ns_regs;
37 } IoTKitSecCtl;
38 
39 #endif
40