Lines Matching refs:ctxt
26 static void __hyp_text __sysreg_save_common_state(struct kvm_cpu_context *ctxt) in __sysreg_save_common_state() argument
28 ctxt->sys_regs[MDSCR_EL1] = read_sysreg(mdscr_el1); in __sysreg_save_common_state()
34 ctxt->gp_regs.regs.sp = read_sysreg(sp_el0); in __sysreg_save_common_state()
37 static void __hyp_text __sysreg_save_user_state(struct kvm_cpu_context *ctxt) in __sysreg_save_user_state() argument
39 ctxt->sys_regs[TPIDR_EL0] = read_sysreg(tpidr_el0); in __sysreg_save_user_state()
40 ctxt->sys_regs[TPIDRRO_EL0] = read_sysreg(tpidrro_el0); in __sysreg_save_user_state()
43 static void __hyp_text __sysreg_save_el1_state(struct kvm_cpu_context *ctxt) in __sysreg_save_el1_state() argument
45 ctxt->sys_regs[CSSELR_EL1] = read_sysreg(csselr_el1); in __sysreg_save_el1_state()
46 ctxt->sys_regs[SCTLR_EL1] = read_sysreg_el1(SYS_SCTLR); in __sysreg_save_el1_state()
47 ctxt->sys_regs[ACTLR_EL1] = read_sysreg(actlr_el1); in __sysreg_save_el1_state()
48 ctxt->sys_regs[CPACR_EL1] = read_sysreg_el1(SYS_CPACR); in __sysreg_save_el1_state()
49 ctxt->sys_regs[TTBR0_EL1] = read_sysreg_el1(SYS_TTBR0); in __sysreg_save_el1_state()
50 ctxt->sys_regs[TTBR1_EL1] = read_sysreg_el1(SYS_TTBR1); in __sysreg_save_el1_state()
51 ctxt->sys_regs[TCR_EL1] = read_sysreg_el1(SYS_TCR); in __sysreg_save_el1_state()
52 ctxt->sys_regs[ESR_EL1] = read_sysreg_el1(SYS_ESR); in __sysreg_save_el1_state()
53 ctxt->sys_regs[AFSR0_EL1] = read_sysreg_el1(SYS_AFSR0); in __sysreg_save_el1_state()
54 ctxt->sys_regs[AFSR1_EL1] = read_sysreg_el1(SYS_AFSR1); in __sysreg_save_el1_state()
55 ctxt->sys_regs[FAR_EL1] = read_sysreg_el1(SYS_FAR); in __sysreg_save_el1_state()
56 ctxt->sys_regs[MAIR_EL1] = read_sysreg_el1(SYS_MAIR); in __sysreg_save_el1_state()
57 ctxt->sys_regs[VBAR_EL1] = read_sysreg_el1(SYS_VBAR); in __sysreg_save_el1_state()
58 ctxt->sys_regs[CONTEXTIDR_EL1] = read_sysreg_el1(SYS_CONTEXTIDR); in __sysreg_save_el1_state()
59 ctxt->sys_regs[AMAIR_EL1] = read_sysreg_el1(SYS_AMAIR); in __sysreg_save_el1_state()
60 ctxt->sys_regs[CNTKCTL_EL1] = read_sysreg_el1(SYS_CNTKCTL); in __sysreg_save_el1_state()
61 ctxt->sys_regs[PAR_EL1] = read_sysreg(par_el1); in __sysreg_save_el1_state()
62 ctxt->sys_regs[TPIDR_EL1] = read_sysreg(tpidr_el1); in __sysreg_save_el1_state()
64 ctxt->gp_regs.sp_el1 = read_sysreg(sp_el1); in __sysreg_save_el1_state()
65 ctxt->gp_regs.elr_el1 = read_sysreg_el1(SYS_ELR); in __sysreg_save_el1_state()
66 ctxt->gp_regs.spsr[KVM_SPSR_EL1]= read_sysreg_el1(SYS_SPSR); in __sysreg_save_el1_state()
69 static void __hyp_text __sysreg_save_el2_return_state(struct kvm_cpu_context *ctxt) in __sysreg_save_el2_return_state() argument
71 ctxt->gp_regs.regs.pc = read_sysreg_el2(SYS_ELR); in __sysreg_save_el2_return_state()
72 ctxt->gp_regs.regs.pstate = read_sysreg_el2(SYS_SPSR); in __sysreg_save_el2_return_state()
75 ctxt->sys_regs[DISR_EL1] = read_sysreg_s(SYS_VDISR_EL2); in __sysreg_save_el2_return_state()
78 void __hyp_text __sysreg_save_state_nvhe(struct kvm_cpu_context *ctxt) in __sysreg_save_state_nvhe() argument
80 __sysreg_save_el1_state(ctxt); in __sysreg_save_state_nvhe()
81 __sysreg_save_common_state(ctxt); in __sysreg_save_state_nvhe()
82 __sysreg_save_user_state(ctxt); in __sysreg_save_state_nvhe()
83 __sysreg_save_el2_return_state(ctxt); in __sysreg_save_state_nvhe()
86 void sysreg_save_host_state_vhe(struct kvm_cpu_context *ctxt) in sysreg_save_host_state_vhe() argument
88 __sysreg_save_common_state(ctxt); in sysreg_save_host_state_vhe()
92 void sysreg_save_guest_state_vhe(struct kvm_cpu_context *ctxt) in sysreg_save_guest_state_vhe() argument
94 __sysreg_save_common_state(ctxt); in sysreg_save_guest_state_vhe()
95 __sysreg_save_el2_return_state(ctxt); in sysreg_save_guest_state_vhe()
99 static void __hyp_text __sysreg_restore_common_state(struct kvm_cpu_context *ctxt) in __sysreg_restore_common_state() argument
101 write_sysreg(ctxt->sys_regs[MDSCR_EL1], mdscr_el1); in __sysreg_restore_common_state()
107 write_sysreg(ctxt->gp_regs.regs.sp, sp_el0); in __sysreg_restore_common_state()
110 static void __hyp_text __sysreg_restore_user_state(struct kvm_cpu_context *ctxt) in __sysreg_restore_user_state() argument
112 write_sysreg(ctxt->sys_regs[TPIDR_EL0], tpidr_el0); in __sysreg_restore_user_state()
113 write_sysreg(ctxt->sys_regs[TPIDRRO_EL0], tpidrro_el0); in __sysreg_restore_user_state()
116 static void __hyp_text __sysreg_restore_el1_state(struct kvm_cpu_context *ctxt) in __sysreg_restore_el1_state() argument
118 write_sysreg(ctxt->sys_regs[MPIDR_EL1], vmpidr_el2); in __sysreg_restore_el1_state()
119 write_sysreg(ctxt->sys_regs[CSSELR_EL1], csselr_el1); in __sysreg_restore_el1_state()
120 write_sysreg_el1(ctxt->sys_regs[SCTLR_EL1], SYS_SCTLR); in __sysreg_restore_el1_state()
121 write_sysreg(ctxt->sys_regs[ACTLR_EL1], actlr_el1); in __sysreg_restore_el1_state()
122 write_sysreg_el1(ctxt->sys_regs[CPACR_EL1], SYS_CPACR); in __sysreg_restore_el1_state()
123 write_sysreg_el1(ctxt->sys_regs[TTBR0_EL1], SYS_TTBR0); in __sysreg_restore_el1_state()
124 write_sysreg_el1(ctxt->sys_regs[TTBR1_EL1], SYS_TTBR1); in __sysreg_restore_el1_state()
125 write_sysreg_el1(ctxt->sys_regs[TCR_EL1], SYS_TCR); in __sysreg_restore_el1_state()
126 write_sysreg_el1(ctxt->sys_regs[ESR_EL1], SYS_ESR); in __sysreg_restore_el1_state()
127 write_sysreg_el1(ctxt->sys_regs[AFSR0_EL1], SYS_AFSR0); in __sysreg_restore_el1_state()
128 write_sysreg_el1(ctxt->sys_regs[AFSR1_EL1], SYS_AFSR1); in __sysreg_restore_el1_state()
129 write_sysreg_el1(ctxt->sys_regs[FAR_EL1], SYS_FAR); in __sysreg_restore_el1_state()
130 write_sysreg_el1(ctxt->sys_regs[MAIR_EL1], SYS_MAIR); in __sysreg_restore_el1_state()
131 write_sysreg_el1(ctxt->sys_regs[VBAR_EL1], SYS_VBAR); in __sysreg_restore_el1_state()
132 write_sysreg_el1(ctxt->sys_regs[CONTEXTIDR_EL1],SYS_CONTEXTIDR); in __sysreg_restore_el1_state()
133 write_sysreg_el1(ctxt->sys_regs[AMAIR_EL1], SYS_AMAIR); in __sysreg_restore_el1_state()
134 write_sysreg_el1(ctxt->sys_regs[CNTKCTL_EL1], SYS_CNTKCTL); in __sysreg_restore_el1_state()
135 write_sysreg(ctxt->sys_regs[PAR_EL1], par_el1); in __sysreg_restore_el1_state()
136 write_sysreg(ctxt->sys_regs[TPIDR_EL1], tpidr_el1); in __sysreg_restore_el1_state()
138 write_sysreg(ctxt->gp_regs.sp_el1, sp_el1); in __sysreg_restore_el1_state()
139 write_sysreg_el1(ctxt->gp_regs.elr_el1, SYS_ELR); in __sysreg_restore_el1_state()
140 write_sysreg_el1(ctxt->gp_regs.spsr[KVM_SPSR_EL1],SYS_SPSR); in __sysreg_restore_el1_state()
144 __sysreg_restore_el2_return_state(struct kvm_cpu_context *ctxt) in __sysreg_restore_el2_return_state() argument
146 u64 pstate = ctxt->gp_regs.regs.pstate; in __sysreg_restore_el2_return_state()
163 write_sysreg_el2(ctxt->gp_regs.regs.pc, SYS_ELR); in __sysreg_restore_el2_return_state()
167 write_sysreg_s(ctxt->sys_regs[DISR_EL1], SYS_VDISR_EL2); in __sysreg_restore_el2_return_state()
170 void __hyp_text __sysreg_restore_state_nvhe(struct kvm_cpu_context *ctxt) in __sysreg_restore_state_nvhe() argument
172 __sysreg_restore_el1_state(ctxt); in __sysreg_restore_state_nvhe()
173 __sysreg_restore_common_state(ctxt); in __sysreg_restore_state_nvhe()
174 __sysreg_restore_user_state(ctxt); in __sysreg_restore_state_nvhe()
175 __sysreg_restore_el2_return_state(ctxt); in __sysreg_restore_state_nvhe()
178 void sysreg_restore_host_state_vhe(struct kvm_cpu_context *ctxt) in sysreg_restore_host_state_vhe() argument
180 __sysreg_restore_common_state(ctxt); in sysreg_restore_host_state_vhe()
184 void sysreg_restore_guest_state_vhe(struct kvm_cpu_context *ctxt) in sysreg_restore_guest_state_vhe() argument
186 __sysreg_restore_common_state(ctxt); in sysreg_restore_guest_state_vhe()
187 __sysreg_restore_el2_return_state(ctxt); in sysreg_restore_guest_state_vhe()
198 spsr = vcpu->arch.ctxt.gp_regs.spsr; in __sysreg32_save_state()
199 sysreg = vcpu->arch.ctxt.sys_regs; in __sysreg32_save_state()
220 spsr = vcpu->arch.ctxt.gp_regs.spsr; in __sysreg32_restore_state()
221 sysreg = vcpu->arch.ctxt.sys_regs; in __sysreg32_restore_state()
249 struct kvm_cpu_context *guest_ctxt = &vcpu->arch.ctxt; in kvm_vcpu_load_sysregs()
285 struct kvm_cpu_context *guest_ctxt = &vcpu->arch.ctxt; in kvm_vcpu_put_sysregs()