acrn-hypervisor/hypervisor/include/arch/x86
Xiangyang Wu 4dc39fdb8e HV:treewide:Add 16-bit atomic operations and update vpid type
There are some integer type conversions reported by static
analysis tool for vcpu id, number of created vcpus, and
vpid, to reduce these type conversions, redesign vcpu id,
number of created vcpus, and vpid type as uint16_t as per
their usage, related 16-bit atomic operations shall be
added in HV.
MISRA C requires that all unsigned constants should have the suffix 'U'
(e.g. 0xffU), but the assembler may not accept such C-style constants.

Add 16-bit atomic add/dec/store operations;
Update temporary variables type and parameters type of
related caller;
Update vpid type as uint16_t;
Replace Macro with constant value for CPU_PAGE_SIZE.

Note: According to SDM A.10, there are some bits defined
in the IA32_VMX_EPT_VPID_CAP MSR to support the INVVPID
instruction, these bits don't mean actual VPID, so
the vpid field in the data struct vmx_capability doesn't
be updated.

V1--V2:
	update comments for assembly code as per coding style;

Signed-off-by: Xiangyang Wu <xiangyang.wu@intel.com>
2018-07-11 21:27:08 +08:00
..
guest HV:treewide:Add 16-bit atomic operations and update vpid type 2018-07-11 21:27:08 +08:00
apicreg.h HV:interrupt:fix "signed/unsigned conversion without cast" 2018-07-04 12:18:38 +08:00
assign.h HV: move common stuff from assign.c 2018-06-15 17:10:41 +08:00
cpu.h hv: cleanup cpu.c and cpu.h 2018-07-11 10:25:16 +08:00
cpufeatures.h HV:CPU: Add 'U/UL' for unsigned const value 2018-07-09 10:27:21 +08:00
cpuid.h HV:CPU: Add 'U/UL' for constant value in CPU module 2018-07-10 10:28:33 +08:00
gdt.h HV:treewide:transfer the struct member types to non-basic types 2018-06-29 15:48:19 +08:00
hob_parse.h HV: Parse SeedList HOB 2018-06-07 09:55:29 +08:00
host_pm.h hv: trap vm0 write/read pm1a/pm1b registers 2018-06-29 00:50:01 +08:00
hv_arch.h hv: implement lowlevel S3 enter/wakeup 2018-06-29 00:50:01 +08:00
idt.h HV:treewide:transfer the struct member types to non-basic types 2018-06-29 15:48:19 +08:00
io.h HV:MM:add 'U/UL' suffix for unsigned contant value 2018-07-11 09:23:03 +08:00
ioapic.h HV: ioapic: convert pins to uint8_t 2018-07-10 10:28:03 +08:00
irq.h hv: no need to return error when inject GP 2018-07-10 16:35:20 +08:00
lapic.h HV:treewide: Clean up -1U or -1UL 2018-07-10 10:27:33 +08:00
mmu.h HV:treewide:Add 16-bit atomic operations and update vpid type 2018-07-11 21:27:08 +08:00
msr.h [REVERT-ME]: disable turbo mode 2018-07-10 16:37:40 +08:00
mtrr.h hv: basic MTRR virtualization 2018-06-08 12:06:15 +08:00
multiboot.h HV: treewide: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
per_cpu.h HV: instr_emul: Rename emul_cnx to emul_ctxt 2018-07-09 09:27:42 +08:00
reboot.h hv: Add reboot shell command 2018-05-18 16:38:40 +08:00
softirq.h HV:treewide:Update return type of function ffs64 and ffz64 2018-07-02 15:11:22 +08:00
timer.h HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
trusty.h [REVERT-ME]:handle discontinuous hpa for trusty 2018-07-11 11:11:24 +08:00
vmexit.h HV: treewide: drop debug-only helpers in release build 2018-07-02 14:35:39 +08:00
vmx.h HV:treewide:Add 16-bit atomic operations and update vpid type 2018-07-11 21:27:08 +08:00
vtd.h Revert "hv: More changes to enable GPU passthru" 2018-07-05 11:06:47 +08:00
zeropage.h license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00