diff options
author | Alexander Graf <agraf@suse.de> | 2010-01-15 08:49:13 -0500 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2010-03-01 10:35:56 -0500 |
commit | f7adbba1e5d464b0d449adac1eb2519be6be9728 (patch) | |
tree | 5a7580ac34b8abfb976525b9802d860e01cc3581 /arch/powerpc/include/asm | |
parent | 1c0006d8d131585095c4a27dbfcfb3970807a35e (diff) |
KVM: PPC: Keep SRR1 flags around in shadow_msr
SRR1 stores more information that just the MSR value. It also stores
valuable information about the type of interrupt we received, for
example whether the storage interrupt we just got was because of a
missing htab entry or not.
We use that information to speed up the exit path.
Now if we get preempted before we can interpret the shadow_msr values,
we get into vcpu_put which then calls the MSR handler, which then sets
all the SRR1 information bits in shadow_msr to 0. Great.
So let's preserve the SRR1 specific bits in shadow_msr whenever we set
the MSR. They don't hurt.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/include/asm')
-rw-r--r-- | arch/powerpc/include/asm/kvm_host.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h index c30a70c6b931..715aa6baf6f0 100644 --- a/arch/powerpc/include/asm/kvm_host.h +++ b/arch/powerpc/include/asm/kvm_host.h | |||
@@ -198,6 +198,7 @@ struct kvm_vcpu_arch { | |||
198 | ulong msr; | 198 | ulong msr; |
199 | #ifdef CONFIG_PPC64 | 199 | #ifdef CONFIG_PPC64 |
200 | ulong shadow_msr; | 200 | ulong shadow_msr; |
201 | ulong shadow_srr1; | ||
201 | ulong hflags; | 202 | ulong hflags; |
202 | ulong guest_owned_ext; | 203 | ulong guest_owned_ext; |
203 | #endif | 204 | #endif |