Lines Matching +full:cortex +full:- +full:a9 +full:- +full:scu
2 * Cortex-A9MPCore Snoop Control Unit (SCU) emulation.
13 #include "hw/qdev-properties.h"
27 return s->control; in a9_scu_read()
29 return (((1 << s->num_cpu) - 1) << 4) | (s->num_cpu - 1); in a9_scu_read()
31 return s->status; in a9_scu_read()
38 case 0x50: /* SCU Access Control Register */ in a9_scu_read()
39 case 0x54: /* SCU Non-secure Access Control Register */ in a9_scu_read()
55 s->control = value & 1; in a9_scu_write()
60 s->status = value; in a9_scu_write()
63 /* no-op as we do not implement caches */ in a9_scu_write()
69 case 0x50: /* SCU Access Control Register */ in a9_scu_write()
70 case 0x54: /* SCU Non-secure Access Control Register */ in a9_scu_write()
97 s->control = 0; in a9_scu_reset()
105 if (!s->num_cpu || s->num_cpu > A9_SCU_CPU_MAX) { in a9_scu_realize()
106 error_setg(errp, "Illegal CPU count: %u", s->num_cpu); in a9_scu_realize()
110 memory_region_init_io(&s->iomem, OBJECT(s), &a9_scu_ops, s, in a9_scu_realize()
111 "a9-scu", 0x100); in a9_scu_realize()
112 sysbus_init_mmio(sbd, &s->iomem); in a9_scu_realize()
116 .name = "a9-scu",
127 DEFINE_PROP_UINT32("num-cpu", A9SCUState, num_cpu, 1),
136 dc->vmsd = &vmstate_a9_scu; in a9_scu_class_init()
138 dc->realize = a9_scu_realize; in a9_scu_class_init()