From 09980e778e2a233e234cb87c0b1adc7db9a02726 Mon Sep 17 00:00:00 2001 From: "Reyes, Amy" Date: Thu, 17 Mar 2022 16:54:27 -0700 Subject: [PATCH] doc: Style cleanup in CPU virt hld Style changes per Acrolinx recommendations and for consistency Signed-off-by: Reyes, Amy --- doc/developer-guides/hld/hv-cpu-virt.rst | 391 +++++++++--------- .../hld/images/hld-image7.png | Bin 59570 -> 69700 bytes 2 files changed, 193 insertions(+), 198 deletions(-) diff --git a/doc/developer-guides/hld/hv-cpu-virt.rst b/doc/developer-guides/hld/hv-cpu-virt.rst index 4fd8e3ca0..79b107c19 100644 --- a/doc/developer-guides/hld/hv-cpu-virt.rst +++ b/doc/developer-guides/hld/hv-cpu-virt.rst @@ -18,13 +18,13 @@ Based on Intel VT-x virtualization technology, ACRN emulates a virtual CPU - **core partition**: one vCPU is dedicated and associated with one physical CPU (pCPU), making much of the hardware register emulation simply - passthrough. This provides good isolation for physical interrupts + passthrough. This method provides good isolation for physical interrupts and guest execution. (See `Static CPU Partitioning`_ for more information.) - **core sharing** (to be added): two or more vCPUs share one physical CPU (pCPU). A more complicated context switch is needed - between different vCPUs' switching. This provides flexible computing + between different vCPUs' switching. This method provides flexible computing resources sharing for low-performance demand vCPU tasks. (See `Flexible CPU Sharing`_ for more information.) @@ -36,47 +36,49 @@ Based on Intel VT-x virtualization technology, ACRN emulates a virtual CPU the vCPU thread for emulating a guest CPU, switching between VMX root mode and non-root mode. A CPU schedules out to default idle when an operation needs it to stay in VMX root mode, such as when waiting for - an I/O request from the DM or when ready to destroy. + an I/O request from the Device Model (DM) or when ready to destroy. - **round-robin scheduler** (to be added): allows more vCPU thread loops to run on a CPU. A CPU switches among different vCPU threads and default idle threads as it runs out corresponding timeslices or necessary scheduling outs such as waiting for an I/O request. A vCPU can yield - itself as well, such as when it executes "PAUSE" instruction. + itself as well, such as when it executes a "PAUSE" instruction. Static CPU Partitioning *********************** CPU partitioning is a policy for mapping a virtual -CPU (vCPU) to a physical CPU. To enable this, the ACRN hypervisor can +CPU (vCPU) to a physical CPU. To enable this feature, the ACRN hypervisor can configure a noop scheduler as the schedule policy for this physical CPU. ACRN then forces a fixed 1:1 mapping between a vCPU and this physical CPU -when creating a vCPU for the guest Operating System. This makes the vCPU +when creating a vCPU for the guest operating system. This makes the vCPU management code much simpler. -``cpu_affinity`` in ``vm config`` helps to decide which physical CPU a -VCPU in a VM affines to, then finalize the fixed mapping. When launching a -User VM, need to choose pCPUs from the VM's cpu_affinity that are not -used by any other VMs. +ACRN uses the ``cpu_affinity`` parameter in ``vm config`` to decide which +physical CPU to map to a vCPU in a VM, then finalizes the fixed mapping. When +launching a User VM, need to choose pCPUs from the VM's ``cpu_affinity`` that +are not used by any other VMs. Flexible CPU Sharing ******************** -To enable CPU sharing, ACRN hypervisor can configure IORR +To enable CPU sharing, the ACRN hypervisor can configure the IORR (IO sensitive Round-Robin) or the BVT (Borrowed Virtual Time) scheduler policy. -``cpu_affinity`` in ``vm config`` indicates all the physical CPUs on which -this VM is allowed to run. A pCPU can be shared among a Service VM and any -User VM as long as the local APIC passthrough is not enabled in that User +The ``cpu_affinity`` parameter in ``vm config`` indicates all the physical CPUs +on which this VM is allowed to run. A pCPU can be shared among a Service VM and +any User VM as long as the local APIC passthrough is not enabled in that User VM. See :ref:`cpu_sharing` for more information. +.. _hv-cpu-virt-cpu-mgmt-partition: + CPU Management in the Service VM Under Static CPU Partitioning -============================================================== +************************************************************** With ACRN, all ACPI table entries are passthrough to the Service VM, including the Multiple Interrupt Controller Table (MADT). The Service VM sees all @@ -84,7 +86,7 @@ physical CPUs by parsing the MADT when the Service VM kernel boots. All physical CPUs are initially assigned to the Service VM by creating the same number of virtual CPUs. -When the Service VM boot is finished, it releases the physical CPUs intended +After the Service VM boots, it releases the physical CPUs intended for User VM use. Here is an example flow of CPU allocation on a multi-core platform. @@ -94,35 +96,33 @@ Here is an example flow of CPU allocation on a multi-core platform. :align: center :name: static-core-cpu-allocation - CPU allocation on a multi-core platform + CPU Allocation on a Multi-core Platform CPU Management in the Service VM Under Flexible CPU Sharing -=========================================================== +*********************************************************** -As all Service VM CPUs could share with different User VMs, ACRN can still passthrough -MADT to Service VM, and the Service VM is still able to see all physical CPUs. - -But as under CPU sharing, the Service VM does not need offline/release the physical -CPUs intended for User VM use. +The Service VM sees all physical CPUs via the MADT, as described in +:ref:`hv-cpu-virt-cpu-mgmt-partition`. However, the Service VM does not release +the physical CPUs intended for User VM use. CPU Management in the User VM -============================= +***************************** -``cpu_affinity`` in ``vm config`` defines a set of pCPUs that a User VM -is allowed to run on. acrn-dm could choose to launch on only a subset of the pCPUs -or on all pCPUs listed in cpu_affinity, but it can't assign -any pCPU that is not included in it. +The ``cpu_affinity`` parameter in ``vm config`` defines a set of pCPUs that a +User VM is allowed to run on. The Device Model can launch a User VM on only a +subset of the pCPUs or on all pCPUs listed in ``cpu_affinity``, but it cannot +assign any pCPU that is not included in it. -CPU Assignment Management in HV -=============================== +CPU Assignment Management in the Hypervisor +******************************************* The physical CPU assignment is predefined by ``cpu_affinity`` in ``vm config``, while post-launched VMs could be launched on pCPUs that are a subset of it. Currently, the ACRN hypervisor does not support virtual CPU migration to -different physical CPUs. This means no changes to the virtual CPU to -physical CPU can happen without first calling offline_vcpu. +different physical CPUs. No changes to the mapping of the virtual CPU to +physical CPU can happen without first calling ``offline_vcpu``. .. _vCPU_lifecycle: @@ -134,26 +134,26 @@ A vCPU lifecycle is shown in :numref:`hv-vcpu-transitions` below, where the major states are: - **VCPU_INIT**: vCPU is in an initialized state, and its vCPU thread - is not ready to run on its associated CPU + is not ready to run on its associated CPU. - **VCPU_RUNNING**: vCPU is running, and its vCPU thread is ready (in - the queue) or running on its associated CPU + the queue) or running on its associated CPU. - **VCPU_PAUSED**: vCPU is paused, and its vCPU thread is not running - on its associated CPU + on its associated CPU. -- **VPCU_ZOMBIE**: vCPU is being offline, and its vCPU thread is not - running on its associated CPU +- **VPCU_ZOMBIE**: vCPU is transitioning to an offline state, and its vCPU thread is + not running on its associated CPU. -- **VPCU_OFFLINE**: vCPU is offline +- **VPCU_OFFLINE**: vCPU is offline. .. figure:: images/hld-image17.png :align: center :name: hv-vcpu-transitions - ACRN vCPU state transitions + ACRN vCPU State Transitions -Following functions are used to drive the state machine of the vCPU +The following functions are used to drive the state machine of the vCPU lifecycle: .. doxygenfunction:: create_vcpu @@ -176,21 +176,20 @@ vCPU Scheduling Under Static CPU Partitioning :align: center :name: hv-vcpu-schedule - ACRN vCPU scheduling flow under static CPU partitioning + ACRN vCPU Scheduling Flow Under Static CPU Partitioning -As describes in the CPU virtualization overview, if under static -CPU partitioning, ACRN implements a simple scheduling mechanism -based on two threads: vcpu_thread and default_idle. A vCPU with -VCPU_RUNNING state always runs in a vcpu_thread loop, meanwhile -a vCPU with VCPU_PAUSED or VCPU_ZOMBIE state runs in default_idle -loop. The detail behaviors in vcpu_thread and default_idle threads +For static CPU partitioning, ACRN implements a simple scheduling mechanism +based on two threads: vcpu_thread and default_idle. A vCPU in the +VCPU_RUNNING state always runs in a vcpu_thread loop. +A vCPU in the VCPU_PAUSED or VCPU_ZOMBIE state runs in a default_idle +loop. The behaviors in the vcpu_thread and default_idle threads are illustrated in :numref:`hv-vcpu-schedule`: - The **vcpu_thread** loop will do the loop of handling VM exits, and pending requests around the VM entry/exit. It will also check the reschedule request then schedule out to default_idle if necessary. See `vCPU Thread`_ for more details - of vcpu_thread. + about vcpu_thread. - The **default_idle** loop simply does do_cpu_idle while also checking for need-offline and reschedule requests. @@ -206,23 +205,23 @@ Some example scenario flows are shown here: .. figure:: images/hld-image7.png :align: center - ACRN vCPU scheduling scenarios + ACRN vCPU Scheduling Scenarios -- **During starting a VM**: after create a vCPU, BSP calls *launch_vcpu* - through *start_vm*, AP calls *launch_vcpu* through vlapic - INIT-SIPI emulation, finally this vCPU runs in a - *vcpu_thread* loop. +- **During VM startup**: after a vCPU is created, the bootstrap processor (BSP) + calls *launch_vcpu* through *start_vm*. The application processor (AP) calls + *launch_vcpu* through vLAPIC INIT-SIPI emulation. Finally, this vCPU runs in + a *vcpu_thread* loop. -- **During shutting down a VM**: *pause_vm* function call makes a vCPU +- **During VM shutdown**: *pause_vm* function forces a vCPU running in *vcpu_thread* to schedule out to *default_idle*. The following *reset_vcpu* and *offline_vcpu* de-init and then offline this vCPU instance. - **During IOReq handling**: after an IOReq is sent to DM for emulation, a vCPU running in *vcpu_thread* schedules out to *default_idle* - through *acrn_insert_request_wait->pause_vcpu*. After DM - complete the emulation for this IOReq, it calls - *hcall_notify_ioreq_finish->resume_vcpu* and makes the vCPU + through *acrn_insert_request_wait->pause_vcpu*. After the DM + completes the emulation for this IOReq, it calls + *hcall_notify_ioreq_finish->resume_vcpu* and changes the vCPU schedule back to *vcpu_thread* to continue its guest execution. vCPU Scheduling Under Flexible CPU Sharing @@ -238,7 +237,7 @@ The vCPU thread flow is a loop as shown and described below: .. figure:: images/hld-image68.png :align: center - ACRN vCPU thread + ACRN vCPU Thread 1. Check if *vcpu_thread* needs to schedule out to *default_idle* or @@ -251,7 +250,7 @@ The vCPU thread flow is a loop as shown and described below: 3. VM Enter by calling *start/run_vcpu*, then enter non-root mode to do guest execution. -4. VM Exit from *start/run_vcpu* when guest trigger VM exit reason in +4. VM Exit from *start/run_vcpu* when the guest triggers a VM exit reason in non-root mode. 5. Handle VM exit based on specific reason. @@ -272,8 +271,8 @@ categories: - Always save/restore during VM exit/entry: - - These registers must be saved every time VM exit, and restored - every time VM entry + - These registers must be saved for each VM exit, and restored + for each VM entry - Registers include: general purpose registers, CR2, and IA32_SPEC_CTRL - Definition in *vcpu->run_context* @@ -360,7 +359,7 @@ that will trigger an error message and return without handling: * - **VM Exit Reason** - **Handler** - - **Desc** + - **Description** * - VMX_EXIT_REASON_EXCEPTION_OR_NMI - exception_vmexit_handler @@ -372,11 +371,11 @@ that will trigger an error message and return without handling: * - VMX_EXIT_REASON_TRIPLE_FAULT - triple_fault_vmexit_handler - - Handle triple fault from vcpu + - Handle triple fault from vCPU * - VMX_EXIT_REASON_INIT_SIGNAL - init_signal_vmexit_handler - - Handle INIT signal from vcpu + - Handle INIT signal from vCPU * - VMX_EXIT_REASON_INTERRUPT_WINDOW - interrupt_window_vmexit_handler @@ -482,7 +481,7 @@ running). See :ref:`vcpu-request-interrupt-injection` for details. } } -For each request, function *acrn_handle_pending_request* handles each +The function *acrn_handle_pending_request* handles each request as shown below. @@ -491,7 +490,7 @@ request as shown below. :header-rows: 1 * - **Request** - - **Desc** + - **Description** - **Request Maker** - **Request Handler** @@ -504,7 +503,7 @@ request as shown below. on exception priority * - ACRN_REQUEST_EVENT - - Request for vlapic interrupt vector injection + - Request for vLAPIC interrupt vector injection - vlapic_fire_lvt or vlapic_set_intr, which could be triggered by vlapic lvt, vioapic, or vmsi - vcpu_do_pending_event @@ -517,10 +516,10 @@ request as shown below. * - ACRN_REQUEST_NMI - Request for nmi injection - vcpu_inject_nmi - - program VMX_ENTRY_INT_INFO_FIELD directly + - Program VMX_ENTRY_INT_INFO_FIELD directly * - ACRN_REQUEST_EOI_EXIT_BITMAP_UPDATE - - Request for update VEOI bitmap update for level triggered vector + - Request for VEOI bitmap update for level triggered vector - vlapic_reset_tmr or vlapic_set_tmr change trigger mode in RTC - vcpu_set_vmcs_eoi_exit @@ -546,27 +545,26 @@ request as shown below. VMX Initialization ****************** -ACRN will attempt to initialize the vCPU's VMCS before its first -launch with the host state, execution control, guest state, -entry control and exit control, as shown in the table below. +ACRN attempts to initialize the vCPU's VMCS before its first +launch. ACRN sets the host state, execution control, guest state, +entry control, and exit control, as shown in the table below. -The table briefly shows how each field got configured. -The guest state field is critical for a guest CPU start to run +The table briefly shows how each field is configured. +The guest state field is critical for running a guest CPU based on different CPU modes. For a guest vCPU's state initialization: -- If it's BSP, the guest state configuration is done in SW load, - which could be initialized by different objects: - - - The Service VM BSP: hypervisor will do context initialization in different - SW load based on different boot mode +- If it's BSP, the guest state configuration is done in software load, + which can be initialized by different objects: + - Service VM BSP: Hypervisor does context initialization in different + software load based on different boot mode - User VM BSP: DM context initialization through hypercall -- If it's AP, then it will always start from real mode, and the start - vector will always come from vlapic INIT-SIPI emulation. +- If it's AP, it always starts from real mode, and the start + vector always comes from vLAPIC INIT-SIPI emulation. .. doxygenstruct:: acrn_regs :project: Project ACRN @@ -605,7 +603,7 @@ For a guest vCPU's state initialization: - n/a - Set to 0 - * - **exec control** + * - **execution control** - VMX_PIN_VM_EXEC_CONTROLS - 0 - Enable external-interrupt exiting @@ -759,20 +757,20 @@ For a guest vCPU's state initialization: CPUID Virtualization ******************** -CPUID access from guest would cause VM exits unconditionally if executed +CPUID access from a guest would cause VM exits unconditionally if executed as a VMX non-root operation. ACRN must return the emulated processor identification and feature information in the EAX, EBX, ECX, and EDX registers. To simplify, ACRN returns the same values from the physical CPU for most -of the CPUID, and specially handle a few CPUID features which are APIC +of the CPUID, and specially handles a few CPUID features that are APIC ID related such as CPUID.01H. ACRN emulates some extra CPUID features for the hypervisor as well. -There is a per-vm *vcpuid_entries* array, initialized during VM creation +The per-vm *vcpuid_entries* array is initialized during VM creation and used to cache most of the CPUID entries for each VM. During guest -CPUID emulation, ACRN will read the cached value from this array, except +CPUID emulation, ACRN reads the cached value from this array, except some APIC ID-related CPUID data emulated at runtime. This table describes details for CPUID emulation: @@ -809,8 +807,8 @@ This table describes details for CPUID emulation: * - 16H - - Get from per-vm CPUID entries cache - - If physical CPU support CPUID.16H, read from physical CPUID - - If physical CPU does not support it, emulate with tsc freq + - If physical CPU supports CPUID.16H, read from physical CPUID + - If physical CPU does not support it, emulate with TSC frequency * - 40000000H - - Get from per-vm CPUID entries cache @@ -819,41 +817,41 @@ This table describes details for CPUID emulation: * - 40000010H - - Get from per-vm CPUID entries cache - - EAX: virtual TSC frequency in KHz + - EAX: virtual TSC frequency in kHz - EBX, ECX, EDX: reserved to 0 * - 0AH - - - PMU Currently disabled + - - PMU currently disabled * - 0FH, 10H - - - Intel RDT Currently disabled + - - Intel RDT currently disabled * - 12H - - Fill according to SGX virtualization * - 14H - - - Intel Processor Trace Currently disabled + - - Intel Processor Trace currently disabled * - Others - - Get from per-vm CPUID entries cache .. note:: ACRN needs to take care of - some CPUID values that can change at runtime, for example, XD feature in - CPUID.80000001H may be cleared by MISC_ENABLE MSR. + some CPUID values that can change at runtime, for example, the XD feature in + CPUID.80000001H may be cleared by the MISC_ENABLE MSR. MSR Virtualization ****************** -ACRN always enables MSR bitmap in *VMX_PROC_VM_EXEC_CONTROLS* VMX +ACRN always enables an MSR bitmap in the *VMX_PROC_VM_EXEC_CONTROLS* VMX execution control field. This bitmap marks the MSRs to cause a VM exit upon guest access for both read and write. The VM exit reason for reading or writing these MSRs is respectively *VMX_EXIT_REASON_RDMSR* or *VMX_EXIT_REASON_WRMSR* and the VM exit handler is *rdmsr_vmexit_handler* or *wrmsr_vmexit_handler*. -This table shows the predefined MSRs ACRN will trap for all the guests. For -the MSRs whose bitmap are not set in the MSR bitmap, guest access will be +This table shows the predefined MSRs that ACRN will trap for all the guests. For +the MSRs whose bitmap values are not set in the MSR bitmap, guest access will be passthrough directly: .. list-table:: @@ -866,15 +864,15 @@ passthrough directly: * - MSR_IA32_TSC_ADJUST - TSC adjustment of local APIC's TSC deadline mode - - emulates with vlapic + - Emulates with vLAPIC * - MSR_IA32_TSC_DEADLINE - TSC target of local APIC's TSC deadline mode - - emulates with vlapic + - Emulates with vLAPIC * - MSR_IA32_BIOS_UPDT_TRIG - BIOS update trigger - - work for update microcode from the Service VM, the signature ID read is from + - Update microcode from the Service VM, the signature ID read is from physical MSR, and a BIOS update trigger from the Service VM will trigger a physical microcode update. @@ -884,44 +882,44 @@ passthrough directly: * - MSR_IA32_TIME_STAMP_COUNTER - Time-stamp counter - - work with VMX_TSC_OFFSET_FULL to emulate virtual TSC + - Work with VMX_TSC_OFFSET_FULL to emulate virtual TSC * - MSR_IA32_APIC_BASE - APIC base address - - emulates with vlapic + - Emulates with vLAPIC * - MSR_IA32_PAT - Page-attribute table - - save/restore in vCPU, write to VMX_GUEST_IA32_PAT_FULL if cr0.cd is 0 + - Save/restore in vCPU, write to VMX_GUEST_IA32_PAT_FULL if cr0.cd is 0 * - MSR_IA32_PERF_CTL - Performance control - - Trigger real p-state change if p-state is valid when writing, + - Trigger real P-state change if P-state is valid when writing, fetch physical MSR when reading * - MSR_IA32_FEATURE_CONTROL - Feature control bits that configure operation of VMX and SMX - - disabled, locked + - Disabled, locked * - MSR_IA32_MCG_CAP/STATUS - Machine-Check global control/status - - emulates with vMCE + - Emulates with vMCE * - MSR_IA32_MISC_ENABLE - Miscellaneous feature control - - readonly, except MONITOR/MWAIT enable bit + - Read-only, except MONITOR/MWAIT enable bit * - MSR_IA32_SGXLEPUBKEYHASH0/1/2/3 - SHA256 digest of the authorized launch enclaves - - emulates with vSGX + - Emulates with vSGX * - MSR_IA32_SGX_SVN_STATUS - Status and SVN threshold of SGX support for ACM - - readonly, emulates with vSGX + - Read-only, emulates with vSGX * - MSR_IA32_MTRR_CAP - Memory type range register related - - Handled by MTRR emulation. + - Handled by MTRR emulation * - MSR_IA32_MTRR_DEF_TYPE - \" @@ -945,23 +943,23 @@ passthrough directly: * - MSR_IA32_X2APIC_* - x2APIC related MSRs (offset from 0x800 to 0x900) - - emulates with vlapic + - Emulates with vLAPIC * - MSR_IA32_L2_MASK_BASE~n - L2 CAT mask for CLOSn - - disabled for guest access + - Disabled for guest access * - MSR_IA32_L3_MASK_BASE~n - L3 CAT mask for CLOSn - - disabled for guest access + - Disabled for guest access * - MSR_IA32_MBA_MASK_BASE~n - MBA delay mask for CLOSn - - disabled for guest access + - Disabled for guest access * - MSR_IA32_VMX_BASIC~VMX_TRUE_ENTRY_CTLS - VMX related MSRs - - not support, access will inject #GP + - Not supported, access will inject #GP CR Virtualization @@ -976,7 +974,7 @@ from cr8`` through *cr_access_vmexit_handler* based on *VMX_PROC_VM_EXEC_CONTROLS*. A VM can ``mov from cr0`` and ``mov from -cr4`` without triggering a VM exit. The value read are the read shadows +cr4`` without triggering a VM exit. The values read are the read shadows of the corresponding register in VMCS. The shadows are updated by the hypervisor on CR writes. @@ -991,13 +989,13 @@ hypervisor on CR writes. - Based on vCPU set context API: vcpu_set_cr0 -> vmx_write_cr0 * - mov to cr4 - - Based on vCPU set context API: vcpu_set_cr4 ->vmx_write_cr4 + - Based on vCPU set context API: vcpu_set_cr4 -> vmx_write_cr4 * - mov to cr8 - - Based on vlapic tpr API: vlapic_set_cr8->vlapic_set_tpr + - Based on vLAPIC tpr API: vlapic_set_cr8 -> vlapic_set_tpr * - mov from cr8 - - Based on vlapic tpr API: vlapic_get_cr8->vlapic_get_tpr + - Based on vLAPIC tpr API: vlapic_get_cr8 -> vlapic_get_tpr For ``mov to cr0`` and ``mov to cr4``, ACRN sets @@ -1006,7 +1004,7 @@ for the bitmask causing VM exit. As ACRN always enables ``unrestricted guest`` in *VMX_PROC_VM_EXEC_CONTROLS2*, *CR0.PE* and *CR0.PG* can be -controlled by guest. +controlled by the guest. .. list-table:: :widths: 20 40 40 @@ -1018,29 +1016,29 @@ controlled by guest. * - cr0_always_on_mask - fixed0 & (~(CR0_PE | CR0_PG)) - - where fixed0 is gotten from MSR_IA32_VMX_CR0_FIXED0, means these bits - are fixed to be 1 under VMX operation + - fixed0 comes from MSR_IA32_VMX_CR0_FIXED0, these bits + are fixed to be 1 under VMX operation. * - cr0_always_off_mask - ~fixed1 - - where ~fixed1 is gotten from MSR_IA32_VMX_CR0_FIXED1, means these bits - are fixed to be 0 under VMX operation + - ~fixed1 comes from MSR_IA32_VMX_CR0_FIXED1, these bits + are fixed to be 0 under VMX operation. * - CR0_TRAP_MASK - CR0_PE | CR0_PG | CR0_WP | CR0_CD | CR0_NW - - ACRN will also trap PE, PG, WP, CD, and NW bits + - ACRN will also trap PE, PG, WP, CD, and NW bits. * - cr0_host_mask - ~(fixed0 ^ fixed1) | CR0_TRAP_MASK - ACRN will finally trap bits under VMX root mode control plus - additionally added bits + additionally added bits. For ``mov to cr0`` emulation, ACRN will handle a paging mode change based on PG bit change, and a cache mode change based on CD and NW bits changes. -ACRN also takes care of illegal writing from guest to invalid +ACRN also takes care of illegal writing from a guest to invalid CR0 bits (for example, set PG while CR4.PAE = 0 and IA32_EFER.LME = 1), -which will finally inject a #GP to guest. Finally, +which will finally inject a #GP to the guest. Finally, *VMX_CR0_READ_SHADOW* will be updated for guest reading of host controlled bits, and *VMX_GUEST_CR0* will be updated for real vmx cr0 setting. @@ -1055,12 +1053,12 @@ setting. * - cr4_always_on_mask - fixed0 - - where fixed0 is gotten from MSR_IA32_VMX_CR4_FIXED0, means these bits + - fixed0 comes from MSR_IA32_VMX_CR4_FIXED0, these bits are fixed to be 1 under VMX operation * - cr4_always_off_mask - ~fixed1 - - where ~fixed1 is gotten from MSR_IA32_VMX_CR4_FIXED1, means these bits + - ~fixed1 comes from MSR_IA32_VMX_CR4_FIXED1, these bits are fixed to be 0 under VMX operation * - CR4_TRAP_MASK @@ -1080,39 +1078,36 @@ The ``mov to cr4`` emulation is similar to cr0 emulation noted above. IO/MMIO Emulation ***************** -ACRN always enables I/O bitmap in *VMX_PROC_VM_EXEC_CONTROLS* and EPT +ACRN always enables an I/O bitmap in *VMX_PROC_VM_EXEC_CONTROLS* and EPT in *VMX_PROC_VM_EXEC_CONTROLS2*. Based on them, *pio_instr_vmexit_handler* and *ept_violation_vmexit_handler* are -used for IO/MMIO emulation for a emulated device. The emulated device -could locate in hypervisor or DM in the Service VM. Refer to the "I/O -Emulation" section for more details. +used for IO/MMIO emulation for an emulated device. The device can +be emulated by the hypervisor or DM in the Service VM. -For an emulated device done in the hypervisor, ACRN provide some basic +For a device emulated by the hypervisor, ACRN provides some basic APIs to register its IO/MMIO range: -- For the Service VM, the default I/O bitmap are all set to 0, which means - the Service VM will passthrough all I/O port access by default. Adding an I/O handler - for a hypervisor emulated device needs to first set its corresponding - I/O bitmap to 1. +- For the Service VM, the default I/O bitmap values are all set to 0, which + means the Service VM will passthrough all I/O port access by default. Adding + an I/O handler for a hypervisor emulated device needs to first set its + corresponding I/O bitmap to 1. -- For the User VM, the default I/O bitmap are all set to 1, which means the User Vm will trap - all I/O port access by default. Adding an I/O handler for a - hypervisor emulated device does not need change its I/O bitmap. - If the trapped I/O port access does not fall into a hypervisor - emulated device, it will create an I/O request and pass it to the Service VM - DM. +- For the User VM, the default I/O bitmap values are all set to 1, which means + the User VM will trap all I/O port access by default. Adding an I/O handler + for a hypervisor emulated device does not need to change its I/O bitmap. If + the trapped I/O port access does not fall into a hypervisor emulated device, + it will create an I/O request and pass it to the Service VM DM. -- For the Service VM, EPT maps all range of memory to the Service VM except for ACRN hypervisor - area. This means the Service VM will passthrough all MMIO access by - default. Adding a MMIO handler for a hypervisor emulated +- For the Service VM, EPT maps the entire range of memory to the Service VM + except for the ACRN hypervisor area. The Service VM will passthrough all + MMIO access by default. Adding an MMIO handler for a hypervisor emulated device needs to first remove its MMIO range from EPT mapping. -- For the User VM, EPT only maps its system RAM to the User VM, which means the User VM will - trap all MMIO access by default. Adding an MMIO handler for a - hypervisor emulated device does not need to change its EPT mapping. - If the trapped MMIO access does not fall into a hypervisor - emulated device, it will create an I/O request and pass it to the Service VM - DM. +- For the User VM, EPT only maps its system RAM to the User VM, which means the + User VM will trap all MMIO access by default. Adding an MMIO handler for a + hypervisor emulated device does not need to change its EPT mapping. If the + trapped MMIO access does not fall into a hypervisor emulated device, it will + create an I/O request and pass it to the Service VM DM. .. list-table:: :widths: 30 70 @@ -1122,12 +1117,12 @@ APIs to register its IO/MMIO range: - **Description** * - register_pio_emulation_handler - - register an I/O emulation handler for a hypervisor emulated device - by specific I/O range + - Register an I/O emulation handler for a hypervisor emulated device + by specific I/O range. * - register_mmio_emulation_handler - - register a MMIO emulation handler for a hypervisor emulated device - by specific MMIO range + - Register an MMIO emulation handler for a hypervisor emulated device + by specific MMIO range. .. _instruction-emulation: @@ -1140,7 +1135,7 @@ hypervisor needs to decode the instruction from RIP then attempt the corresponding emulation based on its instruction and read/write direction. ACRN currently supports emulating instructions for ``mov``, ``movx``, -``movs``, ``stos``, ``test``, ``and``, ``or``, ``cmp``, ``sub`` and +``movs``, ``stos``, ``test``, ``and``, ``or``, ``cmp``, ``sub``, and ``bittest`` without support for lock prefix. Real mode emulation is not supported. @@ -1151,21 +1146,21 @@ supported. In the handlers for EPT violation or APIC access VM exit, ACRN will: -1. Fetch the MMIO access request's address and size +1. Fetch the MMIO access request's address and size. -2. Do *decode_instruction* for the instruction in current RIP +2. Do *decode_instruction* for the instruction in the current RIP with the following check: - a. Is the instruction supported? If not, inject #UD to guest. - b. Is GVA of RIP, dest, and src valid? If not, inject #PF to guest. - c. Is stack valid? If not, inject #SS to guest. + a. Is the instruction supported? If not, inject #UD to the guest. + b. Is the GVA of RIP, dest, and src valid? If not, inject #PF to the guest. + c. Is the stack valid? If not, inject #SS to the guest. 3. If step 2 succeeds, check the access direction. If it's a write, then - do *emulate_instruction* to fetch MMIO request's value from + do *emulate_instruction* to fetch the MMIO request's value from instruction operands. -4. Execute MMIO request handler, for EPT violation is *emulate_io* - while APIC access is *vlapic_write/read* based on access +4. Execute the MMIO request handler. For EPT violation, it is *emulate_io*. + For APIC access, it is *vlapic_write/read* based on access direction. It will finally complete this MMIO request emulation by: @@ -1173,25 +1168,25 @@ In the handlers for EPT violation or APIC access VM exit, ACRN will: b. getting req.val from req.addr for read operation 5. If the access direction is read, then do *emulate_instruction* to - put MMIO request's value into instruction operands. + put the MMIO request's value into instruction operands. -6. Return to guest. +6. Return to the guest. TSC Emulation ************* Guest vCPU execution of *RDTSC/RDTSCP* and access to -*MSR_IA32_TSC_AUX* does not cause a VM Exit to the hypervisor. -Hypervisor uses *MSR_IA32_TSC_AUX* to record CPU ID, thus -the CPU ID provided by *MSR_IA32_TSC_AUX* might be changed via Guest. +*MSR_IA32_TSC_AUX* do not cause a VM Exit to the hypervisor. +The hypervisor uses *MSR_IA32_TSC_AUX* to record CPU ID, thus +the CPU ID provided by *MSR_IA32_TSC_AUX* might be changed via the guest. -*RDTSCP* is widely used by hypervisor to identify current CPU ID. Due -to no VM Exit for *MSR_IA32_TSC_AUX* MSR register, ACRN hypervisor -saves/restores *MSR_IA32_TSC_AUX* value on every VM Exit/Enter. -Before hypervisor restores host CPU ID, *rdtscp* should not be -called as it could get vCPU ID instead of host CPU ID. +*RDTSCP* is widely used by the hypervisor to identify the current CPU ID. Due +to no VM Exit for the *MSR_IA32_TSC_AUX* MSR register, the ACRN hypervisor +saves the *MSR_IA32_TSC_AUX* value on every VM Exit and restores it on every VM Enter. +Before the hypervisor restores the host CPU ID, *rdtscp* should not be +called as it could get the vCPU ID instead of the host CPU ID. -The *MSR_IA32_TIME_STAMP_COUNTER* is emulated by ACRN hypervisor, with a +The *MSR_IA32_TIME_STAMP_COUNTER* is emulated by the ACRN hypervisor, with a simple implementation based on *TSC_OFFSET* (enabled in *VMX_PROC_VM_EXEC_CONTROLS*): @@ -1202,7 +1197,7 @@ ART Virtualization ****************** The invariant TSC is based on the invariant timekeeping hardware (called -Always Running Timer or ART), that runs at the core crystal clock frequency. +Always Running Timer or ART), which runs at the core crystal clock frequency. The ratio defined by the CPUID leaf 15H expresses the frequency relationship between the ART hardware and the TSC. @@ -1215,34 +1210,34 @@ Where `K` is an offset that can be adjusted by a privileged agent. When ART hardware is reset, both invariant TSC and K are also reset. The guideline of ART virtualization (vART) is that software in native can run in -VM too. The vART solution is: +the VM too. The vART solution is: -- Present the ART capability to guest through CPUID leaf 15H for `CPUID.15H:EBX[31:0]` +- Present the ART capability to the guest through CPUID leaf 15H for `CPUID.15H:EBX[31:0]` and `CPUID.15H:EAX[31:0]`. -- Passthrough devices see the physical ART_Value (vART_Value = pART_Value) -- Relationship between the ART and TSC in guest is: +- Passthrough devices see the physical ART_Value (vART_Value = pART_Value). +- Relationship between the ART and TSC in the guest is: ``vTSC_Value = (vART_Value * CPUID.15H:EBX[31:0]) / CPUID.15H:EAX[31:0] + vK`` - Where `vK = K + VMCS.TSC_OFFSET`. -- If `vK` or `vTSC_Value` are changed by guest, we change the `VMCS.TSC_OFFSET` accordingly. -- `K` should never be changed by hypervisor. + where `vK = K + VMCS.TSC_OFFSET`. +- If the guest changes `vK` or `vTSC_Value`, we change the `VMCS.TSC_OFFSET` accordingly. +- `K` should never be changed by the hypervisor. XSAVE Emulation *************** -The XSAVE feature set is comprised of eight instructions: +The XSAVE feature set is composed of eight instructions: - *XGETBV* and *XSETBV* allow software to read and write the extended control register *XCR0*, which controls the operation of the XSAVE feature set. - *XSAVE*, *XSAVEOPT*, *XSAVEC*, and *XSAVES* are four instructions - that save processor state to memory. + that save the processor state to memory. -- *XRSTOR* and *XRSTORS* are corresponding instructions that load +- *XRSTOR* and *XRSTORS* are corresponding instructions that load the processor state from memory. - *XGETBV*, *XSAVE*, *XSAVEOPT*, *XSAVEC*, and *XRSTOR* can be executed - at any privilege level; + at any privilege level. - *XSETBV*, *XSAVES*, and *XRSTORS* can be executed only if CPL = 0. @@ -1256,7 +1251,7 @@ and IA32_XSS MSR. Refer to the `Intel SDM Volume 1`_ chapter 13 for more details .. figure:: images/hld-image38.png :align: center - ACRN Hypervisor XSAVE emulation + ACRN Hypervisor XSAVE Emulation By default, ACRN enables XSAVES/XRSTORS in *VMX_PROC_VM_EXEC_CONTROLS2*, so it allows the guest to use the XSAVE @@ -1265,12 +1260,12 @@ exit, ACRN actually needs to take care of XCR0 access. ACRN emulates XSAVE features through the following rules: -1. Enumerate CPUID.01H for native XSAVE feature support -2. If yes for step 1, enable XSAVE in hypervisor by CR4.OSXSAVE -3. Emulates XSAVE related CPUID.01H & CPUID.0DH to guest -4. Emulates XCR0 access through *xsetbv_vmexit_handler* -5. ACRN passthrough the access of IA32_XSS MSR to guest -6. ACRN hypervisor does NOT use any feature of XSAVE -7. As ACRN emulate vCPU with partition mode, so based on above rules 5 +1. Enumerate CPUID.01H for native XSAVE feature support. +2. If yes for step 1, enable XSAVE in the hypervisor by CR4.OSXSAVE. +3. Emulate XSAVE related CPUID.01H and CPUID.0DH to the guest. +4. Emulate XCR0 access through *xsetbv_vmexit_handler*. +5. Passthrough the access of IA32_XSS MSR to the guest. +6. ACRN hypervisor does NOT use any feature of XSAVE. +7. When ACRN emulates the vCPU with partition mode: based on above rules 5 and 6, a guest vCPU will fully control the XSAVE feature in non-root mode. diff --git a/doc/developer-guides/hld/images/hld-image7.png b/doc/developer-guides/hld/images/hld-image7.png index c1eab646923aebde51e47d044c7378464711f1aa..0e475d881d795e8f99a80d0f9785b072b8672cde 100644 GIT binary patch literal 69700 zcmb5W1yog0xbM4x4Q!+~-LPqpmR4%hogyhI2uP!JcO#vW5{e)ojj-tsX(?%t?ykG= zob%p2_l`5(cw@j2wkzhE^IKp1{@)}*T~!YI3HcKc2!yR5FRcjzA>RYv@(?uO6SDKA zQQ#j8M|nLL5D5SM<2TYDOB#3JL-h9wDl+IBD0qYz$YET4^B@omq#zA{>7KRQ?BPzi zo_z4&Q|hVZro>Uhu2=O&=~=A>1I64k0RbqtJLX)_4`_l!E23e|2(6tl`%U{`@C%0Y zwLbw^tA~f?3Agg3$XEeN@>w7z69EeD$cT`2qJspx8ObVrn=g}^4rllGC55GoHTnsR z+S)tb*>c;3wOR|Wi(3vnM!bx=g*Rc4z<*zKrFhW-{{Q(~ctlvRI2;Oo{8C1eza;qg z6SR}i|9|_~c8mBBt_BGt)gf(-t_^rRHJr8MV|xzU11ZXrmP^$4A(9>Y42L)3u*Drz z&?QI9{jS4&Y|)4qh3g%`h*((v*7y&zyGBGag;y*Mjq6=#&I583SEE(`w}*YT2W%ZK zeK4s0`~VSkK~B-*cIS5^Xz0^N=g&5s5kdhXgu%iwy4&w*sn!G`W`Shg4iy3GA`Nu1 zy2Q^Z0=Y5q(Swe`#t9r{N*g>T^iD zYGgw2TpR&0U=WoNl(m5_iEjC?)t zC2?T$ZMP9KW9fB(c6KKAIamdGHSFi`^~vIQzBIr2Bg?>m6Tvp>$9T~5M0C;cZk3Yn zjs~twIY&W}{0IK-Dm)K{fI}0dm=N)rlX5Ya<1z|R0yW8%kD<^9OIaG&5~%aTJM5Y; zSQS--%Yq7J(FL9q+&2iul)8K?>+JY_KR-$Sil8%?AT?o{j38|ab=Y*@-th?(+PN10 z5d<;ZuR=#RA3PN^gJ#{L!Ihahu43RHZnxSQ!ux1xofsG7?h~8ZRjAK^`N={CgL%kG z;$QHiPB-dMU10~Nv4@^eeEA~gefR`00W1s*`4Vd}o1i&5lAKo%e_-lm66zC3Mu;v< z7BJ%;FOLIUz76kTVjVafn&7FieSG-MaZAJBAI60H0SoHCCiAu}>fe#nk4F-?TbH2( z!kF;S+Fy=)PcZngtsSU#f#BOo%vfasQ2iHPSU=u=T^bo^`?hjR`_{*7a95{4q`>H1 z7Rvle@e86mG&pISqpx{yy4O}eLwJPTeqiEv`GMC?S}=)LVYw2n(AQxjOUec$I07}a zzV)5g|?c95$yFj>Ar0Il^D(WVdQAniimZ}sj>uQNFZuPryn%n)1ON&5s#buO0{1cpbWEcjrY$`VvW zDc}6Sz{+oJB@HqeySbGRUv5}F(c|e5+-%KW-8}3}@yrsU0KqW5GwIOV37mNU+~^ z>b-M~9mvg_ek-eQVSK#KrBd_>%u`r@l+(go_cL8YBA(}+>&A_UQGp66L6*z=)6?ag zhZBz5IJvqd36~dHe~{guC@uH)F^)R$q`_L_R|A@I!NM(cSvCi4Qfi18m4~C}u{G~O z>Pj2>Y(r~}ez)19Ov;c~XB1#l)Mr;Q)$NE~=E8^(&{`FI1V??$`$hb}1y!ELo2p zfQ!gxN(p()MXw{9QNA2*X@Tctixl!L#KAlX=QPxVjalAnb;1#-h`vNl#7TvatM~54oe~o zLPtP�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 AmRa-ds$Mh8lFvPYBMvw*aL(^3Xk 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 bwN1m*&od*}`IZ&@HHG30)$94!OrHKfViORt