audk/OvmfPkg/VirtioSerialDxe
Pedro Tôrres f6e19abd97 OvmfPkg/VirtioSerialDxe: respond CONSOLE_PORT with PORT_OPEN
The VirtIO spec states that "Upon receipt of a
VIRTIO_CONSOLE_CONSOLE_PORT message, the driver SHOULD treat the port in
a manner suitable for text console access and MUST respond with a
VIRTIO_CONSOLE_PORT_OPEN message, which MUST have value set to 1". See
https://docs.oasis-open.org/virtio/virtio/v1.3/virtio-v1.3.html#x1-3330002.

The current driver implementation, however, does not comply with that
and only sends PORT_OPEN messages upon receipt of PORT_OPEN messages.
This causes a problem in platforms like Apple's Virtualization
Framework, where PORT_OPEN messages are not sent back to the driver
after CONSOLE_PORT messages are received by the device, a behaviour that
is compliant with the VirtIO specification.

This patch addresses this issue by always responding CONSOLE_PORT
messages with PORT_OPEN messages.

Signed-off-by: Pedro Tôrres <t0rr3sp3dr0@gmail.com>
2025-01-04 15:55:02 +00:00
..
VirtioSerial.c OvmfPkg/VirtioSerialDxe: respond CONSOLE_PORT with PORT_OPEN 2025-01-04 15:55:02 +00:00
VirtioSerial.h OvmfPkg/VirtioSerialDxe: add driver 2023-05-04 14:26:58 +00:00
VirtioSerial.inf OvmfPkg/VirtioSerialDxe: add driver 2023-05-04 14:26:58 +00:00
VirtioSerialPort.c OvmfPkg/VirtioSerialDxe: use TPL_NOTIFY 2023-06-01 09:00:00 +00:00
VirtioSerialRing.c OvmfPkg/VirtioSerialDxe: add driver 2023-05-04 14:26:58 +00:00