smstate 230 arch/x86/include/asm/kvm_emulate.h const char *smstate); smstate 1203 arch/x86/include/asm/kvm_host.h int (*pre_enter_smm)(struct kvm_vcpu *vcpu, char *smstate); smstate 1204 arch/x86/include/asm/kvm_host.h int (*pre_leave_smm)(struct kvm_vcpu *vcpu, const char *smstate); smstate 2403 arch/x86/kvm/emulate.c static int rsm_load_seg_32(struct x86_emulate_ctxt *ctxt, const char *smstate, smstate 2410 arch/x86/kvm/emulate.c selector = GET_SMSTATE(u32, smstate, 0x7fa8 + n * 4); smstate 2417 arch/x86/kvm/emulate.c set_desc_base(&desc, GET_SMSTATE(u32, smstate, offset + 8)); smstate 2418 arch/x86/kvm/emulate.c set_desc_limit(&desc, GET_SMSTATE(u32, smstate, offset + 4)); smstate 2419 arch/x86/kvm/emulate.c rsm_set_desc_flags(&desc, GET_SMSTATE(u32, smstate, offset)); smstate 2425 arch/x86/kvm/emulate.c static int rsm_load_seg_64(struct x86_emulate_ctxt *ctxt, const char *smstate, smstate 2435 arch/x86/kvm/emulate.c selector = GET_SMSTATE(u16, smstate, offset); smstate 2436 arch/x86/kvm/emulate.c rsm_set_desc_flags(&desc, GET_SMSTATE(u16, smstate, offset + 2) << 8); smstate 2437 arch/x86/kvm/emulate.c set_desc_limit(&desc, GET_SMSTATE(u32, smstate, offset + 4)); smstate 2438 arch/x86/kvm/emulate.c set_desc_base(&desc, GET_SMSTATE(u32, smstate, offset + 8)); smstate 2439 arch/x86/kvm/emulate.c base3 = GET_SMSTATE(u32, smstate, offset + 12); smstate 2492 arch/x86/kvm/emulate.c const char *smstate) smstate 2500 arch/x86/kvm/emulate.c cr0 = GET_SMSTATE(u32, smstate, 0x7ffc); smstate 2501 arch/x86/kvm/emulate.c cr3 = GET_SMSTATE(u32, smstate, 0x7ff8); smstate 2502 arch/x86/kvm/emulate.c ctxt->eflags = GET_SMSTATE(u32, smstate, 0x7ff4) | X86_EFLAGS_FIXED; smstate 2503 arch/x86/kvm/emulate.c ctxt->_eip = GET_SMSTATE(u32, smstate, 0x7ff0); smstate 2506 arch/x86/kvm/emulate.c *reg_write(ctxt, i) = GET_SMSTATE(u32, smstate, 0x7fd0 + i * 4); smstate 2508 arch/x86/kvm/emulate.c val = GET_SMSTATE(u32, smstate, 0x7fcc); smstate 2510 arch/x86/kvm/emulate.c val = GET_SMSTATE(u32, smstate, 0x7fc8); smstate 2513 arch/x86/kvm/emulate.c selector = GET_SMSTATE(u32, smstate, 0x7fc4); smstate 2514 arch/x86/kvm/emulate.c set_desc_base(&desc, GET_SMSTATE(u32, smstate, 0x7f64)); smstate 2515 arch/x86/kvm/emulate.c set_desc_limit(&desc, GET_SMSTATE(u32, smstate, 0x7f60)); smstate 2516 arch/x86/kvm/emulate.c rsm_set_desc_flags(&desc, GET_SMSTATE(u32, smstate, 0x7f5c)); smstate 2519 arch/x86/kvm/emulate.c selector = GET_SMSTATE(u32, smstate, 0x7fc0); smstate 2520 arch/x86/kvm/emulate.c set_desc_base(&desc, GET_SMSTATE(u32, smstate, 0x7f80)); smstate 2521 arch/x86/kvm/emulate.c set_desc_limit(&desc, GET_SMSTATE(u32, smstate, 0x7f7c)); smstate 2522 arch/x86/kvm/emulate.c rsm_set_desc_flags(&desc, GET_SMSTATE(u32, smstate, 0x7f78)); smstate 2525 arch/x86/kvm/emulate.c dt.address = GET_SMSTATE(u32, smstate, 0x7f74); smstate 2526 arch/x86/kvm/emulate.c dt.size = GET_SMSTATE(u32, smstate, 0x7f70); smstate 2529 arch/x86/kvm/emulate.c dt.address = GET_SMSTATE(u32, smstate, 0x7f58); smstate 2530 arch/x86/kvm/emulate.c dt.size = GET_SMSTATE(u32, smstate, 0x7f54); smstate 2534 arch/x86/kvm/emulate.c int r = rsm_load_seg_32(ctxt, smstate, i); smstate 2539 arch/x86/kvm/emulate.c cr4 = GET_SMSTATE(u32, smstate, 0x7f14); smstate 2541 arch/x86/kvm/emulate.c ctxt->ops->set_smbase(ctxt, GET_SMSTATE(u32, smstate, 0x7ef8)); smstate 2548 arch/x86/kvm/emulate.c const char *smstate) smstate 2558 arch/x86/kvm/emulate.c *reg_write(ctxt, i) = GET_SMSTATE(u64, smstate, 0x7ff8 - i * 8); smstate 2560 arch/x86/kvm/emulate.c ctxt->_eip = GET_SMSTATE(u64, smstate, 0x7f78); smstate 2561 arch/x86/kvm/emulate.c ctxt->eflags = GET_SMSTATE(u32, smstate, 0x7f70) | X86_EFLAGS_FIXED; smstate 2563 arch/x86/kvm/emulate.c val = GET_SMSTATE(u32, smstate, 0x7f68); smstate 2565 arch/x86/kvm/emulate.c val = GET_SMSTATE(u32, smstate, 0x7f60); smstate 2568 arch/x86/kvm/emulate.c cr0 = GET_SMSTATE(u64, smstate, 0x7f58); smstate 2569 arch/x86/kvm/emulate.c cr3 = GET_SMSTATE(u64, smstate, 0x7f50); smstate 2570 arch/x86/kvm/emulate.c cr4 = GET_SMSTATE(u64, smstate, 0x7f48); smstate 2571 arch/x86/kvm/emulate.c ctxt->ops->set_smbase(ctxt, GET_SMSTATE(u32, smstate, 0x7f00)); smstate 2572 arch/x86/kvm/emulate.c val = GET_SMSTATE(u64, smstate, 0x7ed0); smstate 2575 arch/x86/kvm/emulate.c selector = GET_SMSTATE(u32, smstate, 0x7e90); smstate 2576 arch/x86/kvm/emulate.c rsm_set_desc_flags(&desc, GET_SMSTATE(u32, smstate, 0x7e92) << 8); smstate 2577 arch/x86/kvm/emulate.c set_desc_limit(&desc, GET_SMSTATE(u32, smstate, 0x7e94)); smstate 2578 arch/x86/kvm/emulate.c set_desc_base(&desc, GET_SMSTATE(u32, smstate, 0x7e98)); smstate 2579 arch/x86/kvm/emulate.c base3 = GET_SMSTATE(u32, smstate, 0x7e9c); smstate 2582 arch/x86/kvm/emulate.c dt.size = GET_SMSTATE(u32, smstate, 0x7e84); smstate 2583 arch/x86/kvm/emulate.c dt.address = GET_SMSTATE(u64, smstate, 0x7e88); smstate 2586 arch/x86/kvm/emulate.c selector = GET_SMSTATE(u32, smstate, 0x7e70); smstate 2587 arch/x86/kvm/emulate.c rsm_set_desc_flags(&desc, GET_SMSTATE(u32, smstate, 0x7e72) << 8); smstate 2588 arch/x86/kvm/emulate.c set_desc_limit(&desc, GET_SMSTATE(u32, smstate, 0x7e74)); smstate 2589 arch/x86/kvm/emulate.c set_desc_base(&desc, GET_SMSTATE(u32, smstate, 0x7e78)); smstate 2590 arch/x86/kvm/emulate.c base3 = GET_SMSTATE(u32, smstate, 0x7e7c); smstate 2593 arch/x86/kvm/emulate.c dt.size = GET_SMSTATE(u32, smstate, 0x7e64); smstate 2594 arch/x86/kvm/emulate.c dt.address = GET_SMSTATE(u64, smstate, 0x7e68); smstate 2602 arch/x86/kvm/emulate.c r = rsm_load_seg_64(ctxt, smstate, i); smstate 6274 arch/x86/kvm/svm.c static int svm_pre_enter_smm(struct kvm_vcpu *vcpu, char *smstate) smstate 6281 arch/x86/kvm/svm.c put_smstate(u64, smstate, 0x7ed8, 1); smstate 6283 arch/x86/kvm/svm.c put_smstate(u64, smstate, 0x7ee0, svm->nested.vmcb); smstate 6296 arch/x86/kvm/svm.c static int svm_pre_leave_smm(struct kvm_vcpu *vcpu, const char *smstate) smstate 6304 arch/x86/kvm/svm.c guest = GET_SMSTATE(u64, smstate, 0x7ed8); smstate 6305 arch/x86/kvm/svm.c vmcb = GET_SMSTATE(u64, smstate, 0x7ee0); smstate 7561 arch/x86/kvm/vmx/vmx.c static int vmx_pre_enter_smm(struct kvm_vcpu *vcpu, char *smstate) smstate 7575 arch/x86/kvm/vmx/vmx.c static int vmx_pre_leave_smm(struct kvm_vcpu *vcpu, const char *smstate) smstate 6267 arch/x86/kvm/x86.c const char *smstate) smstate 6269 arch/x86/kvm/x86.c return kvm_x86_ops->pre_leave_smm(emul_to_vcpu(ctxt), smstate);