acrn-hypervisor/hypervisor/arch/x86
Xiangyang Wu 3027bfab10 HV: treewide: enforce unsignedness of pcpu_id
In the hypervisor, physical cpu id is defined as "int" or "uint32_t"
type in the hypervisor. So there are some sign conversion issues
about  physical cpu id (pcpu_id) reported by static analysis tool.
Sign conversion violates the rules of MISRA C:2012.

In this patch, define physical cpu id as "uint16_t" type for all
modules in the hypervisor and change related codes. The valid
range of pcpu_id is 0~65534, INVALID_PCPU_ID is defined to the
invalid pcpu_id for error detection, BROADCAST_PCPU_ID is
broadcast pcpu_id used to notify all valid pcpu.

The type of pcpu_id in the struct vcpu and vcpu_id is "int" type,
this will be fixed in another patch.

V1-->V2:
    *  Change the type of pcpu_id from uint32_t to uint16_t;
    *  Define INVALID_PCPU_ID for error detection;
    *  Define BROADCAST_PCPU_ID to notify all valid pcpu.

V2-->V3:
    *  Update comments for INVALID_PCPU_ID and BROADCAST_PCPU_ID;
    *  Update addtional pcpu_id;
    *  Convert hexadecimals to unsigned to meet the type of pcpu_id;
    *  Clean up for MIN_PCPU_ID and MAX_PCPU_ID, they will be
       defined by configuration.
Note: fix bug in the init_lapic(), the pcpu_id shall be less than 8,
this is constraint by implement in the init_lapic().
Signed-off-by: Xiangyang Wu <xiangyang.wu@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2018-06-21 16:59:21 +08:00
..
configs HV: config: add Kconfig and defconfigs for sbl & uefi 2018-06-08 17:21:13 +08:00
debug HV: further cleanup of header inclusions 2018-05-25 10:45:56 +08:00
guest HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
assign.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
cpu_primary.S license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
cpu_state_tbl.c HV:x86:fix "expression is not Boolean" 2018-06-20 14:19:47 +08:00
cpu.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
cpuid.c HV: cpu: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
ept.c HV: vmx: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
gdt.c HV: mmu: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
idt.S license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
interrupt.c HV: treewide: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
intr_lapic.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
intr_main.c license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
io.c HV: treewide: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
ioapic.c HV: irq: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
irq.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
Kconfig HV: correct loglevel definitions and default values 2018-06-20 13:23:46 +08:00
mmu.c HV: mmu: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
mtrr.c hv: update EPT when guests change MTRRs 2018-06-08 12:06:15 +08:00
notify.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
pm.c hv: Add initialize pm.c 2018-06-14 13:41:45 +08:00
retpoline-thunk.S license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
softirq.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
timer.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
trampoline.S hv: Fix typo of trampline with trampoline 2018-06-12 15:54:16 +08:00
trusty.c HV: treewide: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
vmexit.c HV: treewide: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
vmx_asm.S license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
vmx.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
vtd.c HV: vmx: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00