es_result
enum es_result vc_decode_insn(struct es_em_ctxt *ctxt);
enum es_result result;
enum es_result vc_decode_insn(struct es_em_ctxt *ctxt)
static enum es_result vc_write_mem(struct es_em_ctxt *ctxt,
static enum es_result vc_read_mem(struct es_em_ctxt *ctxt,
static enum es_result vc_ioio_check(struct es_em_ctxt *ctxt, u16 port, size_t size)
enum es_result res;
enum es_result savic_register_gpa(u64 gpa)
enum es_result res;
enum es_result savic_unregister_gpa(u64 *gpa)
enum es_result res;
enum es_result res;
enum es_result verify_exception_info(struct ghcb *ghcb, struct es_em_ctxt *ctxt);
enum es_result __vc_handle_msr(struct ghcb *ghcb, struct es_em_ctxt *ctxt, bool write);
enum es_result result;
static enum es_result __vc_decode_user_insn(struct es_em_ctxt *ctxt)
static enum es_result __vc_decode_kern_insn(struct es_em_ctxt *ctxt)
static enum es_result vc_decode_insn(struct es_em_ctxt *ctxt)
static enum es_result vc_write_mem(struct es_em_ctxt *ctxt,
static enum es_result vc_read_mem(struct es_em_ctxt *ctxt,
static enum es_result __vc_handle_msr_caa(struct pt_regs *regs, bool write)
static enum es_result __vc_handle_secure_tsc_msrs(struct es_em_ctxt *ctxt, bool write)
static enum es_result vc_slow_virt_to_phys(struct ghcb *ghcb, struct es_em_ctxt *ctxt,
enum es_result __vc_handle_msr(struct ghcb *ghcb, struct es_em_ctxt *ctxt, bool write)
enum es_result ret;
static enum es_result vc_handle_msr(struct ghcb *ghcb, struct es_em_ctxt *ctxt)
static enum es_result vc_do_mmio(struct ghcb *ghcb, struct es_em_ctxt *ctxt,
enum es_result res;
static enum es_result vc_handle_mmio_movs(struct es_em_ctxt *ctxt,
enum es_result ret;
static enum es_result vc_handle_mmio(struct ghcb *ghcb, struct es_em_ctxt *ctxt)
enum es_result ret;
static enum es_result vc_handle_dr7_write(struct ghcb *ghcb,
enum es_result ret;
static enum es_result vc_handle_dr7_read(struct ghcb *ghcb,
static enum es_result vc_handle_wbinvd(struct ghcb *ghcb,
static enum es_result vc_handle_rdpmc(struct ghcb *ghcb, struct es_em_ctxt *ctxt)
enum es_result ret;
static enum es_result vc_ioio_check(struct es_em_ctxt *ctxt, u16 port, size_t size)
static enum es_result vc_handle_monitor(struct ghcb *ghcb,
static enum es_result vc_handle_mwait(struct ghcb *ghcb,
static enum es_result vc_handle_vmmcall(struct ghcb *ghcb,
enum es_result ret;
static enum es_result vc_handle_trap_ac(struct ghcb *ghcb,
static enum es_result vc_handle_exitcode(struct es_em_ctxt *ctxt,
enum es_result result = vc_check_opcode_bytes(ctxt, exit_code);
enum es_result result;
static enum es_result vc_init_em_ctxt(struct es_em_ctxt *ctxt,
enum es_result ret = ES_OK;
static enum es_result vc_insn_string_check(struct es_em_ctxt *ctxt,
static enum es_result vc_insn_string_read(struct es_em_ctxt *ctxt,
enum es_result ret;
static enum es_result vc_insn_string_write(struct es_em_ctxt *ctxt,
enum es_result ret;
static enum es_result vc_ioio_exitinfo(struct es_em_ctxt *ctxt, u64 *exitinfo)
static enum es_result vc_handle_ioio(struct ghcb *ghcb, struct es_em_ctxt *ctxt)
enum es_result ret;
enum es_result verify_exception_info(struct ghcb *ghcb, struct es_em_ctxt *ctxt)
enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
static enum es_result vc_handle_cpuid(struct ghcb *ghcb,
enum es_result ret;
static enum es_result vc_handle_rdtsc(struct ghcb *ghcb,
enum es_result ret;
static enum es_result vc_check_opcode_bytes(struct es_em_ctxt *ctxt,
static enum es_result hv_ghcb_hv_call(struct ghcb *ghcb, u64 exit_code,
enum es_result savic_register_gpa(u64 gpa);
enum es_result savic_unregister_gpa(u64 *gpa);
enum es_result sev_es_ghcb_hv_call(struct ghcb *ghcb,
static inline enum es_result savic_register_gpa(u64 gpa) { return ES_UNSUPPORTED; }
static inline enum es_result savic_unregister_gpa(u64 *gpa) { return ES_UNSUPPORTED; }
enum es_result res;