icc_bus: QOM'ify ICC
For consistency, QOM'ify APIC's parent bus.
Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
cpu/a9mpcore: Add Global Timer
Add the global timer to A9 MPCore.
Signed-off-by: François LEGAL <devel@thom.fr.eu.org>Reviewed-by: Peter Maydell <peter.maydell@linaro.org>Message-id: ff92f35f438ac671b57d99d823723dd3e62d2c49.1385969450.git.peter.crosthwaite@xilinx.com...
cpu/a9mpcore: rename timerbusdev variable
Rename this variable for consistency with the above defined mptimerdevvariable.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>Reviewed-by: Peter Maydell <peter.maydell@linaro.org>Message-id: 28939ef95589a62414634e86c47cef76b21b15f7.1385969450.git.peter.crosthwaite@xilinx.com...
cpu/a9mpcore: reorder operations/declarations
To make it consistent for easier code reading. The order in whichvariables are defined and functions are called is set to match theaddress map ordering.
The new consistent order of doing stuff is:
SCU -> GIC -> MPTimer -> WDT....
a9mpcore: Convert to QOM realize
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Andreas Färber <andreas.faerber@web.de>
a9mpcore: Prepare for QOM embedding
a15mpcore: Split off instance_init
Prepares for QOM realize.
a15mpcore: Embed GICState
This covers both emulated and KVM GIC.
a15mpcore: Convert to QOM realize
Turn SysBusDevice initfn into a QOM realizefn.
a15mpcore: Prepare for QOM embedding
arm11mpcore: Fix typo in MemoryRegion name
"mpcode" -> "mpcore"
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Andreas Färber <afaerber@suse.de>
arm11mpcore: Drop unused fields
arm11mpcore: Create container MemoryRegion in instance_init
This allows to map the region directly after object initialization.
arm11mpcore: Split off SCU device
Inspired by a9scu.
arm11mpcore: Convert ARM11MPCorePriveState to QOM realize
Embed child devices and replace SysBus initfn with realizefn.
arm11mpcore: Convert mpcore_rirq_state to QOM realize
Embed ARM11MPCorePriveState and RealViewGICState and replace SysBusinitfn with realizefn.
arm11mpcore: Prepare for QOM embedding
Move state struct, type constant and cast macro to a new header.
arm11mpcore: Split off RealView MPCore
a9mpcore: Split off instance_init
a9mpcore: Embed GICState
Prepares for conversion to QOM realize.
a9mpcore: Embed A9SCUState
a9mpcore: Embed ARMMPTimerState
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging
QOM CPUState refactorings / X86CPU
a15mpcore: Use qemu_get_cpu() for generic timers
This simplifies the loop and aids with refactoring of CPU list.
Requested-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Andreas Färber <afaerber@suse.de>
qdev: Pass size to qbus_create_inplace()
To be passed to object_initialize().
Since commit 39355c3826f5d9a2eb1ce3dc9b4cdd68893769d6 the argument isvoid*, so drop some superfluous (BusState *) casts or direct parentfield usages.
Signed-off-by: Andreas Färber <afaerber@suse.de>
hw/cpu/a15mpcore: Wire generic timer outputs to GIC inputs
Now our A15 CPU implements the generic timers, we can wire themup to the appropriate inputs on the GIC.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com>...
default-configs: Fix A9MP and A15MP config names
When individual CONFIG_ switches for the A9MPcore and A15MPcoredevices were created, they were inadvertently given incorrect names(CONFIG_ARM9MPCORE and CONFIG_ARM15MPCORE). These CPUs are"Cortex-A9MP" and "Cortex-A15MP", and in particular the ARM9 is...
arm11mpcore: QOM cast cleanups for mpcore_rirq_state
Introduce a type constant, use QOM casts, rename the parent field andprepare for QOM realize.
Reviewed-by: Hu Tao <hutao@cn.fujitsu.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
Introduce a type constant, use QOM casts and rename the parent field.
cpu/a15mpcore: QOM cast cleanup
Introduce type constant and cast macro and rename A15MPPrivState::busdevfield to parent_obj to enforce its use.
cpu/a9mpcore: QOM casting cleanup
Introduce type constant and cast macro and enforce its use byrenaming A9MPPrivState::busdev field to parent_obj.
Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>Reviewed-by: Peter Maydell <peter.maydell@linaro.org>...
devices: Associate devices to their logical category
The category will be used to sort the devices displayed inthe command line help.
Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>Message-id: 1375107465-25767-4-git-send-email-marcel.a@redhat.com...
hw/cpu/a15mpcore: Correct default value for num-irq
The a15mpcore device claims that its default value for num-irqis the number of interrupts used by the A15MP in the vexpress-a15board. However that chip has 128 external interrupts, not 64.Since there is only one A15 based model in QEMU currently, we...
hw/c*: pass owner to memory_region_init* functions
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
memory: add owner argument to initialization functions
target-i386: Move APIC to ICC bus
It allows APIC to be hotplugged.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
target-i386: Introduce ICC bus/device/bridge
Provides a hotpluggable bus for APIC and CPU.
hw: move ARM CPU cores to hw/cpu/, configure with default-configs/
hw: make subdirectories for devices
Prepare the new directory structure.