diff options
author | Bharat Bhushan <r65777@freescale.com> | 2012-05-20 19:21:53 -0400 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2012-05-30 05:43:11 -0400 |
commit | d35b1075afc0172caa44b57b56a2b9b57e06d32e (patch) | |
tree | 9ce55544f23d250c27e84ac5c93a5a9f12693660 | |
parent | 21bd000abff7d587229dbbee6f8c17f3aad9f9d8 (diff) |
KVM: PPC: Not optimizing MSR_CE and MSR_ME with paravirt.
If there is pending critical or machine check interrupt then guest
would like to capture it when guest enable MSR.CE and MSR_ME respectively.
Also as mostly MSR_CE and MSR_ME are updated with rfi/rfci/rfmii
which anyway traps so removing the the paravirt optimization for MSR.CE
and MSR.ME.
Signed-off-by: Bharat Bhushan <bharat.bhushan@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r-- | Documentation/virtual/kvm/ppc-pv.txt | 2 | ||||
-rw-r--r-- | arch/powerpc/kernel/kvm_emul.S | 2 |
2 files changed, 1 insertions, 3 deletions
diff --git a/Documentation/virtual/kvm/ppc-pv.txt b/Documentation/virtual/kvm/ppc-pv.txt index 6e7c37050930..4911cf95c67e 100644 --- a/Documentation/virtual/kvm/ppc-pv.txt +++ b/Documentation/virtual/kvm/ppc-pv.txt | |||
@@ -109,8 +109,6 @@ The following bits are safe to be set inside the guest: | |||
109 | 109 | ||
110 | MSR_EE | 110 | MSR_EE |
111 | MSR_RI | 111 | MSR_RI |
112 | MSR_CR | ||
113 | MSR_ME | ||
114 | 112 | ||
115 | If any other bit changes in the MSR, please still use mtmsr(d). | 113 | If any other bit changes in the MSR, please still use mtmsr(d). |
116 | 114 | ||
diff --git a/arch/powerpc/kernel/kvm_emul.S b/arch/powerpc/kernel/kvm_emul.S index 62ceb2ac82cf..e100ff324a85 100644 --- a/arch/powerpc/kernel/kvm_emul.S +++ b/arch/powerpc/kernel/kvm_emul.S | |||
@@ -122,7 +122,7 @@ kvm_emulate_mtmsrd_len: | |||
122 | .long (kvm_emulate_mtmsrd_end - kvm_emulate_mtmsrd) / 4 | 122 | .long (kvm_emulate_mtmsrd_end - kvm_emulate_mtmsrd) / 4 |
123 | 123 | ||
124 | 124 | ||
125 | #define MSR_SAFE_BITS (MSR_EE | MSR_CE | MSR_ME | MSR_RI) | 125 | #define MSR_SAFE_BITS (MSR_EE | MSR_RI) |
126 | #define MSR_CRITICAL_BITS ~MSR_SAFE_BITS | 126 | #define MSR_CRITICAL_BITS ~MSR_SAFE_BITS |
127 | 127 | ||
128 | .global kvm_emulate_mtmsr | 128 | .global kvm_emulate_mtmsr |