KVM
Public Attributes | List of all members
x86_emulate_ops Struct Reference

#include <kvm_emulate.h>

Public Attributes

void(* vm_bugged )(struct x86_emulate_ctxt *ctxt)
 
ulong(* read_gpr )(struct x86_emulate_ctxt *ctxt, unsigned reg)
 
void(* write_gpr )(struct x86_emulate_ctxt *ctxt, unsigned reg, ulong val)
 
int(* read_std )(struct x86_emulate_ctxt *ctxt, unsigned long addr, void *val, unsigned int bytes, struct x86_exception *fault, bool system)
 
int(* write_std )(struct x86_emulate_ctxt *ctxt, unsigned long addr, void *val, unsigned int bytes, struct x86_exception *fault, bool system)
 
int(* fetch )(struct x86_emulate_ctxt *ctxt, unsigned long addr, void *val, unsigned int bytes, struct x86_exception *fault)
 
int(* read_emulated )(struct x86_emulate_ctxt *ctxt, unsigned long addr, void *val, unsigned int bytes, struct x86_exception *fault)
 
int(* write_emulated )(struct x86_emulate_ctxt *ctxt, unsigned long addr, const void *val, unsigned int bytes, struct x86_exception *fault)
 
int(* cmpxchg_emulated )(struct x86_emulate_ctxt *ctxt, unsigned long addr, const void *old, const void *new, unsigned int bytes, struct x86_exception *fault)
 
void(* invlpg )(struct x86_emulate_ctxt *ctxt, ulong addr)
 
int(* pio_in_emulated )(struct x86_emulate_ctxt *ctxt, int size, unsigned short port, void *val, unsigned int count)
 
int(* pio_out_emulated )(struct x86_emulate_ctxt *ctxt, int size, unsigned short port, const void *val, unsigned int count)
 
bool(* get_segment )(struct x86_emulate_ctxt *ctxt, u16 *selector, struct desc_struct *desc, u32 *base3, int seg)
 
void(* set_segment )(struct x86_emulate_ctxt *ctxt, u16 selector, struct desc_struct *desc, u32 base3, int seg)
 
unsigned long(* get_cached_segment_base )(struct x86_emulate_ctxt *ctxt, int seg)
 
void(* get_gdt )(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)
 
void(* get_idt )(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)
 
void(* set_gdt )(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)
 
void(* set_idt )(struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)
 
ulong(* get_cr )(struct x86_emulate_ctxt *ctxt, int cr)
 
int(* set_cr )(struct x86_emulate_ctxt *ctxt, int cr, ulong val)
 
int(* cpl )(struct x86_emulate_ctxt *ctxt)
 
void(* get_dr )(struct x86_emulate_ctxt *ctxt, int dr, ulong *dest)
 
int(* set_dr )(struct x86_emulate_ctxt *ctxt, int dr, ulong value)
 
int(* set_msr_with_filter )(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 data)
 
int(* get_msr_with_filter )(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata)
 
int(* get_msr )(struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata)
 
int(* check_pmc )(struct x86_emulate_ctxt *ctxt, u32 pmc)
 
int(* read_pmc )(struct x86_emulate_ctxt *ctxt, u32 pmc, u64 *pdata)
 
void(* halt )(struct x86_emulate_ctxt *ctxt)
 
void(* wbinvd )(struct x86_emulate_ctxt *ctxt)
 
int(* fix_hypercall )(struct x86_emulate_ctxt *ctxt)
 
int(* intercept )(struct x86_emulate_ctxt *ctxt, struct x86_instruction_info *info, enum x86_intercept_stage stage)
 
bool(* get_cpuid )(struct x86_emulate_ctxt *ctxt, u32 *eax, u32 *ebx, u32 *ecx, u32 *edx, bool exact_only)
 
bool(* guest_has_movbe )(struct x86_emulate_ctxt *ctxt)
 
bool(* guest_has_fxsr )(struct x86_emulate_ctxt *ctxt)
 
bool(* guest_has_rdpid )(struct x86_emulate_ctxt *ctxt)
 
void(* set_nmi_mask )(struct x86_emulate_ctxt *ctxt, bool masked)
 
bool(* is_smm )(struct x86_emulate_ctxt *ctxt)
 
bool(* is_guest_mode )(struct x86_emulate_ctxt *ctxt)
 
int(* leave_smm )(struct x86_emulate_ctxt *ctxt)
 
void(* triple_fault )(struct x86_emulate_ctxt *ctxt)
 
int(* set_xcr )(struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr)
 
