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