Lines Matching defs:vcpu

35 void switch_pmu_to_guest(struct kvm_vcpu *vcpu,
41 lp = vcpu->arch.vpa.pinned_addr;
87 if (load_pmu || (vcpu->arch.hfscr & HFSCR_PM)) {
88 mtspr(SPRN_PMC1, vcpu->arch.pmc[0]);
89 mtspr(SPRN_PMC2, vcpu->arch.pmc[1]);
90 mtspr(SPRN_PMC3, vcpu->arch.pmc[2]);
91 mtspr(SPRN_PMC4, vcpu->arch.pmc[3]);
92 mtspr(SPRN_PMC5, vcpu->arch.pmc[4]);
93 mtspr(SPRN_PMC6, vcpu->arch.pmc[5]);
94 mtspr(SPRN_MMCR1, vcpu->arch.mmcr[1]);
95 mtspr(SPRN_MMCR2, vcpu->arch.mmcr[2]);
96 mtspr(SPRN_SDAR, vcpu->arch.sdar);
97 mtspr(SPRN_SIAR, vcpu->arch.siar);
98 mtspr(SPRN_SIER, vcpu->arch.sier[0]);
101 mtspr(SPRN_MMCR3, vcpu->arch.mmcr[3]);
102 mtspr(SPRN_SIER2, vcpu->arch.sier[1]);
103 mtspr(SPRN_SIER3, vcpu->arch.sier[2]);
107 mtspr(SPRN_MMCRA, vcpu->arch.mmcra);
108 mtspr(SPRN_MMCR0, vcpu->arch.mmcr[0]);
111 if (!vcpu->arch.nested &&
112 (vcpu->arch.hfscr_permitted & HFSCR_PM))
113 vcpu->arch.hfscr |= HFSCR_PM;
118 void switch_pmu_to_host(struct kvm_vcpu *vcpu,
124 lp = vcpu->arch.vpa.pinned_addr;
133 save_pmu |= nesting_enabled(vcpu->kvm);
137 vcpu->arch.mmcr[0] = mfspr(SPRN_MMCR0);
138 vcpu->arch.mmcra = mfspr(SPRN_MMCRA);
140 freeze_pmu(vcpu->arch.mmcr[0], vcpu->arch.mmcra);
142 vcpu->arch.pmc[0] = mfspr(SPRN_PMC1);
143 vcpu->arch.pmc[1] = mfspr(SPRN_PMC2);
144 vcpu->arch.pmc[2] = mfspr(SPRN_PMC3);
145 vcpu->arch.pmc[3] = mfspr(SPRN_PMC4);
146 vcpu->arch.pmc[4] = mfspr(SPRN_PMC5);
147 vcpu->arch.pmc[5] = mfspr(SPRN_PMC6);
148 vcpu->arch.mmcr[1] = mfspr(SPRN_MMCR1);
149 vcpu->arch.mmcr[2] = mfspr(SPRN_MMCR2);
150 vcpu->arch.sdar = mfspr(SPRN_SDAR);
151 vcpu->arch.siar = mfspr(SPRN_SIAR);
152 vcpu->arch.sier[0] = mfspr(SPRN_SIER);
155 vcpu->arch.mmcr[3] = mfspr(SPRN_MMCR3);
156 vcpu->arch.sier[1] = mfspr(SPRN_SIER2);
157 vcpu->arch.sier[2] = mfspr(SPRN_SIER3);
160 } else if (vcpu->arch.hfscr & HFSCR_PM) {
182 if (!vcpu->arch.nested)
183 vcpu->arch.hfscr &= ~HFSCR_PM;