efi_loader: Uart device path

When uploading an EFI binary via the UART we need to assign a device path.

* Provide devicepath node to text conversion for Uart() node.
* Provide function to create Uart() device path.
* Add UART support to efi_dp_from_name().

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
Heinrich Schuchardt 2021-03-19 02:49:54 +01:00
parent a95f4c8859
commit 62df6e9c99
3 changed files with 55 additions and 9 deletions

View file

@ -118,6 +118,19 @@ static char *dp_msging(char *s, struct efi_device_path *dp)
ide->logical_unit_number);
break;
}
case DEVICE_PATH_SUB_TYPE_MSG_UART: {
struct efi_device_path_uart *uart =
(struct efi_device_path_uart *)dp;
s += sprintf(s, "Uart(%lld,%d,%d,", uart->baud_rate,
uart->data_bits, uart->parity);
switch (uart->stop_bits) {
case 2:
s += sprintf(s, "1.5)");
default:
s += sprintf(s, "%d)", uart->stop_bits);
}
break;
}
case DEVICE_PATH_SUB_TYPE_MSG_USB: {
struct efi_device_path_usb *udp =
(struct efi_device_path_usb *)dp;