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:
Tom Rini 2022-03-13 08:18:17 -04:00
commit c96137000e
6 changed files with 24 additions and 17 deletions

View file

@ -11,17 +11,23 @@
#include <lcd.h>
#include <video.h>
#define CSI "\x1b["
static int do_video_clear(struct cmd_tbl *cmdtp, int flag, int argc,
char *const argv[])
{
#if defined(CONFIG_DM_VIDEO)
struct udevice *dev;
__maybe_unused 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))
return CMD_RET_FAILURE;
if (video_clear(dev))
return CMD_RET_FAILURE;
#endif
#elif defined(CONFIG_CFB_CONSOLE)
video_clear();
#elif defined(CONFIG_LCD)

View file

@ -560,7 +560,7 @@ Write U-boot SPL and U-boot to their partitions.
.. 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
Power off the board.

11
doc/build/gcc.rst vendored
View file

@ -25,11 +25,12 @@ Depending on the build targets further packages maybe needed
sudo apt-get install bc bison build-essential coccinelle \
device-tree-compiler dfu-util efitools flex gdisk graphviz imagemagick \
liblz4-tool libguestfs-tools libncurses-dev libpython3-dev libsdl2-dev \
libssl-dev lz4 lzma lzma-alone openssl pkg-config python3 \
python3-coverage python3-pkg-resources python3-pycryptodome \
python3-pyelftools python3-pytest python3-sphinxcontrib.apidoc \
python3-sphinx-rtd-theme python3-virtualenv swig
liblz4-tool libgnutls28-dev libguestfs-tools libncurses-dev \
libpython3-dev libsdl2-dev libssl-dev lz4 lzma lzma-alone openssl \
pkg-config python3 python3-coverage python3-pkg-resources \
python3-pycryptodome python3-pyelftools python3-pytest \
python3-sphinxcontrib.apidoc python3-sphinx-rtd-theme python3-virtualenv \
swig
SUSE based
~~~~~~~~~~

View file

@ -342,7 +342,7 @@ struct efi_open_protocol_info_item {
*/
struct efi_handler {
struct list_head link;
const efi_guid_t *guid;
const efi_guid_t guid;
void *protocol_interface;
struct list_head open_infos;
};

View file

@ -552,7 +552,7 @@ efi_status_t efi_search_protocol(const efi_handle_t handle,
struct efi_handler *protocol;
protocol = list_entry(lhandle, struct efi_handler, link);
if (!guidcmp(protocol->guid, protocol_guid)) {
if (!guidcmp(&protocol->guid, protocol_guid)) {
if (handler)
*handler = protocol;
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) {
efi_status_t ret;
ret = efi_remove_protocol(handle, protocol->guid,
ret = efi_remove_protocol(handle, &protocol->guid,
protocol->protocol_interface);
if (ret != EFI_SUCCESS)
return ret;
@ -1131,7 +1131,7 @@ efi_status_t efi_add_protocol(const efi_handle_t handle,
handler = calloc(1, sizeof(struct efi_handler));
if (!handler)
return EFI_OUT_OF_RESOURCES;
handler->guid = protocol;
memcpy((void *)&handler->guid, protocol, sizeof(efi_guid_t));
handler->protocol_interface = protocol_interface;
INIT_LIST_HEAD(&handler->open_infos);
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 */
list_for_each_entry(handler, &handle->protocols, link) {
if (protocol && guidcmp(handler->guid, protocol))
if (protocol && guidcmp(&handler->guid, protocol))
continue;
list_for_each_entry(item, &handler->open_infos, link) {
if (item->info.attributes &
@ -1249,7 +1249,7 @@ static efi_status_t efi_get_drivers(efi_handle_t handle,
return EFI_OUT_OF_RESOURCES;
/* Collect unique driver handles */
list_for_each_entry(handler, &handle->protocols, link) {
if (protocol && guidcmp(handler->guid, protocol))
if (protocol && guidcmp(&handler->guid, protocol))
continue;
list_for_each_entry(item, &handler->open_infos, link) {
if (item->info.attributes &
@ -2446,7 +2446,7 @@ static efi_status_t EFIAPI efi_protocols_per_handle(
protocol = list_entry(protocol_handle,
struct efi_handler, link);
(*protocol_buffer)[j] = (void *)protocol->guid;
(*protocol_buffer)[j] = (void *)&protocol->guid;
++j;
}
}
@ -3094,7 +3094,7 @@ close_next:
(efi_handle_t)image_obj)
continue;
r = EFI_CALL(efi_close_protocol
(efiobj, protocol->guid,
(efiobj, &protocol->guid,
info->info.agent_handle,
info->info.controller_handle
));

View file

@ -91,7 +91,7 @@ void efi_print_image_infos(void *pc)
list_for_each_entry(efiobj, &efi_obj_list, 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(
(struct efi_loaded_image_obj *)efiobj,
handler->protocol_interface, pc);