aboutsummaryrefslogtreecommitdiff
path: root/qobject
diff options
context:
space:
mode:
authorStafford Horne <shorne@gmail.com>2017-10-21 06:36:58 +0900
committerStafford Horne <shorne@gmail.com>2017-10-21 06:36:58 +0900
commit13f1c773640171efa8175b1ba6dcd624c1ad68c1 (patch)
tree8ec3db710faa9852df3b482a38dcc9c739c791e4 /qobject
parent6b4bbd6aeb8e187c0e3be58c8f77a484f82e6f87 (diff)
openrisc: Initial SMP support
Wire in ompic and add basic support for SMP. The OpenRISC is special in that interrupts for devices are routed to each core's PIC. This is achieved using the qemu_irq_split utility, but this currently limits OpenRISC to 2 cores. This models the reference architecture described in the OpenRISC spec 1.2 proposal. https://github.com/stffrdhrn/doc/raw/arch-1.2-proposal/openrisc-arch-1.2-rev0.pdf The changes to the intialization of the sim include: CPU Reset o Reset each cpu to the bootstrap PC rather than only a single cpu as done before. o During Kernel loading the bootstrap PC is saved in a static global. Network Initialization o Connect the interrupt to each CPU o Use more simple sysbus_mmio_map() rather than memory_region_add_subregion() Sim Initialization o Initialize the pic and tick timer per cpu o Wire in the OMPIC if SMP is enabled o Wire the serial irq to each CPU using qemu_irq_split() Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Stafford Horne <shorne@gmail.com>
Diffstat (limited to 'qobject')
0 files changed, 0 insertions, 0 deletions