- Jul 19, 2017
-
-
xypron.glpk@gmx.de authored
If efi_free_pool is called with argument NULL an illegal memory access occurs. So let's check the parameter on entry. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
The efi_loader currently stops iterating over the available block devices stopping at the first device that fails. This may imply that no block device is found. With the patch efi_loader only iterates over valid devices. It is based on patch 06d592bf52f6 (dm: core: Add uclass_first/next_device_check()) which is currently in u-boot-dm.git. For testing I used an odroid-c2 with a dts including &sd_emmc_a { status = "okay"; }; This device does not exist on the board and cannot be initialized. Without the patch: => bootefi hello ## Starting EFI application at 01000000 ... WARNING: Invalid device tree, expect boot to fail mmc_init: -95, time 1806 Found 0 disks Hello, world! ## Application terminated, r = 0 With the patch: => bootefi hello ## Starting EFI application at 01000000 ... WARNING: Invalid device tree, expect boot to fail mmc_init: -95, time 1806 Scanning disk mmc@70000.blk... Scanning disk mmc@72000.blk... Card did not respond to voltage select! mmc_init: -95, time 9 Scanning disk mmc@74000.blk... Found 3 disks Hello, world! ## Application terminated, r = 0 Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by:
Andreas Färber <afaerber@suse.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
Currenty any EFI status other than EFI_SUCCESS is reported as Application terminated, r = -22 With the patch the status code returned by the EFI application is printed. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
efi.h held only a few EFI status codes. The patch adds the missing definitions for later usage. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
The Unified Extensible Firmware Interface Specification, version 2.7, defines in chapter 2.1.2 - UEFI Application that an EFI application may either directly return or call EFI_BOOT_SERVICES.Exit(). Unfortunately U-Boot makes the incorrect assumption that EFI_BOOT_SERVICES.Exit() is always called. So the following application leads to a memory exception on the aarch64 architecture when returning: EFI_STATUS efi_main( EFI_HANDLE handle, EFI_SYSTEM_TABlE systable) { return EFI_SUCCESS; } With this patch the entry point is stored in the image handle. The new wrapper function do_enter is used to call the EFI entry point. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
ConvertPathToText is implemented for * type 4 - media device path * subtype 4 - file path This is the kind of device path we hand out for block devices. All other cases may be implemented later. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> [agraf: fix whitespace] Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
The UEFI specification requires that LocateProtol finds the first handle supporting the protocol and to return a pointer to its interface. So we have to assign the protocols to an efi_object and not use any separate storage. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
Four protocols per object is too few to run iPXE. Let's raise the number of protocols per object to eight. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
UEFI boot service LocateHandleBuffer is implemented by calling efi_allocate_handle and efi_locate_handle. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
To implement LocateHandleBuffer we need to call efi_locate_handle internally without running through EFI_EXIT. So put EFI_ENTRY and EFI_EXIT into a new wrapper function efi_locate_handle_ext. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
Implement InstallMultipleProtocolInterfaces in function efi_install_multiple_protocol_interfaces by repeatedly calling efi_install_protocol_interface. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
For the implementation of UninstallMultipleProtocolInterfaces we need to call efi_uninstall_protocol_interface. In internal calls we should not pass through EFI_EXIT. The patch introduces a wrapper function efi_uninstall_protocol_interface_ext. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
For the implementation of InstallMultipleProtocolInterfaces we need to call efi_install_protocol_interface. In internal calls we should not pass through EFI_EXIT. The patch introduces a wrapper function efi_install_protocol_interface_ext. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
Without the patch efi_uninstall_protocol_interface always returns an error. With the patch protocols without interface can be uninstalled. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
efi_install_protocol_interface up to now only returned an error code. The patch implements the UEFI specification for InstallProtocolInterface with the exception that it will not create new handles. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
Add all parameter checks for function efi_open_protocol that do not depend on a locking table. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by:
Alexander Graf <agraf@suse.de>
-
xypron.glpk@gmx.de authored
efi_open_protocol was implemented to call a protocol specific open function to retrieve the protocol interface. The UEFI specification does not know of such a function. It is not possible to implement InstallProtocolInterface with the current design. With the patch the protocol interface itself is stored in the list of installed protocols of an efi_object instead of an open function. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de> [agraf: fix efi gop support] Signed-off-by:
Alexander Graf <agraf@suse.de>
-
- Jul 12, 2017
-
-
git://git.denx.de/u-boot-dmTom Rini authored
-
- Jul 11, 2017
-
-
Masahiro Yamada authored
DTB is encoded in big endian. When we retrieve property values, we need to use fdt32_to_cpu (aka be32_to_cpu) for endian conversion. This is a bit error-prone, but sparse is useful to detect endian mismatch. We need to use (fdt32_t *) instead of (u32 *) for a pointer of a property value. Otherwise sparse warns "cast to restricted __be32". Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
Include <dm/util.h> to fix sparse warnings: symbol 'dm_dump_all' was not declared. Should it be static? symbol 'dm_dump_uclass' was not declared. Should it be static? Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
Reuse ofnode_get_property() to simplify the implementation. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
This function returns the pointer to the value of a node property. The current name ofnode_read_prop() is confusing. Follow the naming of_get_property() from Linux. The return type (const u32 *) is wrong. DT property values can be strings as well as integers. This is why of_get_property/fdt_getprop returns an opaque pointer. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
The code inside the if-block is the same as of_get_property(). Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
This will clarify the code. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Masahiro Yamada authored
Fix sparse warnings "... was not declared. Should it be static?" Also, fix redefinition of dm_warn/dm_dbg. Signed-off-by:
Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Tom Rini authored
While the previous pass through fixed one place where we knew that fdt_getprop would be given a positive len, in the case of 'fdt set' we do not, so check that we did no get NULL from fdt_getprop(). Cc: Simon Glass <sjg@chromium.org> Reported-by: Coverity (CID: 163249) Fixes 72c98ed1 ("fdt: Add a check to do_fdt() for coverity") Signed-off-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Many tegra boards have the console UART node disabled. With livetree this prevents serial from working since it does not 'force' the console to be bound. Updates the affected boards to fix this error. The boards were checked with: for b in $(grep tegra boards.cfg |grep -v integrator | \ awk '{print $7}' | sort); do echo $b; fdtgrep -c nvidia,tegra20-uart b/$b/u-boot.dtb |grep okay; done Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
This error condition should have a debug() message. Add it. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
Add support for a live device tree to the core serial uclass. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
This function is quite long. Move the core code into a separate function in preparation for adding livetree support. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
Update this driver to support a live device tree. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
Update these two files so include files in the right order. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
Add some debugging to show when the backlight is enabled. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Anatolij Gustschin <agust@denx.de> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
Update this driver to support a live device tree. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Anatolij Gustschin <agust@denx.de> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
We should sync the display (e.g. flush cache) when backspace is pressed to ensure that the character is erased correctly. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Anatolij Gustschin <agust@denx.de> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
Enable full bootstage support so we can time SPL and U-Boot. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
The error handling code does not current detect an error right away. Adjust it to return immediately. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
Enable this to allow debugging when the serial UART driver is misconfigured. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1
-
Simon Glass authored
Calculate the time taken to set up the LCD. Signed-off-by:
Simon Glass <sjg@chromium.org> Tested-by:
Marcel Ziswiler <marcel.ziswiler@toradex.com> Tested-on: Beaver, Jetson-TK1