diff --git a/doc/developer-guides/hld/hv-ioc-virt.rst b/doc/developer-guides/hld/hv-ioc-virt.rst index 615da447a..705a96232 100644 --- a/doc/developer-guides/hld/hv-ioc-virt.rst +++ b/doc/developer-guides/hld/hv-ioc-virt.rst @@ -586,115 +586,6 @@ OEM raw channel only assigns to a specific UOS following that OEM configuration. The IOC Mediator will directly forward all read/write message from IOC firmware to UOS without any modification. -Dependencies and Constraints -**************************** - -HW External Dependencies -======================== - -+--------------------------------------+--------------------------------------+ -| Dependency | Runtime Mechanism to Detect | -| | Violations | -+======================================+======================================+ -| VMX should be supported | Boot-time checks to CPUID. See | -| | section A.1 in SDM for details. | -+--------------------------------------+--------------------------------------+ -| EPT should be supported | Boot-time checks to primary and | -| | secondary processor-based | -| | VM-execution controls. See section | -| | A.3.2 and A.3.3 in SDM for details. | -+--------------------------------------+--------------------------------------+ - -SW External Dependencies -======================== - -+--------------------------------------+--------------------------------------+ -| Dependency | Runtime Mechanism to Detect | -| | Violations | -+======================================+======================================+ -| When invoking the hypervisor, the | Check the magic value in EAX. See | -| bootloader should have established a | section 3.2 & 3.3 in Multiboot | -| multiboot-compliant state | Specification for details. | -+--------------------------------------+--------------------------------------+ - -Constraints -=========== - -+--------------------------+--------------------------+--------------------------+ -| Description | Rationale | How such constraint is | -| | | enforced | -+==========================+==========================+==========================+ -| Physical cores are | To avoid interference | A bitmap indicating free | -| exclusively assigned to | between vcpus on the | pcpus; on vcpu creation | -| vcpus. | same core. | a free pcpu is picked. | -+--------------------------+--------------------------+--------------------------+ -| Only PCI devices | Without HW reset it is | | -| supporting HW reset can | challenging to manage | | -| be passed through to a | devices on UOS crashes | | -| UOS. | | | -+--------------------------+--------------------------+--------------------------+ - - -Interface Specification -*********************** - -Doxygen-style comments in the code are used for interface specification. -This section provides some examples on how functions and structure -should be commented. - -Function Header Template -======================== - -.. code-block:: c - - /** - * @brief Initialize environment for Trusty-OS on a VCPU. - * - * More info here. - * - * @param[in] vcpu Pointer to VCPU data structure - * @param[inout] param guest physical address. This gpa points to - * struct trusty_boot_param - * - * @return 0 - on success. - * @return -EIO - (description when this error can happen) - * @return -EINVAL - (description ) - * - * @pre vcpu must not be NULL. - * @pre param must ... - * - * @post the return value is non-zero if param is .... - * @post - * - * @remark The api must be invoked with interrupt disabled. - * @remark (Other usage constraints here) - */ - - -Structure -========= - -.. code-block:: c - - /** - * @brief An mmio request. - * - * More info here. - */ - struct mmio_request { - uint32_t direction; /**< Direction of this request. */ - uint32_t reserved; /**< Reserved. */ - int64_t address; /**< gpa of the register to be accessed. */ - int64_t size; /**< Width of the register to be accessed. */ - int64_t value; /**< Value read from or to be written to the - register. */ - } __aligned(8); - - -IOC Mediator Configuration -************************** - -TBD IOC Mediator Usage ******************