mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-06-25 15:02:13 +00:00
doc: remove some dynamic parameters from acrn-dm usage
The following parameters have not used by new design: 1. --vsbl <vsbl_file_path> 2. --part_info <part_info_name> 3. -G, --gvtargs <GVT_args> 4. -s <slot>,pci-gvt 5. -Y, --mptgen 6. -s <slot>,virtio-hdcp 7. -s <slot>,npk 8. -s <slot>,virtio-coreu 9. -i, --ioc_node <ioc_mediator_parameters> 10. --pm_by_vuart [pty|tty],<node_path> 11. --pm_notify_channel <channel> This patch remove these parameters from doc. Tracked-On: #6690 Signed-off-by: Chenli Wei <chenli.wei@linux.intel.com>
This commit is contained in:
parent
96d93be2a6
commit
fa8837b5ff
@ -52,21 +52,19 @@ options:
|
|||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
acrn-dm [-hAWYv] [-B bootargs] [-E elf_image_path]
|
acrn-dm [-hAWYv] [-B bootargs] [-E elf_image_path]
|
||||||
[-G GVT_args] [-i ioc_mediator_parameters] [-k kernel_image_path]
|
[-k kernel_image_path]
|
||||||
[-l lpc] [-m mem] [-r ramdisk_image_path]
|
[-l lpc] [-m mem] [-r ramdisk_image_path]
|
||||||
[-s pci] [--vsbl vsbl_file_name] [--ovmf ovmf_file_path]
|
[-s pci] [--ovmf ovmf_file_path]
|
||||||
[--part_info part_info_name] [--enable_trusty] [--intr_monitor param_setting]
|
[--enable_trusty] [--intr_monitor param_setting]
|
||||||
[--acpidev_pt HID] [--mmiodev_pt MMIO_regions]
|
[--acpidev_pt HID] [--mmiodev_pt MMIO_regions]
|
||||||
[--vtpm2 sock_path] [--virtio_poll interval] [--mac_seed seed_string]
|
[--vtpm2 sock_path] [--virtio_poll interval] [--mac_seed seed_string]
|
||||||
[--cpu_affinity pCPUs] [--lapic_pt] [--rtvm] [--windows]
|
[--cpu_affinity pCPUs] [--lapic_pt] [--rtvm] [--windows]
|
||||||
[--debugexit] [--logger-setting param_setting] [--pm_notify_channel channel]
|
[--debugexit] [--logger-setting param_setting]
|
||||||
[--pm_by_vuart vuart_node] [--ssram] <vm>
|
[--ssram] <vm>
|
||||||
-A: create ACPI tables
|
-A: create ACPI tables
|
||||||
-B: bootargs for kernel
|
-B: bootargs for kernel
|
||||||
-E: elf image path
|
-E: elf image path
|
||||||
-G: GVT args: low_gm_size, high_gm_size, fence_sz
|
|
||||||
-h: help
|
-h: help
|
||||||
-i: ioc boot parameters
|
|
||||||
-k: kernel image path
|
-k: kernel image path
|
||||||
-l: LPC device configuration
|
-l: LPC device configuration
|
||||||
-m: memory size in MB
|
-m: memory size in MB
|
||||||
@ -76,11 +74,9 @@ options:
|
|||||||
-W: force virtio to use single-vector MSI
|
-W: force virtio to use single-vector MSI
|
||||||
-Y: disable MPtable generation
|
-Y: disable MPtable generation
|
||||||
--mac_seed: set a platform unique string as a seed for generate mac address
|
--mac_seed: set a platform unique string as a seed for generate mac address
|
||||||
--vsbl: vsbl file path
|
|
||||||
--ovmf: ovmf file path
|
--ovmf: ovmf file path
|
||||||
--ssram: Enable Software SRAM
|
--ssram: Enable Software SRAM
|
||||||
--cpu_affinity: list of pCPUs assigned to this VM
|
--cpu_affinity: list of pCPUs assigned to this VM
|
||||||
--part_info: guest partition info file path
|
|
||||||
--enable_trusty: enable trusty for guest
|
--enable_trusty: enable trusty for guest
|
||||||
--debugexit: enable debug exit function
|
--debugexit: enable debug exit function
|
||||||
--intr_monitor: enable interrupt storm monitor
|
--intr_monitor: enable interrupt storm monitor
|
||||||
@ -92,8 +88,6 @@ options:
|
|||||||
--lapic_pt: enable local apic passthrough
|
--lapic_pt: enable local apic passthrough
|
||||||
--rtvm: indicate that the guest is rtvm
|
--rtvm: indicate that the guest is rtvm
|
||||||
--logger_setting: params like console,level=4;kmsg,level=3
|
--logger_setting: params like console,level=4;kmsg,level=3
|
||||||
--pm_notify_channel: define the channel used to notify guest about power event
|
|
||||||
--pm_by_vuart:pty,/run/acrn/vuart_vmname or tty,/dev/ttySn
|
|
||||||
--windows: support Oracle virtio-blk, virtio-net, and virtio-input devices
|
--windows: support Oracle virtio-blk, virtio-net, and virtio-input devices
|
||||||
for windows guest with secure boot
|
for windows guest with secure boot
|
||||||
|
|
||||||
@ -103,7 +97,6 @@ configuration options.
|
|||||||
Here's an example showing how to run a VM with:
|
Here's an example showing how to run a VM with:
|
||||||
|
|
||||||
- Build ACPI table
|
- Build ACPI table
|
||||||
- vSBL as the boot ROM
|
|
||||||
- UART device on PCI 00:01.0
|
- UART device on PCI 00:01.0
|
||||||
- GPU device on PCI 00:02.0
|
- GPU device on PCI 00:02.0
|
||||||
- Virtio-block device on PCI 00:03.0
|
- Virtio-block device on PCI 00:03.0
|
||||||
@ -116,8 +109,8 @@ Here's an example showing how to run a VM with:
|
|||||||
-s 0:0,hostbridge \
|
-s 0:0,hostbridge \
|
||||||
-s 1:0,lpc -l com1,stdio \
|
-s 1:0,lpc -l com1,stdio \
|
||||||
-s 5,virtio-console,@pty:pty_port \
|
-s 5,virtio-console,@pty:pty_port \
|
||||||
-s 3,virtio-blk,b,/home/acrn/UserVM.img \
|
-s 3,virtio-blk,/home/acrn/UserVM.img \
|
||||||
-s 4,virtio-net,tap_LaaG --vsbl /usr/share/acrn/bios/VSBL.bin \
|
-s 4,virtio-net,tap_LaaG \
|
||||||
--acpidev_pt MSFT0101 \
|
--acpidev_pt MSFT0101 \
|
||||||
--intr_monitor 10000,10,1,100 \
|
--intr_monitor 10000,10,1,100 \
|
||||||
-B "root=/dev/vda2 rw rootwait maxcpus=3 nohpet console=hvc0 \
|
-B "root=/dev/vda2 rw rootwait maxcpus=3 nohpet console=hvc0 \
|
||||||
@ -781,8 +774,8 @@ example:
|
|||||||
-s 0:0,hostbridge \
|
-s 0:0,hostbridge \
|
||||||
-s 1:0,lpc -l com1,stdio \
|
-s 1:0,lpc -l com1,stdio \
|
||||||
-s 5,virtio-console,@pty:pty_port \
|
-s 5,virtio-console,@pty:pty_port \
|
||||||
-s 3,virtio-blk,b,/home/acrn/UserVM.img \
|
-s 3,virtio-blk,/home/acrn/UserVM.img \
|
||||||
-s 4,virtio-net,tap_LaaG --vsbl /usr/share/acrn/bios/VSBL.bin \
|
-s 4,virtio-net,tap_LaaG \
|
||||||
-B "root=/dev/vda2 rw rootwait maxcpus=3 nohpet console=hvc0 \
|
-B "root=/dev/vda2 rw rootwait maxcpus=3 nohpet console=hvc0 \
|
||||||
console=ttyS0 no_timer_check ignore_loglevel log_buf_len=16M \
|
console=ttyS0 no_timer_check ignore_loglevel log_buf_len=16M \
|
||||||
consoleblank=0 tsc=reliable \
|
consoleblank=0 tsc=reliable \
|
||||||
|
@ -426,38 +426,6 @@ to complete the User VM's host-to-guest mapping using this pseudo code:
|
|||||||
host2guest_map_for_user_vm(x.hpa, x.user_vm_gpa, x.size)
|
host2guest_map_for_user_vm(x.hpa, x.user_vm_gpa, x.size)
|
||||||
end
|
end
|
||||||
|
|
||||||
Virtual Slim Bootloader
|
|
||||||
=======================
|
|
||||||
|
|
||||||
The Virtual Slim Bootloader (vSBL) is the virtual bootloader that supports
|
|
||||||
booting the User VM on the ACRN hypervisor platform. The vSBL design is
|
|
||||||
derived from Slim Bootloader. It follows a staged design approach that
|
|
||||||
provides hardware initialization and payload launching that provides the
|
|
||||||
boot logic. As shown in :numref:`overview-sbl`, the virtual SBL has an
|
|
||||||
initialization unit to initialize virtual hardware, and a payload unit
|
|
||||||
to boot a Linux or Android guest OS.
|
|
||||||
|
|
||||||
.. figure:: images/over-image110.png
|
|
||||||
:align: center
|
|
||||||
:name: overview-sbl
|
|
||||||
|
|
||||||
vSBL System Context Diagram
|
|
||||||
|
|
||||||
The vSBL image is released as a part of the Service VM root filesystem (rootfs).
|
|
||||||
The VM Manager in the Service VM copies the vSBL to the User VM memory
|
|
||||||
while creating the User VM virtual BSP. The Service VM passes the
|
|
||||||
start of vSBL and related information to HV. HV sets the guest RIP of the User
|
|
||||||
VM's virtual BSP as the start of vSBL and related guest registers, and launches
|
|
||||||
the User VM virtual BSP. The vSBL starts running in the virtual real mode within
|
|
||||||
the User VM. Conceptually, vSBL is part of the User VM runtime.
|
|
||||||
|
|
||||||
In the current design, the vSBL supports booting an Android guest OS or
|
|
||||||
Linux guest OS using the same vSBL image.
|
|
||||||
|
|
||||||
For an Android VM, the vSBL loads and verifies the trusty OS first. The
|
|
||||||
trusty OS then loads and verifies the Android OS according to the Android
|
|
||||||
OS verification mechanism.
|
|
||||||
|
|
||||||
OVMF Bootloader
|
OVMF Bootloader
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
|
@ -17,14 +17,12 @@ PCI Host Bridge and Hierarchy
|
|||||||
There is PCI host bridge emulation in DM. The bus hierarchy is determined by ``acrn-dm`` command line input. Using this command line, as an example::
|
There is PCI host bridge emulation in DM. The bus hierarchy is determined by ``acrn-dm`` command line input. Using this command line, as an example::
|
||||||
|
|
||||||
acrn-dm -A -m $mem_size -s 0:0,hostbridge \
|
acrn-dm -A -m $mem_size -s 0:0,hostbridge \
|
||||||
-s 2,pci-gvt -G "$2" \
|
|
||||||
-s 5,virtio-console,@stdio:stdio_port \
|
-s 5,virtio-console,@stdio:stdio_port \
|
||||||
-s 6,virtio-hyper_dmabuf \
|
-s 6,virtio-hyper_dmabuf \
|
||||||
-s 3,virtio-blk,/home/acrn/UserVM.img \
|
-s 3,virtio-blk,/home/acrn/UserVM.img \
|
||||||
-s 4,virtio-net,tap0 \
|
-s 4,virtio-net,tap0 \
|
||||||
-s 7,virtio-rnd \
|
-s 7,virtio-rnd \
|
||||||
--ovmf /usr/share/acrn/bios/OVMF.fd \
|
--ovmf /usr/share/acrn/bios/OVMF.fd \
|
||||||
$pm_channel $pm_by_vuart $pm_vuart_node \
|
|
||||||
$logger_setting \
|
$logger_setting \
|
||||||
--mac_seed $mac_seed \
|
--mac_seed $mac_seed \
|
||||||
$vm_name
|
$vm_name
|
||||||
|
@ -65,11 +65,8 @@ Usage:
|
|||||||
|
|
||||||
The device model configuration command syntax for virtio-blk is::
|
The device model configuration command syntax for virtio-blk is::
|
||||||
|
|
||||||
-s <slot>,virtio-blk,[,b,]<filepath>[,options]
|
-s <slot>,virtio-blk,<filepath>[,options]
|
||||||
|
|
||||||
- ``b``: when using ``vsbl`` as the virtual bootloader, use this
|
|
||||||
immediately after ``virtio-blk`` to specify it as a bootable
|
|
||||||
device and the bootable image location.
|
|
||||||
- ``filepath`` is the path of a file or disk partition
|
- ``filepath`` is the path of a file or disk partition
|
||||||
- ``options`` include:
|
- ``options`` include:
|
||||||
|
|
||||||
|
@ -20,10 +20,6 @@ define post-launched User VM settings. This document describes these option sett
|
|||||||
``mem_size``:
|
``mem_size``:
|
||||||
Specify the User VM memory size in megabytes.
|
Specify the User VM memory size in megabytes.
|
||||||
|
|
||||||
``gvt_args``:
|
|
||||||
GVT arguments for the VM. Set it to ``gvtd`` for GVT-d. Leave it blank
|
|
||||||
to disable the GVT.
|
|
||||||
|
|
||||||
``vbootloader``:
|
``vbootloader``:
|
||||||
Virtual bootloader type; currently only supports OVMF.
|
Virtual bootloader type; currently only supports OVMF.
|
||||||
|
|
||||||
|
@ -133,10 +133,9 @@ Linux-based post-launched VMs (VM1 and VM2).
|
|||||||
- VM1 Launch Script Sample
|
- VM1 Launch Script Sample
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
:emphasize-lines: 7
|
:emphasize-lines: 6
|
||||||
|
|
||||||
acrn-dm -A -m $mem_size -s 0:0,hostbridge \
|
acrn-dm -A -m $mem_size -s 0:0,hostbridge \
|
||||||
-s 2,pci-gvt -G "$2" \
|
|
||||||
-s 5,virtio-console,@stdio:stdio_port \
|
-s 5,virtio-console,@stdio:stdio_port \
|
||||||
-s 6,virtio-hyper_dmabuf \
|
-s 6,virtio-hyper_dmabuf \
|
||||||
-s 3,virtio-blk,/home/acrn/UserVM1.img \
|
-s 3,virtio-blk,/home/acrn/UserVM1.img \
|
||||||
@ -150,10 +149,9 @@ Linux-based post-launched VMs (VM1 and VM2).
|
|||||||
- VM2 Launch Script Sample
|
- VM2 Launch Script Sample
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
:emphasize-lines: 5
|
:emphasize-lines: 4
|
||||||
|
|
||||||
acrn-dm -A -m $mem_size -s 0:0,hostbridge \
|
acrn-dm -A -m $mem_size -s 0:0,hostbridge \
|
||||||
-s 2,pci-gvt -G "$2" \
|
|
||||||
-s 3,virtio-blk,/home/acrn/UserVM2.img \
|
-s 3,virtio-blk,/home/acrn/UserVM2.img \
|
||||||
-s 4,virtio-net,tap0 \
|
-s 4,virtio-net,tap0 \
|
||||||
-s 5,ivshmem,dm:/test,2 \
|
-s 5,ivshmem,dm:/test,2 \
|
||||||
@ -218,10 +216,9 @@ Linux-based VMs (VM0 is a pre-launched VM and VM2 is a post-launched VM).
|
|||||||
- VM2 Launch Script Sample
|
- VM2 Launch Script Sample
|
||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
:emphasize-lines: 5
|
:emphasize-lines: 4
|
||||||
|
|
||||||
acrn-dm -A -m $mem_size -s 0:0,hostbridge \
|
acrn-dm -A -m $mem_size -s 0:0,hostbridge \
|
||||||
-s 2,pci-gvt -G "$2" \
|
|
||||||
-s 3,virtio-blk,/home/acrn/UserVM2.img \
|
-s 3,virtio-blk,/home/acrn/UserVM2.img \
|
||||||
-s 4,virtio-net,tap0 \
|
-s 4,virtio-net,tap0 \
|
||||||
-s 5,ivshmem,hv:/shm_region_0,2 \
|
-s 5,ivshmem,hv:/shm_region_0,2 \
|
||||||
|
@ -89,7 +89,6 @@ Passthrough the GPU to Guest
|
|||||||
echo "0000:00:02.0" > /sys/bus/pci/devices/0000:00:02.0/driver/unbind
|
echo "0000:00:02.0" > /sys/bus/pci/devices/0000:00:02.0/driver/unbind
|
||||||
echo "0000:00:02.0" > /sys/bus/pci/drivers/pci-stub/bind
|
echo "0000:00:02.0" > /sys/bus/pci/drivers/pci-stub/bind
|
||||||
|
|
||||||
Replace ``-s 2,pci-gvt -G "$2" \`` with ``-s 2,passthru,0/2/0 \``
|
|
||||||
|
|
||||||
4. Run ``launch_win.sh``.
|
4. Run ``launch_win.sh``.
|
||||||
|
|
||||||
|
@ -126,33 +126,16 @@ if [ "$setup_mem" != "" ];then
|
|||||||
mem_size=$setup_mem
|
mem_size=$setup_mem
|
||||||
fi
|
fi
|
||||||
|
|
||||||
boot_dev_flag=",b"
|
|
||||||
if [ $7 == 1 ];then
|
|
||||||
boot_image_option="--vsbl /usr/share/acrn/bios/VSBL_debug.bin"
|
|
||||||
else
|
|
||||||
boot_image_option="--vsbl /usr/share/acrn/bios/VSBL.bin"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#interrupt storm monitor for pass-through devices, params order:
|
#interrupt storm monitor for pass-through devices, params order:
|
||||||
#threshold/s,probe-period(s),intr-inject-delay-time(ms),delay-duration(ms)
|
#threshold/s,probe-period(s),intr-inject-delay-time(ms),delay-duration(ms)
|
||||||
intr_storm_monitor="--intr_monitor 10000,10,1,100"
|
intr_storm_monitor="--intr_monitor 10000,10,1,100"
|
||||||
|
|
||||||
acrn-dm --help 2>&1 | grep 'GVT args'
|
acrn-dm -A -m $mem_size -c $2 -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio \
|
||||||
if [ $? == 0 ];then
|
|
||||||
GVT_args=$3
|
|
||||||
boot_GVT_option=" -s 0:2:0,pci-gvt -G "
|
|
||||||
else
|
|
||||||
boot_GVT_option=''
|
|
||||||
GVT_args=''
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
acrn-dm -A -m $mem_size -c $2$boot_GVT_option"$GVT_args" -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio \
|
|
||||||
-s 5,virtio-console,@pty:pty_port \
|
-s 5,virtio-console,@pty:pty_port \
|
||||||
-s 6,virtio-hyper_dmabuf \
|
-s 6,virtio-hyper_dmabuf \
|
||||||
-s 8,wdt-i6300esb \
|
-s 8,wdt-i6300esb \
|
||||||
-s 3,virtio-blk$boot_dev_flag,/data/$5/$5.img \
|
-s 3,virtio-blk,/data/$5/$5.img \
|
||||||
-s 4,virtio-net,$tap $boot_image_option \
|
-s 4,virtio-net,$tap \
|
||||||
-s 7,xhci,1-1:1-2:1-3:2-1:2-2:2-3:cap=apl \
|
-s 7,xhci,1-1:1-2:1-3:2-1:2-2:2-3:cap=apl \
|
||||||
-s 9,passthru,0/15/1 \
|
-s 9,passthru,0/15/1 \
|
||||||
$boot_cse_option \
|
$boot_cse_option \
|
||||||
@ -310,12 +293,6 @@ kernel_cmdline_generic="maxcpus=$2 nohpet tsc=reliable intel_iommu=off \
|
|||||||
i915.enable_rc6=1 i915.enable_fbc=1 i915.enable_guc_loading=0 i915.avail_planes_per_pipe=$4 \
|
i915.enable_rc6=1 i915.enable_fbc=1 i915.enable_guc_loading=0 i915.avail_planes_per_pipe=$4 \
|
||||||
i915.enable_hangcheck=0 use_nuclear_flip=1 i915.enable_guc_submission=0 i915.enable_guc=0"
|
i915.enable_hangcheck=0 use_nuclear_flip=1 i915.enable_guc_submission=0 i915.enable_guc=0"
|
||||||
|
|
||||||
boot_dev_flag=",b"
|
|
||||||
if [ $7 == 1 ];then
|
|
||||||
boot_image_option="--vsbl /usr/share/acrn/bios/VSBL_debug.bin"
|
|
||||||
else
|
|
||||||
boot_image_option="--vsbl /usr/share/acrn/bios/VSBL.bin"
|
|
||||||
fi
|
|
||||||
kernel_cmdline="$kernel_cmdline_generic"
|
kernel_cmdline="$kernel_cmdline_generic"
|
||||||
|
|
||||||
: '
|
: '
|
||||||
@ -335,18 +312,9 @@ ACRN project
|
|||||||
#threshold/s,probe-period(s),intr-inject-delay-time(ms),delay-duration(ms)
|
#threshold/s,probe-period(s),intr-inject-delay-time(ms),delay-duration(ms)
|
||||||
intr_storm_monitor="--intr_monitor 10000,10,1,100"
|
intr_storm_monitor="--intr_monitor 10000,10,1,100"
|
||||||
|
|
||||||
acrn-dm --help 2>&1 | grep 'GVT args'
|
acrn-dm -A -m $mem_size -c $2 -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio $npk_virt\
|
||||||
if [ $? == 0 ];then
|
|
||||||
GVT_args=$3
|
|
||||||
boot_GVT_option=" -s 2,pci-gvt -G "
|
|
||||||
else
|
|
||||||
boot_GVT_option=''
|
|
||||||
GVT_args=''
|
|
||||||
fi
|
|
||||||
|
|
||||||
acrn-dm -A -m $mem_size -c $2$boot_GVT_option"$GVT_args" -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio $npk_virt\
|
|
||||||
-s 9,virtio-net,$tap \
|
-s 9,virtio-net,$tap \
|
||||||
-s 3,virtio-blk$boot_dev_flag,/data/$5/$5.img \
|
-s 3,virtio-blk,/data/$5/$5.img \
|
||||||
-s 7,xhci,1-1:1-2:1-3:2-1:2-2:2-3:cap=apl \
|
-s 7,xhci,1-1:1-2:1-3:2-1:2-2:2-3:cap=apl \
|
||||||
-s 8,passthru,0/15/1 \
|
-s 8,passthru,0/15/1 \
|
||||||
-s 13,virtio-rpmb \
|
-s 13,virtio-rpmb \
|
||||||
@ -361,21 +329,13 @@ fi
|
|||||||
$intr_storm_monitor \
|
$intr_storm_monitor \
|
||||||
$boot_ipu_option \
|
$boot_ipu_option \
|
||||||
-i /run/acrn/ioc_$vm_name,0x20 \
|
-i /run/acrn/ioc_$vm_name,0x20 \
|
||||||
-l com2,/run/acrn/ioc_$vm_name \
|
|
||||||
$boot_image_option \
|
|
||||||
--enable_trusty \
|
--enable_trusty \
|
||||||
-B "$kernel_cmdline" $vm_name
|
-B "$kernel_cmdline" $vm_name
|
||||||
}
|
}
|
||||||
|
|
||||||
function help()
|
function help()
|
||||||
{
|
{
|
||||||
echo "Use launch_uos.sh like that ./launch_uos.sh -V <#>"
|
echo "Use launch_uos.sh like that ./launch_uos.sh <#>"
|
||||||
echo "The option -V means the UOSs group to be launched by vsbl as below"
|
|
||||||
echo "-V 1 means just launching 1 clearlinux UOS"
|
|
||||||
echo "-V 2 means just launching 1 android UOS"
|
|
||||||
echo "-V 3 means launching 1 clearlinux UOS + 1 android UOS"
|
|
||||||
echo "-V 4 means launching 2 clearlinux UOSs"
|
|
||||||
echo "-V 5 means auto check android/linux UOS; if exist, launch it"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
launch_type=1
|
launch_type=1
|
||||||
|
@ -60,45 +60,6 @@ Here are descriptions for each of these ``acrn-dm`` command line parameters:
|
|||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
``-i``, ``--ioc_node <ioc_mediator_parameters>``
|
|
||||||
IOC (IO Controller) is a bridge of an SoC to communicate with Vehicle Bus.
|
|
||||||
It routes Vehicle Bus signals, for example extracted from CAN messages,
|
|
||||||
from IOC to the SoC and back, as well as controlling the onboard
|
|
||||||
peripherals from SoC. (The ``-i`` and ``-l`` parameters are only available
|
|
||||||
on a platform with IOC.)
|
|
||||||
|
|
||||||
IOC DM opens the ``/dev/ptmx`` device to create peer PTY devices. IOC DM uses
|
|
||||||
these devices to communicate with UART DM since UART DM needs a TTY capable
|
|
||||||
device as its backend.
|
|
||||||
|
|
||||||
The Device Model configuration command syntax for IOC mediator is::
|
|
||||||
|
|
||||||
-i,[ioc_channel_path],[wakeup_reason]
|
|
||||||
-l,[lpc_port],[ioc_channel_path]
|
|
||||||
|
|
||||||
- ``ioc_channel_path`` is an absolute path for communication between IOC
|
|
||||||
mediator and UART DM.
|
|
||||||
- ``lpc_port`` is com1 or com2. IOC mediator needs one unassigned lpc
|
|
||||||
port for data transfer between the User VM and Service VM.
|
|
||||||
- ``wakeup_reason`` is IOC mediator boot reason, where each bit represents
|
|
||||||
one wakeup reason.
|
|
||||||
|
|
||||||
Currently the wakeup reason bits supported by IOC firmware are:
|
|
||||||
|
|
||||||
- ``CBC_WK_RSN_BTN`` (bit 5): ignition button.
|
|
||||||
- ``CBC_WK_RSN_RTC`` (bit 9): RTC timer.
|
|
||||||
- ``CBC_WK_RSN_DOR`` (bit 11): Car door.
|
|
||||||
- ``CBC_WK_RSN_SOC`` (bit 23): SoC active/inactive.
|
|
||||||
|
|
||||||
As an example, the following commands are used to enable IOC feature, the
|
|
||||||
initial wakeup reason is ignition button, and cbc_attach uses ttyS1 for TTY
|
|
||||||
line discipline in User VM::
|
|
||||||
|
|
||||||
-i /run/acrn/ioc_$vm_name,0x20
|
|
||||||
-l com2,/run/acrn/ioc_$vm_name
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
``--intr_monitor <intr_monitor_params>``
|
``--intr_monitor <intr_monitor_params>``
|
||||||
Enable interrupt storm monitor for User VM. Use this option to prevent an
|
Enable interrupt storm monitor for User VM. Use this option to prevent an
|
||||||
interrupt storm from the User VM.
|
interrupt storm from the User VM.
|
||||||
@ -128,7 +89,6 @@ Here are descriptions for each of these ``acrn-dm`` command line parameters:
|
|||||||
----
|
----
|
||||||
|
|
||||||
``-l``, ``--lpc <lpc_device_configuration>``
|
``-l``, ``--lpc <lpc_device_configuration>``
|
||||||
(See ``-i``, ``--ioc_node``)
|
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
@ -155,11 +115,6 @@ Here are descriptions for each of these ``acrn-dm`` command line parameters:
|
|||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
``--part_info <part_info_name>``
|
|
||||||
Set guest partition info path.
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
``-r``, ``--ramdisk <ramdisk_image_path>``
|
``-r``, ``--ramdisk <ramdisk_image_path>``
|
||||||
Set the ramdisk (full path) for the User VM. The maximum length is 1023.
|
Set the ramdisk (full path) for the User VM. The maximum length is 1023.
|
||||||
The supported ramdisk format depends on your User VM kernel configuration.
|
The supported ramdisk format depends on your User VM kernel configuration.
|
||||||
@ -212,31 +167,6 @@ Here are descriptions for each of these ``acrn-dm`` command line parameters:
|
|||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
``--vsbl <vsbl_file_path>``
|
|
||||||
Virtual Slim Bootloader (vSBL) is the virtual bootloader supporting booting
|
|
||||||
of the User VM on the ACRN hypervisor platform. The vSBL design is derived
|
|
||||||
from Slim Bootloader, which follows a staged design approach that provides
|
|
||||||
hardware initialization and launching a payload that provides the boot
|
|
||||||
logic.
|
|
||||||
|
|
||||||
The vSBL image is installed on the Service VM root filesystem by the Service
|
|
||||||
VM OS bundle in ``/usr/share/acrn/bios/``. In the current design, the vSBL
|
|
||||||
supports booting an Android guest OS or Linux guest OS using the same vSBL
|
|
||||||
image. For an Android VM, the vSBL will load and verify the trusty OS first,
|
|
||||||
and the trusty OS will then load and verify the Android OS according to the
|
|
||||||
Android OS verification mechanism.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
vSBL is currently only supported on Apollo Lake processors.
|
|
||||||
|
|
||||||
usage::
|
|
||||||
|
|
||||||
--vsbl /usr/share/acrn/bios/VSBL.bin
|
|
||||||
|
|
||||||
uses ``/usr/share/acrn/bios/VSBL.bin`` as the vSBL image.
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
``--ovmf [w,]<ovmf_file_path>`` ``--ovmf [w,]code=<ovmf_code_file>,vars=<ovmf_vars_file>``
|
``--ovmf [w,]<ovmf_file_path>`` ``--ovmf [w,]code=<ovmf_code_file>,vars=<ovmf_vars_file>``
|
||||||
Open Virtual Machine Firmware (OVMF) is an EDK II based project to enable
|
Open Virtual Machine Firmware (OVMF) is an EDK II based project to enable
|
||||||
UEFI support for Virtual Machines.
|
UEFI support for Virtual Machines.
|
||||||
@ -336,18 +266,6 @@ Here are descriptions for each of these ``acrn-dm`` command line parameters:
|
|||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
``-Y, --mptgen``
|
|
||||||
Disable MPtable generation. The MultiProcessor Specification (MPS) for the
|
|
||||||
x86 architecture is an open standard describing enhancements to both
|
|
||||||
operating systems and firmware that allows them to work with x86-compatible
|
|
||||||
processors in a multi-processor configuration. MPS covers Advanced
|
|
||||||
Programmable Interrupt Controller (APIC) architectures.
|
|
||||||
|
|
||||||
By default, DM will create the MPtable for you. Use this option to disable
|
|
||||||
it.
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
``--lapic_pt``
|
``--lapic_pt``
|
||||||
This option is to create a VM with the local APIC (LAPIC) passed-through.
|
This option is to create a VM with the local APIC (LAPIC) passed-through.
|
||||||
With this option, a VM is created with ``LAPIC_PASSTHROUGH`` and
|
With this option, a VM is created with ``LAPIC_PASSTHROUGH`` and
|
||||||
@ -382,44 +300,6 @@ Here are descriptions for each of these ``acrn-dm`` command line parameters:
|
|||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
``--pm_notify_channel <channel>``
|
|
||||||
This option is used to define which channel could be used DM to
|
|
||||||
communicate with VM about power management event.
|
|
||||||
|
|
||||||
ACRN supports three channels: ``ioc``, ``power_button`` and ``uart``.
|
|
||||||
|
|
||||||
For ``uart``, an additional option, ``,allow_trigger_s5``, can be added.
|
|
||||||
A user can use this option to indicate the User VM is allowed to trigger
|
|
||||||
system S5.
|
|
||||||
|
|
||||||
usage::
|
|
||||||
|
|
||||||
--pm_notify_channel ioc
|
|
||||||
|
|
||||||
Use ioc as power management event notify channel.
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
``--pm_by_vuart [pty|tty],<node_path>``
|
|
||||||
This option is used to set User VM power management by virtual UART.
|
|
||||||
With acrn-dm UART emulation and hypervisor UART emulation and configure,
|
|
||||||
the Service VM can communicate with the User VM through virtual UART. By this
|
|
||||||
option, the Service VM can notify the User VM to shut down itself by vUART.
|
|
||||||
|
|
||||||
It must work with ``--pm_notify_channel`` and PCI UART setting (lpc and -l).
|
|
||||||
|
|
||||||
Example::
|
|
||||||
|
|
||||||
for general User VM, such as LaaG or WaaG, it must set:
|
|
||||||
--pm_notify_channel uart --pm_by_vuart pty,/run/acrn/life_mngr_vm1
|
|
||||||
-l com2,/run/acrn/life_mngr_vm1
|
|
||||||
for RTVM, like RT-Linux:
|
|
||||||
--pm_notify_channel uart --pm_by_vuart tty,/dev/ttyS1
|
|
||||||
|
|
||||||
For a different User VM, it can be configured as needed.
|
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
``--windows``
|
``--windows``
|
||||||
This option is used to run Windows User VMs. It supports Oracle
|
This option is used to run Windows User VMs. It supports Oracle
|
||||||
``virtio-blk``, ``virtio-net`` and ``virtio-input`` devices for Windows
|
``virtio-blk``, ``virtio-net`` and ``virtio-input`` devices for Windows
|
||||||
@ -506,10 +386,8 @@ arguments used for configuration. Here is a table describing these emulated dev
|
|||||||
|
|
||||||
* - ``virtio-blk``
|
* - ``virtio-blk``
|
||||||
- Virtio block type device, a string could be appended with the format
|
- Virtio block type device, a string could be appended with the format
|
||||||
``virtio-blk,[,b,]<filepath>[,options]``
|
``virtio-blk,<filepath>[,options]``
|
||||||
|
|
||||||
* ``[,b,]`` specifies a bootable device and the bootable image location
|
|
||||||
when using vsbl as the virtual bootloader.
|
|
||||||
* ``<filepath>`` specifies the path of a file or disk partition.
|
* ``<filepath>`` specifies the path of a file or disk partition.
|
||||||
You can also could use ``nodisk`` to create a virtio-blk device with a dummy backend.
|
You can also could use ``nodisk`` to create a virtio-blk device with a dummy backend.
|
||||||
``nodisk`` is used for hot-plugging a rootfs after the User VM has been launched. It is
|
``nodisk`` is used for hot-plugging a rootfs after the User VM has been launched. It is
|
||||||
@ -527,10 +405,6 @@ arguments used for configuration. Here is a table describing these emulated dev
|
|||||||
* ``range``: configured as ``range=<start lba in file>/<sub file size>`` meaning the virtio-blk will
|
* ``range``: configured as ``range=<start lba in file>/<sub file size>`` meaning the virtio-blk will
|
||||||
only access part of the file, from the ``<start lba in file>`` to ``<start lba in file>`` + ``<sub file site>``.
|
only access part of the file, from the ``<start lba in file>`` to ``<start lba in file>`` + ``<sub file site>``.
|
||||||
|
|
||||||
* - ``virtio-coreu``
|
|
||||||
- Used for Protected Audio Visual Path (PAVP) session management to provide
|
|
||||||
a User VM with Protected Audio Visual Path service.
|
|
||||||
|
|
||||||
* - ``virtio-input``
|
* - ``virtio-input``
|
||||||
- Virtio type device to emulate input device. ``evdev`` char device node
|
- Virtio type device to emulate input device. ``evdev`` char device node
|
||||||
should be appended, e.g., ``-s
|
should be appended, e.g., ``-s
|
||||||
@ -548,11 +422,6 @@ arguments used for configuration. Here is a table describing these emulated dev
|
|||||||
- Virtio device that allows sharing data buffers between VMs using a
|
- Virtio device that allows sharing data buffers between VMs using a
|
||||||
dmabuf-like interface.
|
dmabuf-like interface.
|
||||||
|
|
||||||
* - ``virtio-hdcp``
|
|
||||||
- Virtio High-bandwidth Digital Content Protection (HDCP) type device. HDCP
|
|
||||||
is technology intended to protect unauthorized duplication of high
|
|
||||||
definition (HD) video and audio as it travels across connections.
|
|
||||||
|
|
||||||
* - ``virtio-heci``
|
* - ``virtio-heci``
|
||||||
- Virtio Host Embedded Controller Interface, parameters should be appended
|
- Virtio Host Embedded Controller Interface, parameters should be appended
|
||||||
with the format ``<bus>:<device>:<function>,d<0~8>``. You can find the BDF
|
with the format ``<bus>:<device>:<function>,d<0~8>``. You can find the BDF
|
||||||
@ -627,14 +496,6 @@ arguments used for configuration. Here is a table describing these emulated dev
|
|||||||
- Emulated PCI UART. Use the parameter with the format
|
- Emulated PCI UART. Use the parameter with the format
|
||||||
``uart,vuart_idx:<0~9>`` to specify hypervisor-emulated PCI vUART index.
|
``uart,vuart_idx:<0~9>`` to specify hypervisor-emulated PCI vUART index.
|
||||||
|
|
||||||
* - ``npk``
|
|
||||||
- Intel Trace Hub (known as North Peak or NPK) is a set of hardware blocks
|
|
||||||
that produce, switch, and output trace data from multiple hardware,
|
|
||||||
firmware, and software sources, used to perform full system debugging.
|
|
||||||
Parameter with the format ``npk,<master_offset>/<master number>``
|
|
||||||
specifies the master offset in the physical STMR of the host, and the
|
|
||||||
master number owned by the User VM.
|
|
||||||
|
|
||||||
* - ``wdt-i6300esb``
|
* - ``wdt-i6300esb``
|
||||||
- Emulated i6300ESB PCI Watch Dog Timer (WDT) Intel processors use to
|
- Emulated i6300ESB PCI Watch Dog Timer (WDT) Intel processors use to
|
||||||
monitor User VMs.
|
monitor User VMs.
|
||||||
|
Loading…
Reference in New Issue
Block a user