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