acrn-hypervisor/hypervisor/arch/x86
Li, Fei1 4fc2009770 hv: instr_emul: check the bit 0(w bit) of opcode when necessary
Not every instruction supports the operand-size bit (w). This patch try to correct
what done in commit-id 9df8790 by setting a flag VIE_OP_F_BYTE_OP to indicate which
instruction supports the operand-size bit (w).

This bug is found by removing VMX_PROCBASED_CTLS2_VAPIC_REGS VMCS setting when the
physical doesn't support this APICv feature. However, if emulated this in MRB board,
the android can't boot because when switch to trusty world, it will check
"Delivery Status" in ICR first. It turns out that this Bit Test instruction is not
emulated correctly.

Tracked-On: #1337
Signed-off-by: Qi Yadong <yadong.qi@intel.com>
Signed-off-by: Li, Fei1 <fei1.li@intel.com>
Reviewed-by: Yin Fengwei <fengwei.yin@intel.com>
2019-04-23 09:47:36 +08:00
..
boot
configs HV:config:Add config to enable logic partition on KBL NUC i7 2019-04-16 12:07:58 +08:00
guest hv: instr_emul: check the bit 0(w bit) of opcode when necessary 2019-04-23 09:47:36 +08:00
seed hv: seed: fix potential NULL pointer dereferencing 2019-04-22 15:17:33 +08:00
cat.c HV: CAT: support config CAT from acrn_vm_config 2019-02-28 11:22:29 +08:00
cpu_caps.c hv: fix "Else alternative missing in if." 2019-04-03 09:20:55 +08:00
cpu_state_tbl.c hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
cpu.c HV: Remove dead loop in stop_cpus 2019-04-22 19:58:20 +08:00
e820.c hv: cleanup some hva/hpa conversion code 2019-03-15 09:03:14 +08:00
gdt.c hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
idt.S
init.c hv: refactor seed management 2019-03-14 10:38:17 +08:00
ioapic.c hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
irq.c hv: Remove separate interrupt routine for pre-launched VMs 2019-04-04 17:51:36 +08:00
Kconfig HV: Kconfig: Remove CPU_UP_TIMEOUT 2019-04-22 19:58:20 +08:00
lapic.c HV: Remove the check pcpu active status when sending INIT 2019-04-04 00:27:55 +08:00
mmu.c hv: allocate vpid based on vm_id and vcpu_id mapping 2019-04-22 19:57:28 +08:00
notify.c hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
page.c hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
pagetable.c hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
pm.c HV: Reshuffle start_cpus and start_cpu 2019-04-22 19:58:20 +08:00
retpoline-thunk.S
sched.S replace arch_switch_to with pure asm code instead of inline asm 2019-01-25 11:39:47 +08:00
security.c hv: fix "Else alternative missing in if." 2019-04-03 09:20:55 +08:00
static_checks.c hv: allocate vpid based on vm_id and vcpu_id mapping 2019-04-22 19:57:28 +08:00
timer.c hv:move 'udelay' to timer.c 2019-03-22 08:38:13 +08:00
trampoline.c hv: merge SBL and UEFI related stuff under bsp 2019-03-13 10:26:55 +08:00
vmx.c hv:move instr_emul_ctxt instance to struct vcpu 2019-03-13 14:04:20 +08:00
vtd.c hv: Remove need for init_fallback_iommu_domain and fallback_iommu_domain 2019-04-17 11:42:36 +08:00
wakeup.S HV: modularization to refine pm related code. 2018-12-19 13:02:09 +08:00