acrn-hypervisor/hypervisor/include/arch/x86
Zhao Yakui 6b4ad0b449 HV: Add the volatile to avoid optimization for mmio_read/write access
If subsequent write is on the same address, maybe the compiler will optimize
the access of MMIO memory and only the last write takes effect.In such case
it is wrong. For example:
  mmio_write_long(0x25, addr);
  mmio_write_long(0x26, addr);
  mmio_write_long(0x27, addr);

After volatile is added, it can avoid the above possible optimization and
assure that each write takes effect.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2018-05-15 17:25:55 +08:00
..
guest revise type of 'exit_reason' and 'inst_len' in vcpu_arch 2018-05-15 17:25:55 +08:00
apicreg.h Fix compiler warnings when building for UEFI 2018-05-15 17:19:38 +08:00
assign.h ptdev: refine the functions name & code position 2018-05-15 17:19:38 +08:00
cpu_state_tbl.h HV: trap and validate px request 2018-05-15 17:25:25 +08:00
cpu.h hv: xsave: remove is_xsave_supported 2018-05-15 17:25:55 +08:00
cpufeatures.h hv: cpu: add cpu_has_cap() API 2018-05-15 17:25:55 +08:00
cpuid.h HV: add cpu model name 2018-05-15 17:25:25 +08:00
gdt.h initial import 2018-05-11 14:44:28 +08:00
hv_arch.h hv: cpu: add cpu_has_cap() API 2018-05-15 17:25:55 +08:00
idt.h initial import 2018-05-11 14:44:28 +08:00
intr_ctx.h initial import 2018-05-11 14:44:28 +08:00
io.h HV: Add the volatile to avoid optimization for mmio_read/write access 2018-05-15 17:25:55 +08:00
ioapic.h initial import 2018-05-11 14:44:28 +08:00
irq.h rename vmexit handlers 2018-05-15 17:25:55 +08:00
lapic.h refine: remove redundant data type definition 2018-05-15 17:25:54 +08:00
mmu.h MMU: bug fix on operating va <=> pa convertion 2018-05-15 17:25:55 +08:00
msr.h hv: vmx_capability: add cpu_has_vmx_ept/vpid_cap API 2018-05-15 17:25:55 +08:00
multiboot.h UEFI: change the efi_ctx passing method 2018-05-15 17:19:39 +08:00
softirq.h initial import 2018-05-11 14:44:28 +08:00
timer.h initial import 2018-05-11 14:44:28 +08:00
trusty.h mmu:create temporary page tables for guest at run time 2018-05-15 17:25:26 +08:00
vmexit.h rename vmexit handlers 2018-05-15 17:25:55 +08:00
vmx.h hv: vmx_capability: add cpu_has_vmx_ept/vpid_cap API 2018-05-15 17:25:55 +08:00
vtd.h ept: change eptp to PA 2018-05-15 17:25:25 +08:00
zeropage.h vm load: fix bug in loading kernel 2018-05-15 17:19:37 +08:00