acrn-hypervisor/devicemodel/include
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
..
public HV: treewide: enforce unsignedness of pcpu_id 2018-06-21 16:59:21 +08:00
acpi.h DM: build UOS DSDT with vcpu px state data 2018-05-15 17:25:25 +08:00
ahci.h initial import 2018-05-11 14:44:28 +08:00
ata.h initial import 2018-05-11 14:44:28 +08:00
atkbdc.h DM: add deinit function to virtual keyboard device 2018-05-15 17:25:24 +08:00
block_if.h initial import 2018-05-11 14:44:28 +08:00
console.h DM: add deinit function for ps2kbd and ps2mouse 2018-05-15 17:25:24 +08:00
cpuset.h initial import 2018-05-11 14:44:28 +08:00
dm.h DM: Add option of no check against ptdev reset 2018-05-29 13:44:13 +08:00
gc.h initial import 2018-05-11 14:44:28 +08:00
heci.h license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
inout.h DM: add deinit function for bvmcons 2018-05-15 17:25:55 +08:00
ioapic.h DM: increase vioapic pin count 2018-05-16 15:09:48 +08:00
ioc.h IOC mediator: Implement VM monitor operations 2018-06-21 11:27:15 +08:00
iodev.h initial import 2018-05-11 14:44:28 +08:00
irq.h initial import 2018-05-11 14:44:28 +08:00
lpc.h initial import 2018-05-11 14:44:28 +08:00
macros.h license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
mc146818rtc.h initial import 2018-05-11 14:44:28 +08:00
mem.h DM: release mem range allocated in init_pci 2018-05-15 17:25:55 +08:00
mevent.h DM: add init/deinit function for mevent 2018-05-15 17:25:27 +08:00
monitor.h license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
mptable.h initial import 2018-05-11 14:44:28 +08:00
mptbl.h initial import 2018-05-11 14:44:28 +08:00
netmap.h initial import 2018-05-11 14:44:28 +08:00
netmap_user.h initial import 2018-05-11 14:44:28 +08:00
npk.h DM: implement emulated npk pci device 2018-06-07 16:11:49 +08:00
ns16550.h initial import 2018-05-11 14:44:28 +08:00
pci_core.h dm: add pci_emul_find_capability 2018-05-31 11:25:15 +08:00
pciio.h initial import 2018-05-11 14:44:28 +08:00
pcireg.h initial import 2018-05-11 14:44:28 +08:00
ps2kbd.h DM: add deinit function for ps2kbd and ps2mouse 2018-05-15 17:25:24 +08:00
ps2mouse.h DM: add deinit function for ps2kbd and ps2mouse 2018-05-15 17:25:24 +08:00
rpmb.h DM: Add simulated RPMB support 2018-05-25 10:45:24 +08:00
rpmb_backend.h DM: RPMB virtualization 2018-05-25 10:45:24 +08:00
rpmb_sim.h DM: Add simulated RPMB support 2018-05-25 10:45:24 +08:00
rtc.h DM: vrtc code cleanup 2018-05-15 17:25:57 +08:00
segments.h initial import 2018-05-11 14:44:28 +08:00
smbiostbl.h initial import 2018-05-11 14:44:28 +08:00
specialreg.h initial import 2018-05-11 14:44:28 +08:00
sw_load.h DM: add add_e820_entry to update e820 table. 2018-05-15 17:25:26 +08:00
tree.h initial import 2018-05-11 14:44:28 +08:00
types.h initial import 2018-05-11 14:44:28 +08:00
uart_core.h DM: cleanup resource for uart. 2018-05-15 17:25:55 +08:00
usb.h DM USB: move the UREQ macro into common header 2018-05-29 10:35:05 +08:00
usb_core.h DM USB: xHCI: add log level switch 2018-05-29 10:35:05 +08:00
usb_pmapper.h license: more spdx license tag updates 2018-06-04 14:29:45 +08:00
usbdi.h initial import 2018-05-11 14:44:28 +08:00
vbs_common_if.h license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
virtio.h doc: fix doxygen comments in virtio.h 2018-06-01 13:16:58 +08:00
virtio_kernel.h license: Replace license text with SPDX tag 2018-06-01 10:43:06 +08:00
vmm.h initial import 2018-05-11 14:44:28 +08:00
vmmapi.h DM: increase vioapic pin count 2018-05-16 15:09:48 +08:00
vrpmb.h DM: Generate vRPMB key when creating UOS 2018-05-25 10:45:24 +08:00
xhci.h DM USB: xHCI: Support APL extended capability for DRD. 2018-05-31 11:26:38 +08:00
xhcireg.h DM USB: xHCI: Support APL extended capability for DRD. 2018-05-31 11:26:38 +08:00