mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-10-09 11:03:41 +00:00
Remove vdev ops for partition mode, change related code to directly call the corresponding functions instead Remove struct pci_vdev_ops from vpci.h Add @pre for pci_find_vdev_by_pbdf and pci_find_vdev_by_vbdf/partition_mode_vpci_init Change the return value from int32_t to void to comply with misra c and add ASSERT/panic in the functions (if necessary): vdev_hostbridge_init vdev_hostbridge_deinit vdev_pt_init vdev_pt_deinit Still use pr_err in partition_mode_cfgread and partition_mode_cfgwrite to check if vdev cfgread/cfgwrite access is aligned on 1/2/4 bytes, which is the only case that vdev cfgread/cfgwrite will return nonzero, pr_err will be removed in subsequent patch titled "unify the sharing mode and partition mode coding style for similar functions" Remove @pre for local variables Add ASSERT in partition_mode_pdev_init to check if pdev is NULL (user config error) Tracked-On: #2534 Signed-off-by: dongshen <dongsheng.x.zhang@intel.com> Acked-by: Eddie Dong <eddie.dong@intel.com>
ACRN Hypervisor ############### The open source `Project ACRN`_ defines a device hypervisor reference stack and an architecture for running multiple software subsystems, managed securely, on a consolidated system by means of a virtual machine manager. It also defines a reference framework implementation for virtual device emulation, called the "ACRN Device Model". The ACRN Hypervisor is a Type 1 reference hypervisor stack, running directly on the bare-metal hardware, and is suitable for a variety of IoT and embedded device solutions. The ACRN hypervisor addresses the gap that currently exists between datacenter hypervisors, and hard partitioning hypervisors. The ACRN hypervisor architecture partitions the system into different functional domains, with carefully selected guest OS sharing optimizations for IoT and embedded devices. You can find out more about Project ACRN on the `Project ACRN documentation`_ website. .. _`Project ACRN`: https://projectacrn.org .. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor .. _`Project ACRN documentation`: https://projectacrn.github.io/