gva_t(* get_untagged_addr )(struct x86_emulate_ctxt *ctxt, gva_t addr, unsigned int flags)
 

Detailed Description

Definition at line 97 of file kvm_emulate.h.

Member Data Documentation

◆ check_pmc

int(* x86_emulate_ops::check_pmc) (struct x86_emulate_ctxt *ctxt, u32 pmc)

Definition at line 211 of file kvm_emulate.h.

◆ cmpxchg_emulated

int(* x86_emulate_ops::cmpxchg_emulated) (struct x86_emulate_ctxt *ctxt, unsigned long addr, const void *old, const void *new, unsigned int bytes, struct x86_exception *fault)

Definition at line 177 of file kvm_emulate.h.

◆ cpl

int(* x86_emulate_ops::cpl) (struct x86_emulate_ctxt *ctxt)

Definition at line 205 of file kvm_emulate.h.

◆ fetch

int(* x86_emulate_ops::fetch) (struct x86_emulate_ctxt *ctxt, unsigned long addr, void *val, unsigned int bytes, struct x86_exception *fault)

Definition at line 143 of file kvm_emulate.h.

◆ fix_hypercall

int(* x86_emulate_ops::fix_hypercall) (struct x86_emulate_ctxt *ctxt)

Definition at line 215 of file kvm_emulate.h.

◆ get_cached_segment_base

unsigned long(* x86_emulate_ops::get_cached_segment_base) (struct x86_emulate_ctxt *ctxt, int seg)

Definition at line 197 of file kvm_emulate.h.

◆ get_cpuid

bool(* x86_emulate_ops::get_cpuid) (struct x86_emulate_ctxt *ctxt, u32 *eax, u32 *ebx, u32 *ecx, u32 *edx, bool exact_only)

Definition at line 220 of file kvm_emulate.h.

◆ get_cr

ulong(* x86_emulate_ops::get_cr) (struct x86_emulate_ctxt *ctxt, int cr)

Definition at line 203 of file kvm_emulate.h.

◆ get_dr

void(* x86_emulate_ops::get_dr) (struct x86_emulate_ctxt *ctxt, int dr, ulong *dest)

Definition at line 206 of file kvm_emulate.h.

◆ get_gdt

void(* x86_emulate_ops::get_gdt) (struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)

Definition at line 199 of file kvm_emulate.h.

◆ get_idt

void(* x86_emulate_ops::get_idt) (struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)

Definition at line 200 of file kvm_emulate.h.

◆ get_msr

int(* x86_emulate_ops::get_msr) (struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata)

Definition at line 210 of file kvm_emulate.h.

◆ get_msr_with_filter

int(* x86_emulate_ops::get_msr_with_filter) (struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 *pdata)

Definition at line 209 of file kvm_emulate.h.

◆ get_segment

bool(* x86_emulate_ops::get_segment) (struct x86_emulate_ctxt *ctxt, u16 *selector, struct desc_struct *desc, u32 *base3, int seg)

Definition at line 193 of file kvm_emulate.h.

◆ get_untagged_addr

gva_t(* x86_emulate_ops::get_untagged_addr) (struct x86_emulate_ctxt *ctxt, gva_t addr, unsigned int flags)

Definition at line 234 of file kvm_emulate.h.

◆ guest_has_fxsr

bool(* x86_emulate_ops::guest_has_fxsr) (struct x86_emulate_ctxt *ctxt)

Definition at line 223 of file kvm_emulate.h.

◆ guest_has_movbe

bool(* x86_emulate_ops::guest_has_movbe) (struct x86_emulate_ctxt *ctxt)

Definition at line 222 of file kvm_emulate.h.

◆ guest_has_rdpid

bool(* x86_emulate_ops::guest_has_rdpid) (struct x86_emulate_ctxt *ctxt)

Definition at line 224 of file kvm_emulate.h.

◆ halt

void(* x86_emulate_ops::halt) (struct x86_emulate_ctxt *ctxt)

Definition at line 213 of file kvm_emulate.h.

◆ intercept

int(* x86_emulate_ops::intercept) (struct x86_emulate_ctxt *ctxt, struct x86_instruction_info *info, enum x86_intercept_stage stage)

Definition at line 216 of file kvm_emulate.h.

◆ invlpg

void(* x86_emulate_ops::invlpg) (struct x86_emulate_ctxt *ctxt, ulong addr)

Definition at line 183 of file kvm_emulate.h.

◆ is_guest_mode

bool(* x86_emulate_ops::is_guest_mode) (struct x86_emulate_ctxt *ctxt)

Definition at line 229 of file kvm_emulate.h.

◆ is_smm

