mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-14 12:56:00 +01:00
Pull request for efi-2022-04-rc3-2
Documentation: * Fix description for SiFive Unmatched * Add libgnutls28-dev to build dependencies UEFI * Avoid possibly invalid GUID pointers for protocol interfaces Other * Serial console support for cls command -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEbcT5xx8ppvoGt20zxIHbvCwFGsQFAmIshDsACgkQxIHbvCwF GsR94g/+I1xaMBXGBypiKaV5S38gP7Bk4Vj7Hz97Qjd51rEx+/LL4iyrQDF3O20H qRywFX6aS+OVsBo1UYATSmBUdwxE1OSZzEXNWLhv3jlbOsxSIelyW/l8vOuhndVa TZwcQ9ii+0YArQ7uHgDdZ6KzBCtftkgQ8llditAwVHc8q+dIePWaAtv5vcGY5Xz9 VoO+ZEzxvNi4p2WnLW0237Qtwdla4iL5qc1mbAeTDh6hjjcXdXEKmuOMXsgswhyr sAFv9Rft8BySCRSiiHiLH9J+XIplX+EZNKz3cvTIbWoTDCZWK7bXcvi4STJp7U2O lHoxfYXX0uMVtFv+Oa9eFpNFHbdP7X9yTe07YgbqYbnVN9SjQMDrKICn4PLMjxKA tSy/EFb9AcFl5Dr+/aRIfqJ/CPocRfrzSoCXqOPeKJZPGsPUPACjTw5P/b6N/elJ zhyFawDZY3PhtdaawrTIf1JJf2pTAadBrPaWBrtnCZKgJ7k4g9g+s6VzgpYZtzCJ ccd8m/T/KnrBrPJG4MWvYLgVKNZ0YrcLzMOHXFBJILnPbOxT1JWAzOYoj/RRemTE uIbUpI45q0/eubltWhe6dkawrh5fGC+GBi1MOs/qTQLYARXFxWSdE2Ev0qcx/DMn UnxlrXrLueGp/rVTAxXVKN5np8cUOt+9385yZrgfEq4ACNSKI4A= =P03c -----END PGP SIGNATURE----- Merge tag 'efi-2022-04-rc3-2' of https://source.denx.de/u-boot/custodians/u-boot-efi Pull request for efi-2022-04-rc3-2 Documentation: * Fix description for SiFive Unmatched * Add libgnutls28-dev to build dependencies UEFI * Avoid possibly invalid GUID pointers for protocol interfaces Other * Serial console support for cls command
This commit is contained in:
commit
c96137000e
10
cmd/cls.c
10
cmd/cls.c
@ -11,17 +11,23 @@
|
|||||||
#include <lcd.h>
|
#include <lcd.h>
|
||||||
#include <video.h>
|
#include <video.h>
|
||||||
|
|
||||||
|
#define CSI "\x1b["
|
||||||
|
|
||||||
static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc,
|
static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||||
char *const argv[])
|
char *const argv[])
|
||||||
{
|
{
|
||||||
#if defined(CONFIG_DM_VIDEO)
|
__maybe_unused struct udevice *dev;
|
||||||
struct udevice *dev;
|
|
||||||
|
|
||||||
|
/* Send clear screen and home */
|
||||||
|
printf(CSI "2J" CSI "1;1H");
|
||||||
|
#if defined(CONFIG_DM_VIDEO)
|
||||||
|
#if !defined(CONFIG_VIDEO_ANSI)
|
||||||
if (uclass_first_device_err(UCLASS_VIDEO, &dev))
|
if (uclass_first_device_err(UCLASS_VIDEO, &dev))
|
||||||
return CMD_RET_FAILURE;
|
return CMD_RET_FAILURE;
|
||||||
|
|
||||||
if (video_clear(dev))
|
if (video_clear(dev))
|
||||||
return CMD_RET_FAILURE;
|
return CMD_RET_FAILURE;
|
||||||
|
#endif
|
||||||
#elif defined(CONFIG_CFB_CONSOLE)
|
#elif defined(CONFIG_CFB_CONSOLE)
|
||||||
video_clear();
|
video_clear();
|
||||||
#elif defined(CONFIG_LCD)
|
#elif defined(CONFIG_LCD)
|
||||||
|
@ -560,7 +560,7 @@ Write U-boot SPL and U-boot to their partitions.
|
|||||||
|
|
||||||
.. code-block:: none
|
.. code-block:: none
|
||||||
|
|
||||||
dd if=u-boot-spl.bin of=/dev/mtdblock0 bs=4096 seek=5 conv=sync
|
dd if=spl/u-boot-spl.bin of=/dev/mtdblock0 bs=4096 seek=5 conv=sync
|
||||||
dd if=u-boot.itb of=/dev/mtdblock0 bs=4096 seek=261 conv=sync
|
dd if=u-boot.itb of=/dev/mtdblock0 bs=4096 seek=261 conv=sync
|
||||||
|
|
||||||
Power off the board.
|
Power off the board.
|
||||||
|
11
doc/build/gcc.rst
vendored
11
doc/build/gcc.rst
vendored
@ -25,11 +25,12 @@ Depending on the build targets further packages maybe needed
|
|||||||
|
|
||||||
sudo apt-get install bc bison build-essential coccinelle \
|
sudo apt-get install bc bison build-essential coccinelle \
|
||||||
device-tree-compiler dfu-util efitools flex gdisk graphviz imagemagick \
|
device-tree-compiler dfu-util efitools flex gdisk graphviz imagemagick \
|
||||||
liblz4-tool libguestfs-tools libncurses-dev libpython3-dev libsdl2-dev \
|
liblz4-tool libgnutls28-dev libguestfs-tools libncurses-dev \
|
||||||
libssl-dev lz4 lzma lzma-alone openssl pkg-config python3 \
|
libpython3-dev libsdl2-dev libssl-dev lz4 lzma lzma-alone openssl \
|
||||||
python3-coverage python3-pkg-resources python3-pycryptodome \
|
pkg-config python3 python3-coverage python3-pkg-resources \
|
||||||
python3-pyelftools python3-pytest python3-sphinxcontrib.apidoc \
|
python3-pycryptodome python3-pyelftools python3-pytest \
|
||||||
python3-sphinx-rtd-theme python3-virtualenv swig
|
python3-sphinxcontrib.apidoc python3-sphinx-rtd-theme python3-virtualenv \
|
||||||
|
swig
|
||||||
|
|
||||||
SUSE based
|
SUSE based
|
||||||
~~~~~~~~~~
|
~~~~~~~~~~
|
||||||
|
@ -342,7 +342,7 @@ struct efi_open_protocol_info_item {
|
|||||||
*/
|
*/
|
||||||
struct efi_handler {
|
struct efi_handler {
|
||||||
struct list_head link;
|
struct list_head link;
|
||||||
const efi_guid_t *guid;
|
const efi_guid_t guid;
|
||||||
void *protocol_interface;
|
void *protocol_interface;
|
||||||
struct list_head open_infos;
|
struct list_head open_infos;
|
||||||
};
|
};
|
||||||
|
@ -552,7 +552,7 @@ efi_status_t efi_search_protocol(const efi_handle_t handle,
|
|||||||
struct efi_handler *protocol;
|
struct efi_handler *protocol;
|
||||||
|
|
||||||
protocol = list_entry(lhandle, struct efi_handler, link);
|
protocol = list_entry(lhandle, struct efi_handler, link);
|
||||||
if (!guidcmp(protocol->guid, protocol_guid)) {
|
if (!guidcmp(&protocol->guid, protocol_guid)) {
|
||||||
if (handler)
|
if (handler)
|
||||||
*handler = protocol;
|
*handler = protocol;
|
||||||
return EFI_SUCCESS;
|
return EFI_SUCCESS;
|
||||||
@ -604,7 +604,7 @@ efi_status_t efi_remove_all_protocols(const efi_handle_t handle)
|
|||||||
list_for_each_entry_safe(protocol, pos, &efiobj->protocols, link) {
|
list_for_each_entry_safe(protocol, pos, &efiobj->protocols, link) {
|
||||||
efi_status_t ret;
|
efi_status_t ret;
|
||||||
|
|
||||||
ret = efi_remove_protocol(handle, protocol->guid,
|
ret = efi_remove_protocol(handle, &protocol->guid,
|
||||||
protocol->protocol_interface);
|
protocol->protocol_interface);
|
||||||
if (ret != EFI_SUCCESS)
|
if (ret != EFI_SUCCESS)
|
||||||
return ret;
|
return ret;
|
||||||
@ -1131,7 +1131,7 @@ efi_status_t efi_add_protocol(const efi_handle_t handle,
|
|||||||
handler = calloc(1, sizeof(struct efi_handler));
|
handler = calloc(1, sizeof(struct efi_handler));
|
||||||
if (!handler)
|
if (!handler)
|
||||||
return EFI_OUT_OF_RESOURCES;
|
return EFI_OUT_OF_RESOURCES;
|
||||||
handler->guid = protocol;
|
memcpy((void *)&handler->guid, protocol, sizeof(efi_guid_t));
|
||||||
handler->protocol_interface = protocol_interface;
|
handler->protocol_interface = protocol_interface;
|
||||||
INIT_LIST_HEAD(&handler->open_infos);
|
INIT_LIST_HEAD(&handler->open_infos);
|
||||||
list_add_tail(&handler->link, &efiobj->protocols);
|
list_add_tail(&handler->link, &efiobj->protocols);
|
||||||
@ -1227,7 +1227,7 @@ static efi_status_t efi_get_drivers(efi_handle_t handle,
|
|||||||
|
|
||||||
/* Count all driver associations */
|
/* Count all driver associations */
|
||||||
list_for_each_entry(handler, &handle->protocols, link) {
|
list_for_each_entry(handler, &handle->protocols, link) {
|
||||||
if (protocol && guidcmp(handler->guid, protocol))
|
if (protocol && guidcmp(&handler->guid, protocol))
|
||||||
continue;
|
continue;
|
||||||
list_for_each_entry(item, &handler->open_infos, link) {
|
list_for_each_entry(item, &handler->open_infos, link) {
|
||||||
if (item->info.attributes &
|
if (item->info.attributes &
|
||||||
@ -1249,7 +1249,7 @@ static efi_status_t efi_get_drivers(efi_handle_t handle,
|
|||||||
return EFI_OUT_OF_RESOURCES;
|
return EFI_OUT_OF_RESOURCES;
|
||||||
/* Collect unique driver handles */
|
/* Collect unique driver handles */
|
||||||
list_for_each_entry(handler, &handle->protocols, link) {
|
list_for_each_entry(handler, &handle->protocols, link) {
|
||||||
if (protocol && guidcmp(handler->guid, protocol))
|
if (protocol && guidcmp(&handler->guid, protocol))
|
||||||
continue;
|
continue;
|
||||||
list_for_each_entry(item, &handler->open_infos, link) {
|
list_for_each_entry(item, &handler->open_infos, link) {
|
||||||
if (item->info.attributes &
|
if (item->info.attributes &
|
||||||
@ -2446,7 +2446,7 @@ static efi_status_t EFIAPI efi_protocols_per_handle(
|
|||||||
|
|
||||||
protocol = list_entry(protocol_handle,
|
protocol = list_entry(protocol_handle,
|
||||||
struct efi_handler, link);
|
struct efi_handler, link);
|
||||||
(*protocol_buffer)[j] = (void *)protocol->guid;
|
(*protocol_buffer)[j] = (void *)&protocol->guid;
|
||||||
++j;
|
++j;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3094,7 +3094,7 @@ close_next:
|
|||||||
(efi_handle_t)image_obj)
|
(efi_handle_t)image_obj)
|
||||||
continue;
|
continue;
|
||||||
r = EFI_CALL(efi_close_protocol
|
r = EFI_CALL(efi_close_protocol
|
||||||
(efiobj, protocol->guid,
|
(efiobj, &protocol->guid,
|
||||||
info->info.agent_handle,
|
info->info.agent_handle,
|
||||||
info->info.controller_handle
|
info->info.controller_handle
|
||||||
));
|
));
|
||||||
|
@ -91,7 +91,7 @@ void efi_print_image_infos(void *pc)
|
|||||||
|
|
||||||
list_for_each_entry(efiobj, &efi_obj_list, link) {
|
list_for_each_entry(efiobj, &efi_obj_list, link) {
|
||||||
list_for_each_entry(handler, &efiobj->protocols, link) {
|
list_for_each_entry(handler, &efiobj->protocols, link) {
|
||||||
if (!guidcmp(handler->guid, &efi_guid_loaded_image)) {
|
if (!guidcmp(&handler->guid, &efi_guid_loaded_image)) {
|
||||||
efi_print_image_info(
|
efi_print_image_info(
|
||||||
(struct efi_loaded_image_obj *)efiobj,
|
(struct efi_loaded_image_obj *)efiobj,
|
||||||
handler->protocol_interface, pc);
|
handler->protocol_interface, pc);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user