mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 01:51:34 +00:00
kvm/ppc/e500: h2g_tlb1_rmap: esel 0 is valid
Add one to esel values in h2g_tlb1_rmap, so that "no mapping" can be distinguished from "esel 0". Note that we're not saved by the fact that host esel 0 is reserved for non-KVM use, because KVM host esel numbering is not the raw host numbering (see to_htlb1_esel). Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
c5e6cb051c
commit
6b2ba1a912
@ -511,10 +511,10 @@ static int kvmppc_e500_tlb1_map_tlb1(struct kvmppc_vcpu_e500 *vcpu_e500,
|
|||||||
vcpu_e500->g2h_tlb1_map[esel] |= (u64)1 << sesel;
|
vcpu_e500->g2h_tlb1_map[esel] |= (u64)1 << sesel;
|
||||||
vcpu_e500->gtlb_priv[1][esel].ref.flags |= E500_TLB_BITMAP;
|
vcpu_e500->gtlb_priv[1][esel].ref.flags |= E500_TLB_BITMAP;
|
||||||
if (vcpu_e500->h2g_tlb1_rmap[sesel]) {
|
if (vcpu_e500->h2g_tlb1_rmap[sesel]) {
|
||||||
unsigned int idx = vcpu_e500->h2g_tlb1_rmap[sesel];
|
unsigned int idx = vcpu_e500->h2g_tlb1_rmap[sesel] - 1;
|
||||||
vcpu_e500->g2h_tlb1_map[idx] &= ~(1ULL << sesel);
|
vcpu_e500->g2h_tlb1_map[idx] &= ~(1ULL << sesel);
|
||||||
}
|
}
|
||||||
vcpu_e500->h2g_tlb1_rmap[sesel] = esel;
|
vcpu_e500->h2g_tlb1_rmap[sesel] = esel + 1;
|
||||||
|
|
||||||
return sesel;
|
return sesel;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user