Home
last modified time | relevance | path

Searched refs:kvm_cpu_context (Results 1 – 25 of 32) sorted by relevance

12

/linux/arch/riscv/include/asm/
H A Dkvm_vcpu_fp.h15 struct kvm_cpu_context;
18 void __kvm_riscv_fp_f_save(struct kvm_cpu_context *context);
19 void __kvm_riscv_fp_f_restore(struct kvm_cpu_context *context);
20 void __kvm_riscv_fp_d_save(struct kvm_cpu_context *context);
21 void __kvm_riscv_fp_d_restore(struct kvm_cpu_context *context);
24 void kvm_riscv_vcpu_guest_fp_save(struct kvm_cpu_context *cntx,
26 void kvm_riscv_vcpu_guest_fp_restore(struct kvm_cpu_context *cntx,
28 void kvm_riscv_vcpu_host_fp_save(struct kvm_cpu_context *cntx);
29 void kvm_riscv_vcpu_host_fp_restore(struct kvm_cpu_context *cntx);
34 static inline void kvm_riscv_vcpu_guest_fp_save(struct kvm_cpu_context *cntx, in kvm_riscv_vcpu_guest_fp_save()
[all …]
H A Dkvm_vcpu_vector.h19 static __always_inline void __kvm_riscv_vector_save(struct kvm_cpu_context *context) in __kvm_riscv_vector_save()
24 static __always_inline void __kvm_riscv_vector_restore(struct kvm_cpu_context *context) in __kvm_riscv_vector_restore()
30 void kvm_riscv_vcpu_guest_vector_save(struct kvm_cpu_context *cntx,
32 void kvm_riscv_vcpu_guest_vector_restore(struct kvm_cpu_context *cntx,
34 void kvm_riscv_vcpu_host_vector_save(struct kvm_cpu_context *cntx);
35 void kvm_riscv_vcpu_host_vector_restore(struct kvm_cpu_context *cntx);
40 struct kvm_cpu_context;
46 static inline void kvm_riscv_vcpu_guest_vector_save(struct kvm_cpu_context *cntx, in kvm_riscv_vcpu_guest_vector_save()
51 static inline void kvm_riscv_vcpu_guest_vector_restore(struct kvm_cpu_context *cntx, in kvm_riscv_vcpu_guest_vector_restore()
56 static inline void kvm_riscv_vcpu_host_vector_save(struct kvm_cpu_context *cntx) in kvm_riscv_vcpu_host_vector_save()
[all …]
H A Dkvm_host.h116 struct kvm_cpu_context { struct
209 struct kvm_cpu_context host_context;
212 struct kvm_cpu_context guest_context;
/linux/arch/arm64/kvm/hyp/nvhe/
H A Dhyp-main.c25 void __kvm_hyp_host_forward_smc(struct kvm_cpu_context *host_ctxt);
165 static void handle___pkvm_vcpu_load(struct kvm_cpu_context *host_ctxt) in handle___pkvm_vcpu_load()
186 static void handle___pkvm_vcpu_put(struct kvm_cpu_context *host_ctxt) in handle___pkvm_vcpu_put()
198 static void handle___kvm_vcpu_run(struct kvm_cpu_context *host_ctxt) in handle___kvm_vcpu_run()
248 static void handle___pkvm_host_share_guest(struct kvm_cpu_context *host_ctxt) in handle___pkvm_host_share_guest()
273 static void handle___pkvm_host_unshare_guest(struct kvm_cpu_context *host_ctxt) in handle___pkvm_host_unshare_guest()
294 static void handle___pkvm_host_relax_perms_guest(struct kvm_cpu_context *host_ctxt) in handle___pkvm_host_relax_perms_guest()
313 static void handle___pkvm_host_wrprotect_guest(struct kvm_cpu_context *host_ctxt) in handle___pkvm_host_wrprotect_guest()
334 static void handle___pkvm_host_test_clear_young_guest(struct kvm_cpu_context *host_ctxt) in handle___pkvm_host_test_clear_young_guest()
356 static void handle___pkvm_host_mkyoung_guest(struct kvm_cpu_context *host_ctxt) in handle___pkvm_host_mkyoung_guest()
[all …]
H A Dpsci-relay.c20 void __noreturn __host_enter(struct kvm_cpu_context *host_ctxt);
72 static unsigned long psci_forward(struct kvm_cpu_context *host_ctxt) in psci_forward()
107 static int psci_cpu_on(u64 func_id, struct kvm_cpu_context *host_ctxt) in psci_cpu_on()
151 static int psci_cpu_suspend(u64 func_id, struct kvm_cpu_context *host_ctxt) in psci_cpu_suspend()
179 static int psci_system_suspend(u64 func_id, struct kvm_cpu_context *host_ctxt) in psci_system_suspend()
206 struct kvm_cpu_context *host_ctxt; in __kvm_host_psci_cpu_entry()
227 static unsigned long psci_0_1_handler(u64 func_id, struct kvm_cpu_context *host_ctxt) in psci_0_1_handler()
239 static unsigned long psci_0_2_handler(u64 func_id, struct kvm_cpu_context *host_ctxt) in psci_0_2_handler()
265 static unsigned long psci_1_0_handler(u64 func_id, struct kvm_cpu_context *host_ctxt) in psci_1_0_handler()
281 bool kvm_host_psci_handler(struct kvm_cpu_context *host_ctxt, u32 func_id) in kvm_host_psci_handler()
H A Dswitch.c33 DEFINE_PER_CPU(struct kvm_cpu_context, kvm_hyp_ctxt);
63 struct kvm_cpu_context *ctxt = &vcpu->arch.ctxt; in __activate_traps()
244 struct kvm_cpu_context *host_ctxt; in __kvm_vcpu_run()
245 struct kvm_cpu_context *guest_ctxt; in __kvm_vcpu_run()
361 struct kvm_cpu_context *host_ctxt; in hyp_panic()
H A Dffa.c97 static void ffa_set_retval(struct kvm_cpu_context *ctxt, in ffa_set_retval()
234 struct kvm_cpu_context *ctxt) in do_ffa_rxtx_map()
313 struct kvm_cpu_context *ctxt) in do_ffa_rxtx_unmap()
414 struct kvm_cpu_context *ctxt) in do_ffa_mem_frag_tx()
473 struct kvm_cpu_context *ctxt) in __do_ffa_mem_xfer()
572 struct kvm_cpu_context *ctxt) in do_ffa_mem_reclaim()
698 struct kvm_cpu_context *ctxt) in do_ffa_features()
768 struct kvm_cpu_context *ctxt) in do_ffa_version()
812 struct kvm_cpu_context *ctxt) in do_ffa_part_get()
865 bool kvm_host_ffa_handler(struct kvm_cpu_context *host_ctxt, u32 func_id) in kvm_host_ffa_handler()
H A Dtlb.c24 struct kvm_cpu_context *host_ctxt; in enter_vmid_context()
121 struct kvm_cpu_context *host_ctxt; in exit_vmid_context()
/linux/arch/riscv/kernel/
H A Dasm-offsets.c220 OFFSET(KVM_ARCH_FP_F_F0, kvm_cpu_context, fp.f.f[0]); in asm_offsets()
221 OFFSET(KVM_ARCH_FP_F_F1, kvm_cpu_context, fp.f.f[1]); in asm_offsets()
222 OFFSET(KVM_ARCH_FP_F_F2, kvm_cpu_context, fp.f.f[2]); in asm_offsets()
223 OFFSET(KVM_ARCH_FP_F_F3, kvm_cpu_context, fp.f.f[3]); in asm_offsets()
224 OFFSET(KVM_ARCH_FP_F_F4, kvm_cpu_context, fp.f.f[4]); in asm_offsets()
225 OFFSET(KVM_ARCH_FP_F_F5, kvm_cpu_context, fp.f.f[5]); in asm_offsets()
226 OFFSET(KVM_ARCH_FP_F_F6, kvm_cpu_context, fp.f.f[6]); in asm_offsets()
227 OFFSET(KVM_ARCH_FP_F_F7, kvm_cpu_context, fp.f.f[7]); in asm_offsets()
228 OFFSET(KVM_ARCH_FP_F_F8, kvm_cpu_context, fp.f.f[8]); in asm_offsets()
229 OFFSET(KVM_ARCH_FP_F_F9, kvm_cpu_context, fp.f.f[9]); in asm_offsets()
[all …]
/linux/arch/arm64/kvm/hyp/include/hyp/
H A Dsysreg-sr.h19 static inline bool ctxt_has_s1poe(struct kvm_cpu_context *ctxt);
21 static inline struct kvm_vcpu *ctxt_to_vcpu(struct kvm_cpu_context *ctxt) in ctxt_to_vcpu()
31 static inline bool ctxt_is_guest(struct kvm_cpu_context *ctxt) in ctxt_is_guest()
36 static inline u64 *ctxt_mdscr_el1(struct kvm_cpu_context *ctxt) in ctxt_mdscr_el1()
46 static inline u64 ctxt_midr_el1(struct kvm_cpu_context *ctxt) in ctxt_midr_el1()
57 static inline void __sysreg_save_common_state(struct kvm_cpu_context *ctxt) in __sysreg_save_common_state()
66 static inline void __sysreg_save_user_state(struct kvm_cpu_context *ctxt) in __sysreg_save_user_state()
72 static inline bool ctxt_has_mte(struct kvm_cpu_context *ctxt) in ctxt_has_mte()
79 static inline bool ctxt_has_s1pie(struct kvm_cpu_context *ctxt) in ctxt_has_s1pie()
90 static inline bool ctxt_has_tcrx(struct kvm_cpu_context *ctxt) in ctxt_has_tcrx()
[all …]
H A Ddebug-sr.h107 struct kvm_cpu_context *ctxt) in __debug_save_state()
121 struct kvm_cpu_context *ctxt) in __debug_restore_state()
136 struct kvm_cpu_context *host_ctxt; in __debug_switch_to_guest_common()
137 struct kvm_cpu_context *guest_ctxt; in __debug_switch_to_guest_common()
155 struct kvm_cpu_context *host_ctxt; in __debug_switch_to_host_common()
156 struct kvm_cpu_context *guest_ctxt; in __debug_switch_to_host_common()
H A Dswitch.h214 struct kvm_cpu_context *hctxt = host_data_ptr(host_ctxt); in __activate_traps_hfgxtr()
246 struct kvm_cpu_context *hctxt = host_data_ptr(host_ctxt); in __deactivate_traps_hfgxtr()
301 struct kvm_cpu_context *hctxt = host_data_ptr(host_ctxt); in __activate_traps_common()
338 struct kvm_cpu_context *hctxt = host_data_ptr(host_ctxt); in __deactivate_traps_common()
/linux/arch/arm64/include/asm/
H A Dkvm_hyp.h15 DECLARE_PER_CPU(struct kvm_cpu_context, kvm_hyp_ctxt);
96 void __sysreg_save_state_nvhe(struct kvm_cpu_context *ctxt);
97 void __sysreg_restore_state_nvhe(struct kvm_cpu_context *ctxt);
101 void sysreg_save_host_state_vhe(struct kvm_cpu_context *ctxt);
102 void sysreg_restore_host_state_vhe(struct kvm_cpu_context *ctxt);
103 void sysreg_save_guest_state_vhe(struct kvm_cpu_context *ctxt);
104 void sysreg_restore_guest_state_vhe(struct kvm_cpu_context *ctxt);
122 bool kvm_host_psci_handler(struct kvm_cpu_context *host_ctxt, u32 func_id);
125 void __noreturn __hyp_do_panic(struct kvm_cpu_context *host_ctxt, u64 spsr,
134 void __noreturn __host_enter(struct kvm_cpu_context *host_ctxt);
H A Dkvm_host.h667 struct kvm_cpu_context { struct
720 struct kvm_cpu_context host_ctxt;
798 struct kvm_cpu_context ctxt;
1121 static inline u64 *___ctxt_sys_reg(const struct kvm_cpu_context *ctxt, int r) in ___ctxt_sys_reg()
1144 const struct kvm_cpu_context *ctxt = &(v)->arch.ctxt; \
1154 const struct kvm_cpu_context *ctxt = &(v)->arch.ctxt; \
1165 const struct kvm_cpu_context *ctxt = &(v)->arch.ctxt; \
1369 static inline void kvm_init_host_cpu_context(struct kvm_cpu_context *cpu_ctxt) in kvm_init_host_cpu_context()
/linux/arch/riscv/kvm/
H A Dvcpu_fp.c19 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context; in kvm_riscv_vcpu_fp_reset()
29 static void kvm_riscv_vcpu_fp_clean(struct kvm_cpu_context *cntx) in kvm_riscv_vcpu_fp_clean()
35 void kvm_riscv_vcpu_guest_fp_save(struct kvm_cpu_context *cntx, in kvm_riscv_vcpu_guest_fp_save()
47 void kvm_riscv_vcpu_guest_fp_restore(struct kvm_cpu_context *cntx, in kvm_riscv_vcpu_guest_fp_restore()
59 void kvm_riscv_vcpu_host_fp_save(struct kvm_cpu_context *cntx) in kvm_riscv_vcpu_host_fp_save()
68 void kvm_riscv_vcpu_host_fp_restore(struct kvm_cpu_context *cntx) in kvm_riscv_vcpu_host_fp_restore()
81 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context; in kvm_riscv_vcpu_get_reg_fp()
126 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context; in kvm_riscv_vcpu_set_reg_fp()
H A Dvcpu_vector.c22 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context; in kvm_riscv_vcpu_vector_reset()
37 static void kvm_riscv_vcpu_vector_clean(struct kvm_cpu_context *cntx) in kvm_riscv_vcpu_vector_clean()
43 void kvm_riscv_vcpu_guest_vector_save(struct kvm_cpu_context *cntx, in kvm_riscv_vcpu_guest_vector_save()
53 void kvm_riscv_vcpu_guest_vector_restore(struct kvm_cpu_context *cntx, in kvm_riscv_vcpu_guest_vector_restore()
63 void kvm_riscv_vcpu_host_vector_save(struct kvm_cpu_context *cntx) in kvm_riscv_vcpu_host_vector_save()
70 void kvm_riscv_vcpu_host_vector_restore(struct kvm_cpu_context *cntx) in kvm_riscv_vcpu_host_vector_restore()
101 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context; in kvm_riscv_vcpu_vreg_addr()
182 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context; in kvm_riscv_vcpu_set_reg_vector()
H A Dvcpu_sbi_replace.c20 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_sbi_ext_time_handler()
51 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_sbi_ext_ipi_handler()
95 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_sbi_ext_rfence_handler()
151 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_sbi_ext_srst_handler()
H A Dvcpu_sbi_hsm.c18 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_sbi_hsm_vcpu_start()
65 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_sbi_hsm_vcpu_get_status()
84 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_sbi_ext_hsm_handler()
H A Dvcpu_sbi.c131 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_riscv_vcpu_sbi_forward_handler()
185 struct kvm_cpu_context *cntx = &vcpu->arch.guest_context; in kvm_riscv_vcpu_sbi_load_reset_state()
201 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_riscv_vcpu_sbi_return()
591 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_riscv_vcpu_sbi_ecall()
H A Dvcpu_sbi_system.c15 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_sbi_ext_susp_handler()
H A Dvcpu_sbi_base.c19 struct kvm_cpu_context *cp = &vcpu->arch.guest_context; in kvm_sbi_ext_base_handler()
/linux/arch/arm64/kernel/
H A Dasm-offsets.c108 DEFINE(CPU_USER_PT_REGS, offsetof(struct kvm_cpu_context, regs)); in main()
109 DEFINE(CPU_ELR_EL2, offsetof(struct kvm_cpu_context, sys_regs[ELR_EL2])); in main()
110 DEFINE(CPU_RGSR_EL1, offsetof(struct kvm_cpu_context, sys_regs[RGSR_EL1])); in main()
111 DEFINE(CPU_GCR_EL1, offsetof(struct kvm_cpu_context, sys_regs[GCR_EL1])); in main()
112 DEFINE(CPU_APIAKEYLO_EL1, offsetof(struct kvm_cpu_context, sys_regs[APIAKEYLO_EL1])); in main()
113 DEFINE(CPU_APIBKEYLO_EL1, offsetof(struct kvm_cpu_context, sys_regs[APIBKEYLO_EL1])); in main()
114 DEFINE(CPU_APDAKEYLO_EL1, offsetof(struct kvm_cpu_context, sys_regs[APDAKEYLO_EL1])); in main()
115 DEFINE(CPU_APDBKEYLO_EL1, offsetof(struct kvm_cpu_context, sys_regs[APDBKEYLO_EL1])); in main()
116 DEFINE(CPU_APGAKEYLO_EL1, offsetof(struct kvm_cpu_context, sys_regs[APGAKEYLO_EL1])); in main()
117 DEFINE(HOST_CONTEXT_VCPU, offsetof(struct kvm_cpu_context, __hyp_running_vcpu)); in main()
/linux/arch/arm64/kvm/hyp/vhe/
H A Dsysreg-sr.c160 void sysreg_save_host_state_vhe(struct kvm_cpu_context *ctxt) in sysreg_save_host_state_vhe()
166 void sysreg_save_guest_state_vhe(struct kvm_cpu_context *ctxt) in sysreg_save_guest_state_vhe()
173 void sysreg_restore_host_state_vhe(struct kvm_cpu_context *ctxt) in sysreg_restore_host_state_vhe()
179 void sysreg_restore_guest_state_vhe(struct kvm_cpu_context *ctxt) in sysreg_restore_guest_state_vhe()
199 struct kvm_cpu_context *guest_ctxt = &vcpu->arch.ctxt; in __vcpu_load_switch_sysregs()
200 struct kvm_cpu_context *host_ctxt; in __vcpu_load_switch_sysregs()
260 struct kvm_cpu_context *guest_ctxt = &vcpu->arch.ctxt; in __vcpu_put_switch_sysregs()
261 struct kvm_cpu_context *host_ctxt; in __vcpu_put_switch_sysregs()
H A Dswitch.c33 DEFINE_PER_CPU(struct kvm_cpu_context, kvm_hyp_ctxt);
574 struct kvm_cpu_context *host_ctxt; in __kvm_vcpu_run_vhe()
575 struct kvm_cpu_context *guest_ctxt; in __kvm_vcpu_run_vhe()
660 struct kvm_cpu_context *host_ctxt; in __hyp_call_panic()
/linux/arch/arm64/kvm/hyp/include/nvhe/
H A Dffa.h15 bool kvm_host_ffa_handler(struct kvm_cpu_context *host_ctxt, u32 func_id);

12