From 746cbab979022d06bc50a758ab6a943134655284 Mon Sep 17 00:00:00 2001 From: "David B. Kinder" Date: Tue, 24 Jul 2018 14:07:53 -0700 Subject: [PATCH] doc: add UART virtualization documentation transcode, review, and publish UART virtualization design and documentation Signed-off-by: David B. Kinder --- doc/developer-guides/images/uart-image1.png | Bin 0 -> 95867 bytes doc/developer-guides/index.rst | 1 + doc/developer-guides/uart-virtualization.rst | 126 +++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 doc/developer-guides/images/uart-image1.png create mode 100644 doc/developer-guides/uart-virtualization.rst diff --git a/doc/developer-guides/images/uart-image1.png b/doc/developer-guides/images/uart-image1.png new file mode 100644 index 0000000000000000000000000000000000000000..a37ce739f3c07223c3d4ed2983dc4f14b6283bef GIT binary patch literal 95867 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 yt literal 0 HcmV?d00001 diff --git a/doc/developer-guides/index.rst b/doc/developer-guides/index.rst index 5ce2f4a34..605e03a42 100644 --- a/doc/developer-guides/index.rst +++ b/doc/developer-guides/index.rst @@ -23,6 +23,7 @@ specific areas within the ACRN hypervisor system. virtio-hld.rst ACPI-virt-hld.rst APL_GVT-g-hld.rst + uart-virtualization.rst Contributing to the project *************************** diff --git a/doc/developer-guides/uart-virtualization.rst b/doc/developer-guides/uart-virtualization.rst new file mode 100644 index 000000000..ebb6276be --- /dev/null +++ b/doc/developer-guides/uart-virtualization.rst @@ -0,0 +1,126 @@ +.. _uart_virtualization: + +UART Virtualization +################### + +In ACRN, UART virtualization is implemented as a fully-emulated device. +In the Service OS (SOS), UART virtualization is implemented in the +hypervisor itself. In the User OS (UOS), UART virtualization is +implemented in the Device Model (DM), and is the primary topic of this +document. We'll summarize differences between the hypervisor and DM +implementations at the end of this document. + + +UART emulation is a typical full-emulation implementation and is a +good example to learn about I/O emulation in a virtualized environment. +There is a detailed explanation about the I/O emulation flow in +ACRN in :ref:`ACRN-io-mediator`. + +Architecture +************ + +The ACRN DM architecture for UART virtualization is shown here: + +.. figure:: images/uart-image1.png + :align: center + :name: uart-arch + :width: 800px + + Device Model's UART virtualization architecture + +There are three objects used to emulate one UART device in DM: +UART registers, rxFIFO, and backend tty devices. + +**UART registers** are emulated by member variables in struct +``uart_vdev``, one variable for each register. These variables are used +to track the register status programed by the frontend driver. The +handler of each register depends on the register's functionality. + +A **FIFO** is implemented to emulate RX. Normally characters are read +from the backend tty device when available, then put into the rxFIFO. +When the Guest application tries to read from the UART, the access to +register ``com_data`` causes a ``vmexit``. Device model catches the +``vmexit`` and emulates the UART by returning one character from rxFIFO. + +.. note:: When ``com_fcr`` is available, the Guest application can write + ``0`` to this register to disable rxFIFO. In this case the rxFIFO in + device model degenerates to a buffer containing only one character. + +When the Guest application tries to send a character to the UART, it +writes to the ``com_data`` register, which will cause a ``vmexit`` as +well. Device model catches the ``vmexit`` and emulates the UART by +redirecting the character to the **backend tty device**. + +The UART device emulated by the ACRN device model is connected to the system by +the LPC bus. In the current implementation, two channel LPC UARTs are I/O mapped to +the traditional COM port addresses of 0x3F8 and 0x2F8. These are defined in +global variable ``uart_lres``. + +There are two options needed for configuring the UART in the ``arcn-dm`` +command line. First, the LPC is defined as a PCI device:: + + -s 1:0,lpc + +The other option defines a UART port:: + + -l com1,stdio + +The first parameter here is the name of the UART (must be "com1" or +"com2"). The second parameter is species the backend +tty device: ``stdio`` or a path to the dedicated tty device +node, for example ``/dev/pts/0``. + +If you are using a specified tty device, find the name of the terminal +connected to standard input using the ``tty`` command (e.g., +``/dev/pts/1``). Use this name to define the UART port on the acrn-dm +command line, for example:: + + -l com1,/dev/pts/1 + + +When arcn-dm starts, ``pci_lpc_init`` is called as the callback of the +``vdev_init`` of the PCI device given on the acrn-dm command line. +Later, ``lpc_init`` is called in ``pci_lpc_init``. ``lpc_init`` iterates +on the available UART instances defined on the command line and +initializes them one by one. ``register_inout`` is called on the port +region of each UART instance, enabling access to the UART ports to be +routed to the registered handler. + +In the case of UART emulation, the registered handlers are ``uart_read`` +and ``uart_write``. + +A similar virtual UART device is implemented in the hypervisor. +Currently UART16550 is owned by the hypervisor itself and is used for +debugging purposes. (The UART properties are configured by parameters +to the hypervisor command line.) The hypervisor emulates a UART device +with 0x3F8 address to the SOS and acts as the SOS console. The general +emulation is the same as used in the device model, with the following +differences: + +- PIO region is directly registered to the vmexit handler dispatcher via + ``vuart_register_io_handler`` + +- Two FIFOs are implemented, one for RX, the other of TX + +- RX flow: + + - Characters are read from the UART HW into a 2048-byte sbuf, + triggered by ``console_read`` + + - Characters are read from the sbuf and put to rxFIFO, + triggered by ``vuart_console_rx_chars`` + + - A virtual interrupt is sent to the SOS that triggered the read, + and characters from rxFIFO are sent to the SOS by emulating a read + of register ``UART16550_RBR`` + +- TX flow: + + - Characters are put into txFIFO by emulating a write of register + ``UART16550_THR`` + + - Characters in txFIFO are read out one by one, and sent to the console + by printf, triggered by ``vuart_console_tx_chars`` + + - Implementation of printf is based on the console, which finally sends + characters to the UART HW by writing to register ``UART16550_RBR``