acrn-hypervisor/hypervisor/arch/x86/guest
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.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
instr_emul_wrapper.c HV: treewide: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
instr_emul_wrapper.h HV: treewide: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
instr_emul.c HV: treewide: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
instr_emul.h instr_emul: remove unnecessary params in __decode_instruction 2018-06-11 12:14:43 +08:00
pm.c HV: treewide: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
ucode.c HV:guest:fix "expression is not Boolean" 2018-06-20 14:19:47 +08:00
vcpu.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
vioapic.c HV: irq: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
vlapic_priv.h hv: vlapic_timer: add vlapic one-shot/periodic timer support 2018-06-15 17:10:28 +08:00
vlapic.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
vm.c HV:treewide:fix "expression is not Boolean" 2018-06-20 14:19:47 +08:00
vmcall.c license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
vmsr.c HV: msr: convert hexadecimals used in bitops to unsigned 2018-06-21 13:12:39 +08:00
vpic.c HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00