summary refs log tree commit diff stats
path: root/hw/kvm/pci-assign.c
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2012-09-12 16:57:21 +0000
committerAlexander Graf <agraf@suse.de>2012-10-04 15:54:18 +0200
commit3fe719f467530b7c8ac0797881ff4b66d1357c18 (patch)
tree63f071414d9bdfccebb3fab39418d498e865ef2b /hw/kvm/pci-assign.c
parent53724ee565565f69560dbe17553bede8c0169379 (diff)
downloadfocaccia-qemu-3fe719f467530b7c8ac0797881ff4b66d1357c18.tar.gz
focaccia-qemu-3fe719f467530b7c8ac0797881ff4b66d1357c18.zip
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 as
no-ops.  This is because when implemented as specified in PAPR they caused
Linux (which calls both int-on/off and set-xive) to end up with interrupts
masked when they should not be.  Since Linux's set-xive calls make the
int-on/off calls redundant, making them nops worked around the problem.

In fact, the problem was caused because there was a subtle bug in set-xive,
PAPR specifies that as well as updating the current priority, it also needs
to update the saved priority used by int-on/off.  With this bug fixed the
problem goes away.  This patch implements this more correct fix.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'hw/kvm/pci-assign.c')
0 files changed, 0 insertions, 0 deletions