Virtualized UART Pass-Through via Address Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized computing environments, the concurrent use of a physical UART port by both the hypervisor and virtual machine leads to impractical and error-prone remote debugging, as the hypervisor processes data and interrupts intended for the virtual machine, causing operation errors and compromising security.
Innovation Solution
A hypervisor operates in a mode that prevents processing of data received via the physical UART port and provides interrupts to the virtual machine, allowing the virtual machine to communicate directly with a remote device through the physical UART port by mapping register addresses and variable addresses, enabling pass-through of data and interrupts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the hypervisor processes data received via the physical UART port, then the hypervisor can manage communication, but data and interrupts intended for the virtual machine are misdirected causing operation errors
Solution Approach 1:
The patent segments the UART port functionality by creating separate address spaces: a first address space for the hypervisor and a second address space for the virtual machine. This segmentation allows the physical UART port to be logically divided, enabling the hypervisor to manage the physical port while the virtual machine accesses it through virtualized interfaces without interference.
Solution Approach 2:
The patent introduces a UART mode register and address mapping mechanism as an intermediary between the physical UART port and the virtual machine. This intermediary layer translates and directs data and interrupts appropriately, ensuring that communication intended for the virtual machine is correctly routed while maintaining hypervisor control.
2Ease of operation
If the hypervisor manages the physical UART port, then communication control is centralized, but the virtual machine cannot directly communicate with remote devices
Solution Approach 1:
The patent implements a universal address mapping mechanism that can accommodate both hypervisor and virtual machine access to the UART port. The same physical UART port serves multiple functions: direct hypervisor access for management and virtualized access for the virtual machine, eliminating the need for separate physical ports while enabling virtual machine communication capability.
Solution Approach 2:
The patent adds an address space dimension to resolve the conflict. By mapping the physical UART port addresses to both the hypervisor's address space and the virtual machine's address space, it creates a multi-dimensional access structure that allows both entities to communicate through the same physical interface without conflict.
3Productivity
If both hypervisor and virtual machine access the physical UART port, then resource utilization increases, but operation errors and security issues arise
Solution Approach 1:
The patent applies local quality by giving different access characteristics to different parts of the system. The hypervisor has direct access to the physical UART port for management functions, while the virtual machine has virtualized access through mapped addresses. This differentiated access quality ensures high utilization while preventing operation errors through proper isolation.
Data Source
AI summary
A hypervisor of a device may receive information that identifies a virtual machine that is to use a universal asynchronous receiver/transmitter (UART) of the device. The hypervisor may map a set of first register addresses, associated with a physical UART port, and a set of variable addresses. The hypervisor may map a second set of register addresses, associated with a virtual UART port of the virtual machine, and the set of variable addresses. The hypervisor may permit the virtual machine to communicate, with a remote device, using the physical UART port based on mapping the set of second register addresses and the set of variable addresses.


