History | View | Annotate | Download (14.7 kB)
pseries: Remove XICS irq type enum type
Currently the XICS interrupt controller emulation uses a custom enum tospecify whether a given interrupt is level-sensitive or message-triggered.This enum makes life awkward for saving the state, and isn't particularly...
pseries: Fix semantics of RTAS int-on, int-off and set-xive functions
Currently the ibm,int-on and ibm,int-off RTAS functions are implemented asno-ops. This is because when implemented as specified in PAPR they causedLinux (which calls both int-on/off and set-xive) to end up with interrupts...
pseries: Fix XICS reset
The XICS interrupt controller used on the pseries machine currently has noreset handler. We can get away with this under some circumstances, butit's not correct, and can cause failures if the XICS happens to be in thewrong state at the time of reset....
pseries: Remove C bitfields from xics code
The XICS interrupt controller emulation uses some C bitfield variables inits internal state structure. This makes like awkward for saving the statebecause we don't have easy VMSTATE helpers for bitfields.
This patch removes the bitfields, instead using explicit bit masking in a...
pseries: Rework irq assignment to avoid carrying qemu_irqs around
Currently, the interfaces in the pseries machine code for assignmentand setup of interrupts pass around qemu_irq objects. That was donein an attempt not to be too closely linked to the specific XICS...
pseries: Add support for level interrupts to XICS
The pseries "xics" interrupt controller, like most interruptcontrollers can support both message (i.e. edge sensitive) interruptsand level sensitive interrupts, but it needs to know which are which.
When I implemented the xics emulation for qemu, the only devices we...
ppc hw/: Don't use CPUState
Scripted conversion: for file in hw/ppc*.[hc] hw/mpc8544_guts.c hw/spapr*.[hc] hw/virtex_ml507.c hw/xics.c; do sed -i "s/CPUState/CPUPPCState/g" $file done
Signed-off-by: Andreas Färber <afaerber@suse.de>Acked-by: Anthony Liguori <aliguori@us.ibm.com>
pseries: Bugfixes for interrupt numbering in XICS code
The implementation of the XICS interrupt controller contains several(difficult to trigger) bugs due to the fact that we were not 100%consistent with which irq numbering we used. In most places, global...
Drop unneeded pthread.h inclusions
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Use glib memory allocation and free functions
qemu_malloc/qemu_free no longer exist after this commit.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
pseries: Abolish envs array
Currently the pseries machine init code builds up an array, envs, ofCPUState pointers for all the cpus in the system. This is kind ofpointless, given the generic code already has a perfectly good linked listof the cpus.
In addition, there are a number of places which assume that the cpu's...
Implement the PAPR (pSeries) virtualized interrupt controller (xics)
PAPR defines an interrupt control architecture which is logically dividedinto ICS (Interrupt Control Presentation, each unit is responsible forpresenting interrupts to a particular "interrupt server", i.e. CPU) and...