bool(* x86_emulate_ops::is_smm) (struct x86_emulate_ctxt *ctxt)

Definition at line 228 of file kvm_emulate.h.

◆ leave_smm

int(* x86_emulate_ops::leave_smm) (struct x86_emulate_ctxt *ctxt)

Definition at line 230 of file kvm_emulate.h.

◆ pio_in_emulated

int(* x86_emulate_ops::pio_in_emulated) (struct x86_emulate_ctxt *ctxt, int size, unsigned short port, void *val, unsigned int count)

Definition at line 185 of file kvm_emulate.h.

◆ pio_out_emulated

int(* x86_emulate_ops::pio_out_emulated) (struct x86_emulate_ctxt *ctxt, int size, unsigned short port, const void *val, unsigned int count)

Definition at line 189 of file kvm_emulate.h.

◆ read_emulated

int(* x86_emulate_ops::read_emulated) (struct x86_emulate_ctxt *ctxt, unsigned long addr, void *val, unsigned int bytes, struct x86_exception *fault)

Definition at line 153 of file kvm_emulate.h.

◆ read_gpr

ulong(* x86_emulate_ops::read_gpr) (struct x86_emulate_ctxt *ctxt, unsigned reg)

Definition at line 104 of file kvm_emulate.h.

◆ read_pmc

int(* x86_emulate_ops::read_pmc) (struct x86_emulate_ctxt *ctxt, u32 pmc, u64 *pdata)

Definition at line 212 of file kvm_emulate.h.

◆ read_std

int(* x86_emulate_ops::read_std) (struct x86_emulate_ctxt *ctxt, unsigned long addr, void *val, unsigned int bytes, struct x86_exception *fault, bool system)

Definition at line 120 of file kvm_emulate.h.

◆ set_cr

int(* x86_emulate_ops::set_cr) (struct x86_emulate_ctxt *ctxt, int cr, ulong val)

Definition at line 204 of file kvm_emulate.h.

◆ set_dr

int(* x86_emulate_ops::set_dr) (struct x86_emulate_ctxt *ctxt, int dr, ulong value)

Definition at line 207 of file kvm_emulate.h.

◆ set_gdt

void(* x86_emulate_ops::set_gdt) (struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)

Definition at line 201 of file kvm_emulate.h.

◆ set_idt

void(* x86_emulate_ops::set_idt) (struct x86_emulate_ctxt *ctxt, struct desc_ptr *dt)

Definition at line 202 of file kvm_emulate.h.

◆ set_msr_with_filter

int(* x86_emulate_ops::set_msr_with_filter) (struct x86_emulate_ctxt *ctxt, u32 msr_index, u64 data)

Definition at line 208 of file kvm_emulate.h.

◆ set_nmi_mask

void(* x86_emulate_ops::set_nmi_mask) (struct x86_emulate_ctxt *ctxt, bool masked)

Definition at line 226 of file kvm_emulate.h.

◆ set_segment

void(* x86_emulate_ops::set_segment) (struct x86_emulate_ctxt *ctxt, u16 selector, struct desc_struct *desc, u32 base3, int seg)

Definition at line 195 of file kvm_emulate.h.

◆ set_xcr

int(* x86_emulate_ops::set_xcr) (struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr)

Definition at line 232 of file kvm_emulate.h.

◆ triple_fault

void(* x86_emulate_ops::triple_fault) (struct x86_emulate_ctxt *ctxt)

Definition at line 231 of file kvm_emulate.h.

◆ vm_bugged

void(* x86_emulate_ops::vm_bugged) (struct x86_emulate_ctxt *ctxt)

Definition at line 98 of file kvm_emulate.h.

◆ wbinvd

void(* x86_emulate_ops::wbinvd) (struct x86_emulate_ctxt *ctxt)

Definition at line 214 of file kvm_emulate.h.

◆ write_emulated

int(* x86_emulate_ops::write_emulated) (struct x86_emulate_ctxt *ctxt, unsigned long addr, const void *val, unsigned int bytes, struct x86_exception *fault)

Definition at line 164 of file kvm_emulate.h.

◆ write_gpr

void(* x86_emulate_ops::write_gpr) (struct x86_emulate_ctxt *ctxt, unsigned reg, ulong val)

Definition at line 111 of file kvm_emulate.h.

◆ write_std

int(* x86_emulate_ops::write_std) (struct x86_emulate_ctxt *ctxt, unsigned long addr, void *val, unsigned int bytes, struct x86_exception *fault, bool system)

Definition at line 133 of file kvm_emulate.h.


The documentation for this struct was generated from the following file: