| /hypervisor/common/ |
| A D | irq.c | 84 struct irq_desc *desc; in free_irq() local 90 desc->action = NULL; in free_irq() 91 desc->priv_data = NULL; in free_irq() 125 struct irq_desc *desc; in request_irq() local 163 struct irq_desc *desc; in set_irq_trigger_mode() local 181 pre_irq_arch(desc); in handle_irq() 184 action(desc->irq, desc->priv_data); in handle_irq() 187 post_irq_arch(desc); in handle_irq() 192 struct irq_desc *desc; in do_irq() local 200 handle_irq(desc); in do_irq() [all …]
|
| /hypervisor/arch/x86/guest/ |
| A D | vept.c | 130 return desc; in find_vept_desc() 142 return (desc != NULL) ? hva2hpa((void *)desc->shadow_eptp) : 0UL; in get_shadow_eptp() 165 desc->ref_count++; in get_vept_desc() 179 desc->ref_count = 1UL; in get_vept_desc() 182 __func__, desc, desc->ref_count, desc->shadow_eptp, desc->guest_eptp); in get_vept_desc() 188 return desc; in get_vept_desc() 203 if (desc) { in put_vept_desc() 204 desc->ref_count--; in put_vept_desc() 207 __func__, desc, desc->ref_count, desc->shadow_eptp, desc->guest_eptp); in put_vept_desc() 494 struct vept_desc *desc; in invept_vmexit_handler() local [all …]
|
| A D | instr_emul.c | 284 struct vmcs_seg_field *desc) in encode_vmcs_seg_desc() argument 338 desc->base_field = 0U; in encode_vmcs_seg_desc() 339 desc->limit_field = 0U; in encode_vmcs_seg_desc() 340 desc->access_field = 0U; in encode_vmcs_seg_desc() 586 segbase = desc->base; in vie_calculate_gla() 979 struct seg_desc desc; in get_gva_si_nocheck() local 983 vm_get_seg_desc(seg, &desc); in get_gva_si_nocheck() 1004 struct seg_desc desc; in get_gva_di_check() local 1712 struct seg_desc desc; in vie_init() local 2327 struct seg_desc desc; in instr_check_gva() local [all …]
|
| A D | nested.c | 1549 int64_t get_invvpid_ept_operands(struct acrn_vcpu *vcpu, void *desc, size_t size) in get_invvpid_ept_operands() argument 1555 (void)copy_from_gpa(vcpu->vm, desc, gpa, size); in get_invvpid_ept_operands() 1588 struct invvpid_operand desc; in invvpid_vmexit_handler() local 1592 type = get_invvpid_ept_operands(vcpu, (void *)&desc, sizeof(desc)); in invvpid_vmexit_handler() 1596 } else if ((desc.rsvd1 != 0U) || (desc.rsvd2 != 0U)) { in invvpid_vmexit_handler() 1598 } else if ((type != VMX_VPID_TYPE_ALL_CONTEXT) && (desc.vpid == 0U)) { in invvpid_vmexit_handler() 1601 } else if ((type == VMX_VPID_TYPE_INDIVIDUAL_ADDR) && !validate_canonical_addr(vcpu, desc.gva)) { in invvpid_vmexit_handler() 1609 asm_invvpid(desc, type); in invvpid_vmexit_handler()
|
| /hypervisor/arch/x86/ |
| A D | irq.c | 155 return (((desc->flags & IRQF_LEVEL) != 0U) in irq_need_mask() 156 && is_ioapic_irq(desc->irq)); in irq_need_mask() 162 return (((desc->flags & IRQF_LEVEL) != 0U) in irq_need_unmask() 163 && ((desc->flags & IRQF_PT) == 0U) in irq_need_unmask() 164 && is_ioapic_irq(desc->irq)); in irq_need_unmask() 167 void pre_irq_arch(const struct irq_desc *desc) in pre_irq_arch() argument 169 if (irq_need_mask(desc)) { in pre_irq_arch() 170 ioapic_gsi_mask_irq(desc->irq); in pre_irq_arch() 177 void post_irq_arch(const struct irq_desc *desc) in post_irq_arch() argument 179 if (irq_need_unmask(desc)) { in post_irq_arch() [all …]
|
| A D | gdt.c | 11 static void set_tss_desc(struct tss_64_descriptor *desc, in set_tss_desc() argument 23 desc->low32_value = u1 | (tss_limit & 0xFFFFU); in set_tss_desc() 24 desc->base_addr_63_32 = tss_hi_32; in set_tss_desc() 25 desc->high32_value = u2 | (type << 8U) | 0x8000U | u3; in set_tss_desc()
|
| A D | mmu.c | 116 static inline void local_invept(uint64_t type, struct invept_desc desc) in local_invept() argument 118 if (asm_invept(type, desc) != 0) { in local_invept() 119 pr_dbg("%s, failed. type = %lu, eptp = 0x%lx", __func__, type, desc.eptp); in local_invept() 137 struct invept_desc desc = {0}; in invept() local 140 desc.eptp = hva2hpa(eptp) | (3UL << 3U) | 6UL; in invept() 141 local_invept(INVEPT_TYPE_SINGLE_CONTEXT, desc); in invept() 143 local_invept(INVEPT_TYPE_ALL_CONTEXTS, desc); in invept()
|
| /hypervisor/include/arch/x86/asm/ |
| A D | irq.h | 135 void pre_irq_arch(const struct irq_desc *desc); 136 void post_irq_arch(const struct irq_desc *desc);
|
| A D | mmu.h | 91 static inline int32_t asm_invept(uint64_t type, struct invept_desc desc) in asm_invept() argument 97 : "m" (desc), "r" (type) in asm_invept()
|
| /hypervisor/dm/ |
| A D | io_req.c | 98 struct asyncio_desc *desc; in add_asyncio() local 105 desc = &(vm->aio_desc[i]); in add_asyncio() 106 if ((desc->asyncio_info.addr == 0UL) && (desc->asyncio_info.fd == 0UL)) { in add_asyncio() 107 (void)memcpy_s(&(desc->asyncio_info), sizeof(struct acrn_asyncio_info), in add_asyncio() 109 INIT_LIST_HEAD(&(desc->list)); in add_asyncio() 110 list_add(&(desc->list), &vm->aiodesc_queue); in add_asyncio() 133 struct asyncio_desc *desc; in remove_asyncio() local 139 desc = &(vm->aio_desc[i]); in remove_asyncio() 140 info = &(desc->asyncio_info); in remove_asyncio() 146 list_del_init(&(desc->list)); in remove_asyncio() [all …]
|
| /hypervisor/include/arch/x86/asm/guest/ |
| A D | nested.h | 319 int64_t get_invvpid_ept_operands(struct acrn_vcpu *vcpu, void *desc, size_t size);
|