From 960c508bab6169bdcc0aab4f9936e6cdf0b6cfb1 Mon Sep 17 00:00:00 2001 From: Deb Taylor Date: Tue, 24 Sep 2019 07:06:24 -0400 Subject: [PATCH] Doc: Initial vuart configuration doc and images--4979 Signed-off-by: Deb Taylor --- doc/develop.rst | 1 + doc/tutorials/images/vuart-config-1.png | Bin 0 -> 27332 bytes doc/tutorials/images/vuart-config-2.png | Bin 0 -> 26747 bytes doc/tutorials/images/vuart-config-3.png | Bin 0 -> 21520 bytes doc/tutorials/images/vuart-config-4.png | Bin 0 -> 25681 bytes doc/tutorials/images/vuart-config-5.png | Bin 0 -> 22386 bytes doc/tutorials/vuart_configuration.rst | 237 ++++++++++++++++++++++++ 7 files changed, 238 insertions(+) create mode 100644 doc/tutorials/images/vuart-config-1.png create mode 100644 doc/tutorials/images/vuart-config-2.png create mode 100644 doc/tutorials/images/vuart-config-3.png create mode 100644 doc/tutorials/images/vuart-config-4.png create mode 100644 doc/tutorials/images/vuart-config-5.png create mode 100644 doc/tutorials/vuart_configuration.rst diff --git a/doc/develop.rst b/doc/develop.rst index 634940ead..7e7fe999b 100644 --- a/doc/develop.rst +++ b/doc/develop.rst @@ -65,6 +65,7 @@ Enable ACRN Features tutorials/rtvm_workload_design_guideline tutorials/sgx_virtualization tutorials/virtio_i2c + tutorials/vuart_configuration tutorials/skl-nuc tutorials/using_cat_on_up2 tutorials/using_sbl_on_up2 diff --git a/doc/tutorials/images/vuart-config-1.png b/doc/tutorials/images/vuart-config-1.png new file mode 100644 index 0000000000000000000000000000000000000000..42b0e30a47370e72c293ab41a6690a84b2300911 GIT binary patch literal 27332 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 literal 0 HcmV?d00001 diff --git a/doc/tutorials/images/vuart-config-2.png b/doc/tutorials/images/vuart-config-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d86ceab6652c2844d28c710c40ccad169cb653f5 GIT binary patch literal 26747 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
#+4Lf#z%qbuZPU~uLO|}5w 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
Sam}W)f!3rDsfpZLGI>#_wbE`} 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 KzgXAl$^QVuL!&PM literal 0 HcmV?d00001 diff --git a/doc/tutorials/images/vuart-config-3.png b/doc/tutorials/images/vuart-config-3.png new file mode 100644 index 0000000000000000000000000000000000000000..52d9491ab8192c396a49349f6e557ebc5ea7ec45 GIT binary patch literal 21520 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 KYL;o(hW`gk(c{Sg literal 0 HcmV?d00001 diff --git a/doc/tutorials/images/vuart-config-4.png b/doc/tutorials/images/vuart-config-4.png new file mode 100644 index 0000000000000000000000000000000000000000..6b6755e6ba3fc3565ea3fbc9f16598d4aee44401 GIT binary patch literal 25681 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 literal 0 HcmV?d00001 diff --git a/doc/tutorials/images/vuart-config-5.png b/doc/tutorials/images/vuart-config-5.png new file mode 100644 index 0000000000000000000000000000000000000000..ddb8d9f785586b6805c978350708eb31880b737d GIT binary patch literal 22386 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 Tn2P{Dxdbm1Un*2QGk^a-?`F?a literal 0 HcmV?d00001 diff --git a/doc/tutorials/vuart_configuration.rst b/doc/tutorials/vuart_configuration.rst new file mode 100644 index 000000000..a7f12f32a --- /dev/null +++ b/doc/tutorials/vuart_configuration.rst @@ -0,0 +1,237 @@ +.. _vuart_config: + +vUART Configuration +################### + +Introduction +============ + +The virtual universal asynchronous receiver-transmitter (vUART) supports two functions: one is the console, the other is communication. vUART only works on a single function. + +Currently, only two vUARTs configurations are added to the `/hypervisor/scenarios//vm_configuration.c` file, but you can change the value in it. + +.. code-block:: none + + .vuart[0] = { + .type = VUART_LEGACY_PIO, + .addr.port_base = INVALID_COM_BASE, + }, + .vuart[1] = { + .type = VUART_LEGACY_PIO, + .addr.port_base = INVALID_COM_BASE, + } + +**vuart[0]** is initiated as the **console** port. + +**vuart[1]** is initiated as a **communication** port. + +Console enable list +=================== + ++-----------------+-----------------------+--------------------+----------------+----------------+ +| Scenarios | vm0 | vm1 | vm2 | vm3 | ++=================+=======================+====================+================+================+ +| SDC | SOS (vuart enable) | Post-launched | Post-launched | | ++-----------------+-----------------------+--------------------+----------------+----------------+ +| SDC2 | SOS (vuart enable) | Post-launched | | Post-launched | ++-----------------+-----------------------+--------------------+----------------+----------------+ +| Hybrid | Pre-launched (Zephyr) | SOS (vuart enable) | Post-launched | | +| | (vuart enable) | | | | ++-----------------+-----------------------+--------------------+----------------+----------------+ +| Industry | SOS (vuart enable) | Post-launched | Post-launched | Post-launched | +| | | | (vuart enable) | | ++-----------------+-----------------------+--------------------+----------------+----------------+ +| Logic_partition | Pre-launched | Pre-launched RTVM | Post-launched | | +| | (vuart enable) | (vuart enable) | RTVM | | ++-----------------+-----------------------+--------------------+----------------+----------------+ + +How to configure a console port +=============================== + +To enable the console port for a VM, change only the port_base and irq. If the irq number has been used in your system (`cat /proc/interrupt`), choose another irq number. If you set the .irq =0, the vuart will work in polling mode. + +- COM1_BASE (0x3F8) + COM1_IRQ(4) +- COM2_BASE (0x2F8) + COM2_IRQ(3) +- COM3_BASE (0x3E8) + COM3_IRQ(6) +- COM4_BASE (0x2E8) + COM4_IRQ(7) + +Example: + +.. code-block:: none + + .vuart[0] = { + .type = VUART_LEGACY_PIO, + .addr.port_base = COM1_BASE, + .irq = COM1_IRQ, + }, + +How to configure a communication port +===================================== + +To enable the communication port, configure vuart[1] in the two VMs that want to communicate. + +The port_base and irq should not repeat with the vuart[0] in the same VM. + +**t_vuart.vm_id** is the target VM's vm_id, start from 0. (0 means VM0) + +**t_vuart.vuart_id** is the target vuart index in the target VM. start from 1. (1 means vuart[1]) + +Example: + +.. code-block:: none + + /* VM0 */ + ... + /* VM1 */ + .vuart[1] = { + .type = VUART_LEGACY_PIO, + .addr.port_base = COM2_BASE, + .irq = COM2_IRQ, + .t_vuart.vm_id = 2U, + .t_vuart.vuart_id = 1U, + }, + ... + /* VM2 */ + .vuart[1] = { + .type = VUART_LEGACY_PIO, + .addr.port_base = COM2_BASE, + .irq = COM2_IRQ, + .t_vuart.vm_id = 1U, + .t_vuart.vuart_id = 1U, + }, + +Communication vUART enable list +=============================== + ++-----------------+-----------------------+--------------------+---------------------+----------------+ +| Scenarios | vm0 | vm1 | vm2 | vm3 | ++=================+=======================+====================+=====================+================+ +| SDC | SOS | Post-launched | Post-launched | | ++-----------------+-----------------------+--------------------+---------------------+----------------+ +| SDC2 | SOS | Post-launched | Post-launched | Post-launched | ++-----------------+-----------------------+--------------------+---------------------+----------------+ +| Hybrid | Pre-launched (Zephyr) | SOS | Post-launched | | +| | (vuart enable COM2) | (vuart enable COM2)| | | ++-----------------+-----------------------+--------------------+---------------------+----------------+ +| Industry | SOS | Post-launched | Post-launched RTVM | Post-launched | +| | (vuart enable COM2) | | (vuart enable COM2) | | ++-----------------+-----------------------+--------------------+---------------------+----------------+ +| Logic_partition | Pre-launched | Pre-launched RTVM | | | ++-----------------+-----------------------+--------------------+---------------------+----------------+ + +Launch script +============= + +- *-s 1:0,lpc -l com1,stdio* + This option is only needed for WaaG and vxWorks (and currently, OVMF). The common port is that they all depend on the ACPI table, but only acrn-dm can provide the ACPI table for UART. + +- *-B " ....,console=ttyS0, ..."* + Add this to the kernel-based system. + +Test the communication port +=========================== + +After you have configured the communication port in hypervisor, you can access the corresponding port. For example, in Clear Linux: + +1. With `echo` and `cat` + + On VM1: `# cat /dev/ttyS1` + + On VM2: `# echo "test test" > /dev/ttyS1` + + you can find the message from VM1 `/dev/ttyS1`. + + If you are not sure which port is the communication port, you can run "dmesg | grep ttyS" under the Linux shell to check the base address. If it matches what you have set in the `vm_configuration.c` file, it is the correct port. + + +#. With mimicom + + Run `minicom -D /dev/ttyS1` on both VM1 and VM2 and enter `test` in VM1's minicom. The message should appear in VM2's minicom. Close the flow control in minicom. + + +#. Limitations + + - The msg can not longer than 256 bytes. + - This cannot be used to transfer files because flow control is not supported so data may lost. + +vUART design +============ + +**Console vUART** + +.. figure:: images/vuart-config-1.png + :align: center + :name: console-vuart + +**Communication vUART (between VM0 and VM1)** + +.. figure:: images/vuart-config-2.png + :align: center + :name: communication-vuart + +Com port configurations for Post-Launched VMs +============================================= + +For a post-launched VM, the acrn-dm cmdline also provides a com port configuration: + + `-s 1:0,lpc -l com1,stdio` + +This adds com1(0x3f8) and com2(0x2f8) modules in the Guest VM, including the ACPI info for these two ports. + +**Data Flow 1:** + +When the Post-launched VM is started only with the vUART enabled in the hypervisor configuration file, the data flow is shown as below: + +.. figure:: images/vuart-config-3.png + :align: center + :name: PLVM1-vuart + +**acrn-dm cmdline:** N/A + +.. code-block:: none + + vm_configuration.c: .vuart[0] = { + .type = VUART_LEGACY_PIO, + .addr.port_base = COM1_BASE, + .irq = COM1_IRQ, + }, + +**Data Flow 2:** + +When the Post-launched VM is started only with the acrn-dm cmdline of `-s 1:0,lpc -l com1,stdio`, the data flow is shown as below: + +.. figure:: images/vuart-config-4.png + :align: center + :name: PLVM2-vuart + +**acrn-dm cmdline:** `-s 1:0,lpc -l com1,stdio` + +.. code-block:: none + + vm_configuration.c: .vuart[0] = { + .type = VUART_LEGACY_PIO, + .addr.port_base = INVALID_COM_BASE, + }, + +**Date Flow 3:** + +When the Post-launched VM is started with both vUART enabled and the acrn-dm cmdline of `-s 1:0,lpc -l com1,stdio`, the data flow is show as below: + +.. figure:: images/vuart-config-5.png + :align: center + :name: PLVM3-vuart + +**acrn-dm cmdline:** `-s 1:0,lpc -l com1,stdio` + +.. code-block:: none + + vm_configuration.c: .vuart[0] = { + .type = VUART_LEGACY_PIO, + .addr.port_base = COM1_BASE, + .irq = COM1_IRQ, + }, + +.. note:: + For operating systems such as vxWorks and Windows that depend on the ACPI table to probe the uart driver, only adding the vuart configuration in the hypervisor is not enough. Currently, we recommend that you use the configuration in Data Flow 3. This may be refined in the future. + +