Searched refs:ghcb (Results 1 – 6 of 6) sorted by relevance
| /linux/arch/x86/hyperv/ |
| H A D | ivm.c | 36 struct ghcb ghcb; member 92 hv_ghcb->ghcb.protocol_version = GHCB_PROTOCOL_MAX; in hv_ghcb_hypercall() 93 hv_ghcb->ghcb.ghcb_usage = GHCB_USAGE_HYPERV_CALL; in hv_ghcb_hypercall() 104 hv_ghcb->ghcb.ghcb_usage = 0xffffffff; in hv_ghcb_hypercall() 105 memset(hv_ghcb->ghcb.save.valid_bitmap, 0, in hv_ghcb_hypercall() 106 sizeof(hv_ghcb->ghcb.save.valid_bitmap)); in hv_ghcb_hypercall() 125 static enum es_result hv_ghcb_hv_call(struct ghcb *ghcb, u64 exit_code, in hv_ghcb_hv_call() argument 129 ghcb->protocol_version = hv_ghcb_version; in hv_ghcb_hv_call() 130 ghcb->ghcb_usage = GHCB_DEFAULT_USAGE; in hv_ghcb_hv_call() 132 ghcb_set_sw_exit_code(ghcb, exit_code); in hv_ghcb_hv_call() [all …]
|
| /linux/arch/x86/boot/compressed/ |
| H A D | sev.c | 30 static struct ghcb boot_ghcb_page __aligned(PAGE_SIZE); 31 struct ghcb *boot_ghcb __section(".data"); 146 static void __noreturn sev_es_ghcb_terminate(struct ghcb *ghcb, unsigned int set, in sev_es_ghcb_terminate() argument 151 vc_ghcb_invalidate(ghcb); in sev_es_ghcb_terminate() 152 ghcb_set_sw_exit_code(ghcb, SVM_VMGEXIT_TERM_REQUEST); in sev_es_ghcb_terminate() 153 ghcb_set_sw_exit_info_1(ghcb, exit_info_1); in sev_es_ghcb_terminate() 154 ghcb_set_sw_exit_info_2(ghcb, exit_info_2); in sev_es_ghcb_terminate() 156 sev_es_wr_ghcb_msr(__pa(ghcb)); in sev_es_ghcb_terminate()
|
| /linux/arch/x86/kvm/svm/ |
| H A D | sev.c | 3364 struct ghcb *ghcb = svm->sev_es.ghcb; in sev_es_sync_to_ghcb() local 3374 ghcb_set_rax(ghcb, vcpu->arch.regs[VCPU_REGS_RAX]); in sev_es_sync_to_ghcb() 3375 ghcb_set_rbx(ghcb, vcpu->arch.regs[VCPU_REGS_RBX]); in sev_es_sync_to_ghcb() 3376 ghcb_set_rcx(ghcb, vcpu->arch.regs[VCPU_REGS_RCX]); in sev_es_sync_to_ghcb() 3377 ghcb_set_rdx(ghcb, vcpu->arch.regs[VCPU_REGS_RDX]); in sev_es_sync_to_ghcb() 3384 struct ghcb *ghcb = svm->sev_es.ghcb; in sev_es_sync_from_ghcb() local 3400 BUILD_BUG_ON(sizeof(svm->sev_es.valid_bitmap) != sizeof(ghcb->save.valid_bitmap)); in sev_es_sync_from_ghcb() 3401 memcpy(&svm->sev_es.valid_bitmap, &ghcb->save.valid_bitmap, sizeof(ghcb->save.valid_bitmap)); in sev_es_sync_from_ghcb() 3424 memset(ghcb->save.valid_bitmap, 0, sizeof(ghcb->save.valid_bitmap)); in sev_es_sync_from_ghcb() 3492 if (svm->sev_es.ghcb) { in __sev_es_unmap_ghcb() [all …]
|
| H A D | svm.h | 251 struct ghcb *ghcb; member 706 ghcb_set_sw_exit_info_1(svm->sev_es.ghcb, response); in svm_vmgexit_set_return_code() 707 ghcb_set_sw_exit_info_2(svm->sev_es.ghcb, data); in svm_vmgexit_set_return_code() 1064 return READ_ONCE(svm->sev_es.ghcb->save.field); \
|
| H A D | svm.c | 2948 if (!err || !is_sev_es_guest(vcpu) || WARN_ON_ONCE(!svm->sev_es.ghcb)) in svm_complete_emulated_msr()
|
| /linux/arch/x86/kvm/ |
| H A D | trace.h | 1845 TP_PROTO(unsigned int vcpu_id, struct ghcb *ghcb), 1846 TP_ARGS(vcpu_id, ghcb), 1857 __entry->exit_reason = ghcb->save.sw_exit_code; 1858 __entry->info1 = ghcb->save.sw_exit_info_1; 1859 __entry->info2 = ghcb->save.sw_exit_info_2; 1871 TP_PROTO(unsigned int vcpu_id, struct ghcb *ghcb), 1872 TP_ARGS(vcpu_id, ghcb), 1883 __entry->exit_reason = ghcb->save.sw_exit_code; 1884 __entry->info1 = ghcb->save.sw_exit_info_1; 1885 __entry->info2 = ghcb->save.sw_exit_info_2;
|