1*fc719d77SAndreas Färber /* 2*fc719d77SAndreas Färber * Cortex-A9MPCore Snoop Control Unit (SCU) emulation. 3*fc719d77SAndreas Färber * 4*fc719d77SAndreas Färber * Copyright (c) 2009 CodeSourcery. 5*fc719d77SAndreas Färber * Copyright (c) 2011 Linaro Limited. 6*fc719d77SAndreas Färber * Written by Paul Brook, Peter Maydell. 7*fc719d77SAndreas Färber * 8*fc719d77SAndreas Färber * This code is licensed under the GPL. 9*fc719d77SAndreas Färber */ 10*fc719d77SAndreas Färber #ifndef HW_MISC_A9SCU_H 11*fc719d77SAndreas Färber #define HW_MISC_A9SCU_H 12*fc719d77SAndreas Färber 13*fc719d77SAndreas Färber #include "hw/sysbus.h" 14*fc719d77SAndreas Färber 15*fc719d77SAndreas Färber /* A9MP private memory region. */ 16*fc719d77SAndreas Färber 17*fc719d77SAndreas Färber typedef struct A9SCUState { 18*fc719d77SAndreas Färber /*< private >*/ 19*fc719d77SAndreas Färber SysBusDevice parent_obj; 20*fc719d77SAndreas Färber /*< public >*/ 21*fc719d77SAndreas Färber 22*fc719d77SAndreas Färber MemoryRegion iomem; 23*fc719d77SAndreas Färber uint32_t control; 24*fc719d77SAndreas Färber uint32_t status; 25*fc719d77SAndreas Färber uint32_t num_cpu; 26*fc719d77SAndreas Färber } A9SCUState; 27*fc719d77SAndreas Färber 28*fc719d77SAndreas Färber #define TYPE_A9_SCU "a9-scu" 29*fc719d77SAndreas Färber #define A9_SCU(obj) OBJECT_CHECK(A9SCUState, (obj), TYPE_A9_SCU) 30*fc719d77SAndreas Färber 31*fc719d77SAndreas Färber #endif 32