slb_shadow
} slb_shadow[64];
struct slb_shadow;
struct kvmppc_vpa slb_shadow;
struct slb_shadow *slb_shadow_ptr;
OFFSET(SLBSHADOW_STACKVSID, slb_shadow, save_area[SLB_NUM_BOLTED - 1].vsid);
OFFSET(SLBSHADOW_STACKESID, slb_shadow, save_area[SLB_NUM_BOLTED - 1].esid);
OFFSET(SLBSHADOW_SAVEAREA, slb_shadow, save_area);
static struct slb_shadow * __init new_slb_shadow(int cpu, unsigned long limit)
struct slb_shadow *s;
sizeof(struct slb_shadow));
val->vpaval.addr = vcpu->arch.slb_shadow.next_gpa;
val->vpaval.length = vcpu->arch.slb_shadow.len;
if (!addr && (vcpu->arch.slb_shadow.next_gpa ||
r = set_vpa(vcpu, &vcpu->arch.slb_shadow, addr, len);
unpin_vpa(vcpu->kvm, &vcpu->arch.slb_shadow);
vcpu->arch.slb_shadow.update_pending ||
vpap = &tvcpu->arch.slb_shadow;
unpin_vpa_reset(kvm, &vcpu->arch.slb_shadow);
vpa_is_registered(&tvcpu->arch.slb_shadow))
vpap = &tvcpu->arch.slb_shadow;
vcpu->arch.slb_shadow.update_pending ||
if (vcpu->arch.slb_shadow.update_pending) {
kvmppc_update_vpa(vcpu, &vcpu->arch.slb_shadow, &old_vpa);
struct slb_shadow *slb;
slb = vcpu->arch.slb_shadow.pinned_addr;
if ((void *) &slb->save_area[n] > vcpu->arch.slb_shadow.pinned_end)
memcpy(svcpu->slb, to_book3s(vcpu)->slb_shadow, sizeof(svcpu->slb));
memcpy(to_book3s(vcpu)->slb_shadow, svcpu->slb, sizeof(svcpu->slb));
struct slb_shadow *p = get_slb_shadow();
struct slb_shadow *p = get_slb_shadow();
struct slb_shadow *p = get_slb_shadow();