Lines Matching defs:hr

30 void kvmhv_save_hv_regs(struct kvm_vcpu *vcpu, struct hv_guest_state *hr)
34 hr->pcr = vc->pcr | PCR_MASK;
35 hr->dpdes = vc->dpdes;
36 hr->hfscr = vcpu->arch.hfscr;
37 hr->tb_offset = vc->tb_offset;
38 hr->dawr0 = vcpu->arch.dawr0;
39 hr->dawrx0 = vcpu->arch.dawrx0;
40 hr->ciabr = vcpu->arch.ciabr;
41 hr->purr = vcpu->arch.purr;
42 hr->spurr = vcpu->arch.spurr;
43 hr->ic = vcpu->arch.ic;
44 hr->vtb = vc->vtb;
45 hr->srr0 = vcpu->arch.shregs.srr0;
46 hr->srr1 = vcpu->arch.shregs.srr1;
47 hr->sprg[0] = vcpu->arch.shregs.sprg0;
48 hr->sprg[1] = vcpu->arch.shregs.sprg1;
49 hr->sprg[2] = vcpu->arch.shregs.sprg2;
50 hr->sprg[3] = vcpu->arch.shregs.sprg3;
51 hr->pidr = vcpu->arch.pid;
52 hr->cfar = vcpu->arch.cfar;
53 hr->ppr = vcpu->arch.ppr;
54 hr->dawr1 = vcpu->arch.dawr1;
55 hr->dawrx1 = vcpu->arch.dawrx1;
67 static void byteswap_hv_regs(struct hv_guest_state *hr)
69 hr->version = swab64(hr->version);
70 hr->lpid = swab32(hr->lpid);
71 hr->vcpu_token = swab32(hr->vcpu_token);
72 hr->lpcr = swab64(hr->lpcr);
73 hr->pcr = swab64(hr->pcr) | PCR_MASK;
74 hr->amor = swab64(hr->amor);
75 hr->dpdes = swab64(hr->dpdes);
76 hr->hfscr = swab64(hr->hfscr);
77 hr->tb_offset = swab64(hr->tb_offset);
78 hr->dawr0 = swab64(hr->dawr0);
79 hr->dawrx0 = swab64(hr->dawrx0);
80 hr->ciabr = swab64(hr->ciabr);
81 hr->hdec_expiry = swab64(hr->hdec_expiry);
82 hr->purr = swab64(hr->purr);
83 hr->spurr = swab64(hr->spurr);
84 hr->ic = swab64(hr->ic);
85 hr->vtb = swab64(hr->vtb);
86 hr->hdar = swab64(hr->hdar);
87 hr->hdsisr = swab64(hr->hdsisr);
88 hr->heir = swab64(hr->heir);
89 hr->asdr = swab64(hr->asdr);
90 hr->srr0 = swab64(hr->srr0);
91 hr->srr1 = swab64(hr->srr1);
92 hr->sprg[0] = swab64(hr->sprg[0]);
93 hr->sprg[1] = swab64(hr->sprg[1]);
94 hr->sprg[2] = swab64(hr->sprg[2]);
95 hr->sprg[3] = swab64(hr->sprg[3]);
96 hr->pidr = swab64(hr->pidr);
97 hr->cfar = swab64(hr->cfar);
98 hr->ppr = swab64(hr->ppr);
99 hr->dawr1 = swab64(hr->dawr1);
100 hr->dawrx1 = swab64(hr->dawrx1);
104 struct hv_guest_state *hr)
108 hr->dpdes = vc->dpdes;
109 hr->purr = vcpu->arch.purr;
110 hr->spurr = vcpu->arch.spurr;
111 hr->ic = vcpu->arch.ic;
112 hr->vtb = vc->vtb;
113 hr->srr0 = vcpu->arch.shregs.srr0;
114 hr->srr1 = vcpu->arch.shregs.srr1;
115 hr->sprg[0] = vcpu->arch.shregs.sprg0;
116 hr->sprg[1] = vcpu->arch.shregs.sprg1;
117 hr->sprg[2] = vcpu->arch.shregs.sprg2;
118 hr->sprg[3] = vcpu->arch.shregs.sprg3;
119 hr->pidr = vcpu->arch.pid;
120 hr->cfar = vcpu->arch.cfar;
121 hr->ppr = vcpu->arch.ppr;
124 hr->hdar = vcpu->arch.fault_dar;
125 hr->hdsisr = vcpu->arch.fault_dsisr;
126 hr->asdr = vcpu->arch.fault_gpa;
129 hr->asdr = vcpu->arch.fault_gpa;
132 hr->hfscr = ((~HFSCR_INTR_CAUSE & hr->hfscr) |
136 hr->heir = vcpu->arch.emul_inst;
141 static void restore_hv_regs(struct kvm_vcpu *vcpu, const struct hv_guest_state *hr)
145 vc->pcr = hr->pcr | PCR_MASK;
146 vc->dpdes = hr->dpdes;
147 vcpu->arch.hfscr = hr->hfscr;
148 vcpu->arch.dawr0 = hr->dawr0;
149 vcpu->arch.dawrx0 = hr->dawrx0;
150 vcpu->arch.ciabr = hr->ciabr;
151 vcpu->arch.purr = hr->purr;
152 vcpu->arch.spurr = hr->spurr;
153 vcpu->arch.ic = hr->ic;
154 vc->vtb = hr->vtb;
155 vcpu->arch.shregs.srr0 = hr->srr0;
156 vcpu->arch.shregs.srr1 = hr->srr1;
157 vcpu->arch.shregs.sprg0 = hr->sprg[0];
158 vcpu->arch.shregs.sprg1 = hr->sprg[1];
159 vcpu->arch.shregs.sprg2 = hr->sprg[2];
160 vcpu->arch.shregs.sprg3 = hr->sprg[3];
161 vcpu->arch.pid = hr->pidr;
162 vcpu->arch.cfar = hr->cfar;
163 vcpu->arch.ppr = hr->ppr;
164 vcpu->arch.dawr1 = hr->dawr1;
165 vcpu->arch.dawrx1 = hr->dawrx1;
169 struct hv_guest_state *hr)
173 vc->dpdes = hr->dpdes;
174 vcpu->arch.hfscr = hr->hfscr;
175 vcpu->arch.purr = hr->purr;
176 vcpu->arch.spurr = hr->spurr;
177 vcpu->arch.ic = hr->ic;
178 vc->vtb = hr->vtb;
179 vcpu->arch.fault_dar = hr->hdar;
180 vcpu->arch.fault_dsisr = hr->hdsisr;
181 vcpu->arch.fault_gpa = hr->asdr;
182 vcpu->arch.emul_inst = hr->heir;
183 vcpu->arch.shregs.srr0 = hr->srr0;
184 vcpu->arch.shregs.srr1 = hr->srr1;
185 vcpu->arch.shregs.sprg0 = hr->sprg[0];
186 vcpu->arch.shregs.sprg1 = hr->sprg[1];
187 vcpu->arch.shregs.sprg2 = hr->sprg[2];
188 vcpu->arch.shregs.sprg3 = hr->sprg[3];
189 vcpu->arch.pid = hr->pidr;
190 vcpu->arch.cfar = hr->cfar;
191 vcpu->arch.ppr = hr->ppr;