KVM: PPC: Make BAT only guest segments work

When a guest sets its SR entry to invalid, we may still find a
corresponding entry in a BAT. So we need to make sure we're not
faulting on invalid SR entries, but instead just claim them to be
BAT resolved.

This resolves breakage experienced when using libogc based guests.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
Alexander Graf 2010-06-21 15:24:55 +02:00 committed by Avi Kivity
parent 3b249157c0
commit 4d29bdbf12
1 changed files with 4 additions and 4 deletions

View File

@ -354,10 +354,10 @@ static int kvmppc_mmu_book3s_32_esid_to_vsid(struct kvm_vcpu *vcpu, ulong esid,
*vsid = VSID_REAL_DR | gvsid;
break;
case MSR_DR|MSR_IR:
if (!sr->valid)
return -1;
*vsid = sr->vsid;
if (sr->valid)
*vsid = sr->vsid;
else
*vsid = VSID_BAT | gvsid;
break;
default:
BUG();