Lines Matching refs:arch
77 if (vcpu->arch.papr_enabled && (level > PRIV_SUPER))
90 memcpy(&vcpu->arch.gpr_tm[0], &vcpu->arch.regs.gpr[0],
91 sizeof(vcpu->arch.gpr_tm));
92 memcpy(&vcpu->arch.fp_tm, &vcpu->arch.fp,
94 memcpy(&vcpu->arch.vr_tm, &vcpu->arch.vr,
96 vcpu->arch.ppr_tm = vcpu->arch.ppr;
97 vcpu->arch.dscr_tm = vcpu->arch.dscr;
98 vcpu->arch.amr_tm = vcpu->arch.amr;
99 vcpu->arch.ctr_tm = vcpu->arch.regs.ctr;
100 vcpu->arch.tar_tm = vcpu->arch.tar;
101 vcpu->arch.lr_tm = vcpu->arch.regs.link;
102 vcpu->arch.cr_tm = vcpu->arch.regs.ccr;
103 vcpu->arch.xer_tm = vcpu->arch.regs.xer;
104 vcpu->arch.vrsave_tm = vcpu->arch.vrsave;
109 memcpy(&vcpu->arch.regs.gpr[0], &vcpu->arch.gpr_tm[0],
110 sizeof(vcpu->arch.regs.gpr));
111 memcpy(&vcpu->arch.fp, &vcpu->arch.fp_tm,
113 memcpy(&vcpu->arch.vr, &vcpu->arch.vr_tm,
115 vcpu->arch.ppr = vcpu->arch.ppr_tm;
116 vcpu->arch.dscr = vcpu->arch.dscr_tm;
117 vcpu->arch.amr = vcpu->arch.amr_tm;
118 vcpu->arch.regs.ctr = vcpu->arch.ctr_tm;
119 vcpu->arch.tar = vcpu->arch.tar_tm;
120 vcpu->arch.regs.link = vcpu->arch.lr_tm;
121 vcpu->arch.regs.ccr = vcpu->arch.cr_tm;
122 vcpu->arch.regs.xer = vcpu->arch.xer_tm;
123 vcpu->arch.vrsave = vcpu->arch.vrsave_tm;
133 vcpu->arch.regs.ccr = (vcpu->arch.regs.ccr & ~(CR0_MASK << CR0_SHIFT)) |
155 vcpu->arch.texasr = texasr;
156 vcpu->arch.tfiar = kvmppc_get_pc(vcpu);
158 mtspr(SPRN_TFIAR, vcpu->arch.tfiar);
168 if (vcpu->arch.shadow_fscr & FSCR_TAR)
169 mtspr(SPRN_TAR, vcpu->arch.tar);
212 vcpu->arch.regs.ccr = (vcpu->arch.regs.ccr & ~(CR0_MASK << CR0_SHIFT)) |
216 vcpu->arch.texasr = mfspr(SPRN_TEXASR);
223 vcpu->arch.texasr &= ~(TEXASR_PR | TEXASR_HV);
225 vcpu->arch.texasr |= TEXASR_PR;
228 vcpu->arch.texasr |= TEXASR_HV;
230 vcpu->arch.tfiar = kvmppc_get_pc(vcpu);
321 if (vcpu->arch.mmu.mfsrin) {
323 sr = vcpu->arch.mmu.mfsrin(vcpu, srnum);
333 if (vcpu->arch.mmu.mfsrin) {
335 sr = vcpu->arch.mmu.mfsrin(vcpu, srnum);
341 vcpu->arch.mmu.mtsrin(vcpu,
346 vcpu->arch.mmu.mtsrin(vcpu,
355 vcpu->arch.mmu.tlbie(vcpu, addr, large);
366 !vcpu->arch.papr_enabled) {
381 vcpu->arch.hcall_needed = 1;
389 if (!vcpu->arch.mmu.slbmte)
392 vcpu->arch.mmu.slbmte(vcpu,
397 if (!vcpu->arch.mmu.slbie)
400 vcpu->arch.mmu.slbie(vcpu,
404 if (!vcpu->arch.mmu.slbia)
407 vcpu->arch.mmu.slbia(vcpu);
410 if (!(inst & 1) || !vcpu->arch.mmu.slbfee) {
417 if (!vcpu->arch.mmu.slbfee(vcpu, b, &t))
421 cr |= (vcpu->arch.regs.xer & 0x80000000) >>
427 if (!vcpu->arch.mmu.slbmfee) {
433 t = vcpu->arch.mmu.slbmfee(vcpu, rb_val);
438 if (!vcpu->arch.mmu.slbmfev) {
444 t = vcpu->arch.mmu.slbmfev(vcpu, rb_val);
472 vcpu->arch.fault_dar = vaddr;
481 vcpu->arch.fault_dsisr = dsisr;
503 vcpu->arch.regs.ccr = (CR0_TBEGIN_FAILURE |
504 (vcpu->arch.regs.ccr & ~(CR0_MASK << CR0_SHIFT)));
506 vcpu->arch.texasr = (TEXASR_FS | TEXASR_EXACT |
511 vcpu->arch.texasr |= TEXASR_ROT;
514 vcpu->arch.texasr |= TEXASR_HV;
516 vcpu->arch.tfhar = kvmppc_get_pc(vcpu) + 4;
517 vcpu->arch.tfiar = kvmppc_get_pc(vcpu);
727 switch (vcpu->arch.pvr) {
737 if (vcpu->arch.hflags & BOOK3S_HFLAG_NATIVE_PS) {
740 vcpu->arch.hflags |= BOOK3S_HFLAG_PAIRED_SINGLE;
743 vcpu->arch.hflags &= ~BOOK3S_HFLAG_PAIRED_SINGLE;
755 if (vcpu->arch.mmu.is_dcbz32(vcpu) &&
757 vcpu->arch.hflags |= BOOK3S_HFLAG_DCBZ32;
774 vcpu->arch.bescr = spr_val;
777 vcpu->arch.ebbhr = spr_val;
780 vcpu->arch.ebbrr = spr_val;
923 *spr_val = vcpu->arch.purr;
929 *spr_val = vcpu->arch.spurr;
935 *spr_val = vcpu->arch.ic;
949 *spr_val = vcpu->arch.fscr;
952 *spr_val = vcpu->arch.bescr;
955 *spr_val = vcpu->arch.ebbhr;
958 *spr_val = vcpu->arch.ebbrr;
1043 return vcpu->arch.fault_dar;