acrn-hypervisor/hypervisor/include/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
..
guest HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
apicreg.h HV: irq: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
assign.h HV: move common stuff from assign.c 2018-06-15 17:10:41 +08:00
cpu.h HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
cpufeatures.h license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
cpuid.h HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
gdt.h HV:treewide:C99-friendly per_cpu implementation change the per_cpu method 2018-06-05 17:09:00 +08:00
hob_parse.h HV: Parse SeedList HOB 2018-06-07 09:55:29 +08:00
hv_arch.h hv: basic MTRR virtualization 2018-06-08 12:06:15 +08:00
idt.h license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
io.h license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
ioapic.h hv: Add suspend/resume callback for ioapic 2018-06-14 13:41:45 +08:00
irq.h HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
lapic.h HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
mmu.h HV: mmu: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
msr.h HV: msr: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +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: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
reboot.h hv: Add reboot shell command 2018-05-18 16:38:40 +08:00
softirq.h HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
timer.h HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
trusty.h HV: Parse SeedList HOB 2018-06-07 09:55:29 +08:00
vmexit.h fix parted of "missing for discarded return value" 2018-06-19 16:21:45 +08:00
vmx.h HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
vtd.h HV: vmx: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
zeropage.h license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00