Thread (36 messages) flat view 36 messages, 6 authors, 2011-11-11

Re: [PATCH 09/10] KVM: PPC: Support SC1 hypercalls for PAPR in PR mode

From: David Gibson <hidden>
Date: 2011-08-12 07:43:59
Also in: kvm

On Fri, Aug 12, 2011 at 07:35:42AM +0200, Alexander Graf wrote:
Am 12.08.2011 um 05:33 schrieb David Gibson [off-list ref]:
quoted
On Tue, Aug 09, 2011 at 06:31:47PM +0200, Alexander Graf wrote:
quoted
PAPR defines hypercalls as SC1 instructions. Using these, the guest modifies
page tables and does other privileged operations that it wouldn't be allowed
to do in supervisor mode.

This patch adds support for PR KVM to trap these instructions and route them
through the same PAPR hypercall interface that we already use for HV style
KVM.
This will work on a powermac or bare metal host.  Unfortunately, it's
not enough on a pSeries LPAR host - the sc 1 instruction from the
guest problem state will go direct to the hypervisor, which will
return an error rather than trapping to the guest kernel.

The only way around this I can see is for qemu to search for and patch
up sc 1 instructions to something else.  Obviously that would also
need some kernel support, and probably a capability to let it know if
it's necessary.
Well I'd like to keep Qemu out of the patching business, so the
guest kernel would have to patch itself.
Well sure, but guest patching itself means it can't run existing
kernels.  I thought qemu already patched a few things, ugly though
that approach is.
But yes, PHyP guests can't
run this target yet :). I'll take a stab at that too, but one
continent at a time! ;)
-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help