summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* x86: doc: Remove stale sections of 64-bit supportBin Meng2018-10-221-17/+0
| | | | | | | | There are some sections in current doc saying 64-bit is unsupported. This apparently is out of date. Remove it. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* x86: doc: Mention qemu-x86_64 supportBin Meng2018-10-221-2/+17
| | | | | | | | | Currently only 32-bit U-Boot for QEMU x86 is documented. Mention the 64-bit support. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: Ensure no instruction sets of MMX/SSE are generated in 64-bit buildBin Meng2018-10-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | With the '-march=core2' fix, it seems that we have some luck that the 64-bit U-Boot boots again. However if we examine the disassembly codes there are still SSE instructions elsewhere which means passing cpu type to GCC is not enough to prevent it from generating these instructions. A simple test case is doing a 'bootefi selftest' from the U-Boot shell and it leads to a reset too. The 'bootefi selftest' reset is even seen with the image created by the relative older GCC 5.4.0, the one shipped by Ubuntu 16.04. The reset actually originates from undefined instruction exception caused by these SSE instructions. To keep U-Boot as a bootloader as simple as possible, we don't want to handle such advanced SIMD stuff. To make sure no MMX/SSE instruction sets are generated, tell GCC not to do this. Note AVX is out of the question as CORE2 is old enough to support AVX yet. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86: Specify -march=core2 to build 64-bit U-Boot properBin Meng2018-10-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With newer kernel.org GCC (7.3.0 or 8.1.0), the u-boot.rom image built for qemu-x86_64 target does not boot. It keeps resetting soon after the 32-bit SPL jumps to 64-bit proper. Debugging shows that the reset happens inside env_callback_init(). 000000000113dd85 <env_callback_init>: 113dd85: 41 54 push %r12 113dd87: 55 push %rbp 113dd88: 31 c0 xor %eax,%eax 113dd8a: 53 push %rbx 113dd8b: 0f 57 c0 xorps %xmm0,%xmm0 Executing "xorps %xmm0,%xmm0" causes CPU to immediately reset. However older GCC like 5.4.0 (the one shipped by Ubuntu 16.04) does not generate such instructions that utilizes SSE for this function - env_callback_init() and U-Boot boots without any issue. Explicitly specifying -march=core2 for newer GCC allows U-Boot proper to boot again. Examine assembly codes of env_callback_init and there is no SSE instruction in that function hence U-Boot continues to boot. core2 seems to be the oldest arch in GCC that supports 64-bit. Like 32-bit U-Boot build we use -march=i386 which is the most conservative cpu type so that the image can run on any x86 processor, let's do the same for the 64-bit U-Boot build. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
* x86/bootm: fix error handling in boot_prep_linux(...)Hannes Schmelzer2018-10-221-0/+4
| | | | | | | | Once we get a zero pointer from load_zimage(...) we must bunch out instead of continue boot. Signed-off-by: Hannes Schmelzer <hannes.schmelzer@br-automation.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* Enable CONFIG_TIMER_EARLY with bootstageSimon Glass2018-10-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In initr_bootstage() we call bootstage_mark_name() which ends up calling timer_get_us(). This call happens before initr_dm(), which inits driver model. On x86 we set gd->timer to NULL in the transition from board_init_f() to board_init_r(). See board_init_f_r() for this assignment. So U-Boot knows there is no timer available in the period immediately after relocation. On x86 the timer_get_us() call is implemented as calls to get_ticks() and get_tbclk(). Both of these call dm_timer_init() to set up the timer, if gd->timer is NULL and the early timer is not available. However dm_timer_init() cannot succeed before initr_dm() is called. So it seems that on x86 if we want to use CONFIG_BOOTSTAGE we must enable CONFIG_TIMER_EARLY. Update the Kconfig to handle this. Note: On most architectures we can rely on the pre-relocation memory still being available, so that gd->timer pointers to a valid timer device and everything works correctly. Admittedly this is not strictly correct since the timer device is set up by pre-relocation U-Boot, but normally this is fine. On x86 the 'CAR' (cache-as-RAM) memory used by pre-relocation U-Boot disappears in board_init_f_r() and any attempt to access it will hang. This is the reason why we must mark the timer as invalid when we get to board_init_f_r(). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* binman: Add support for Intel reference codeSimon Glass2018-10-221-0/+27
| | | | | | | | | Some platforms use this instead of FSP to set up the platform, including memory. Add support for this in binman. This is needed for chromebook_samus, for example. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* chromebook_samus: Increase pre-relocation memorySimon Glass2018-10-221-1/+1
| | | | | | | | With bootstage now allocating pre-relocation memory the current amount available is insufficient. Increase it a little. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* test: Add test for PCI device without compat string and with DT nodeMarek Vasut2018-10-201-0/+5
| | | | | | | | | | | | | | Add test which checks if a PCI device described in DT with an entry and reg = <...> property, but without compatible string results in a valid U-Boot PCI udevice with the udevice.node populated with reference to this DT node. Also check if the other PCI device without a DT node does not contain any bogus udevice.node. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* test: Add PCI device entry without compat string and with DT nodeMarek Vasut2018-10-201-1/+5
| | | | | | | | | | | | Add PCI entry without compatible string and with a DT node only with reg = <...> property into the DT. This is needed for the tests to verify whether such a setup creates an U-Boot PCI device with the DT node associated with it in udevice.node. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* pci: Update documentation to make 'compatible' string optionalMarek Vasut2018-10-201-5/+9
| | | | | | | | | | | Reword the documentation to make it clear the compatible string is now optional, yet still matching on it takes precedence over PCI IDs and PCI classes. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* pci: Support parsing PCI controller DT subnodesMarek Vasut2018-10-201-3/+29
| | | | | | | | | | | | | The PCI controller can have DT subnodes describing extra properties of particular PCI devices, ie. a PHY attached to an EHCI controller on a PCI bus. This patch parses those DT subnodes and assigns a node to the PCI device instance, so that the driver can extract details from that node and ie. configure the PHY using the PHY subsystem. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
* common: command: fix typoHeinrich Schuchardt2018-10-191-1/+1
| | | | | | %s/CMD_RET_SUCCESX/CMD_RET_SUCCESS/g Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
* Convert CONFIG_FLASH_CFI_DRIVER et al to KconfigAdam Ford2018-10-19624-732/+1684
| | | | | | | | | | | | | This converts the following to Kconfig: CONFIG_FLASH_CFI_DRIVER CONFIG_SYS_FLASH_USE_BUFFER_WRITE CONFIG_FLASH_CFI_MTD CONFIG_SYS_FLASH_PROTECTION CONFIG_SYS_FLASH_CFI Signed-off-by: Adam Ford <aford173@gmail.com> [trini: Re-migrate] Signed-off-by: Tom Rini <trini@konsulko.com>
* travis: Add sandbox/clang-7 supportTom Rini2018-10-191-7/+20
| | | | | | | | | | | | | | To make testing with clang support easier, add sandbox/clang-7 combination to our testing matrix. To facilitate this, switch to using the "sources" method that the travis.yml file supports to list additional repositories and add the official one for llvm-7. Due to buildman not supporting using clang at this time add logic to manually build a single sandbox configuration in the expected output directory so that we can still invoke all of our tests. Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* bootcount: Make bootcount magic configurableMarek Vasut2018-10-196-13/+19
| | | | | | | | | Add new Kconfig option, SYS_BOOTCOUNT_MAGIC, to select the boot counter magic word. This can be useful ie. in case the entire boot counter register is not usable. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Tom Rini <trini@konsulko.com>
* travis: Switch to i386 version toolchain for x86Bin Meng2018-10-191-8/+8
| | | | | | | | | Currently this uses x86_64 version toolchain for x86 build in travis-ci. Change it to i386 version to avoid updating the buildman toolchain path every time when the toolchain version number is changed, eg: from 7.3.0 to 8.1.0. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
* travis: Remove or32 toolchain infoBin Meng2018-10-191-1/+0
| | | | | | or32 is not supported by U-Boot anymore. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
* ARM: mach-omap2: Kconfig: Make SYS_MPUCLK dependent on AM33XXAdam Ford2018-10-191-0/+1
| | | | | | | | | | | | This value is unly used in arch/arm/mach-omap2/am33xx/ clock_am33xx.c, so let's make it dependent on AM33XX since that is the only way this file gets compiled into the code according to the Makefile. Signed-off-by: Adam Ford <aford173@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com> [trini: Fix symbol name] Signed-off-by: Tom Rini <trini@konsulko.com>
* arm: lpc32xx: remove phantom CONFIG_LPC32XX_SDRAM_ config optionVladimir Zapolskiy2018-10-192-4/+0
| | | | | | | The option has never existed and config whitelist script accumulates it from a comment block, wipe it out from the source code. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
* work_92105: remove unused CONFIG_SPL_NAND_BOOT configuration optionVladimir Zapolskiy2018-10-191-1/+0
| | | | | | | The option is unused, SPL image gets a wanted boot device by standard spl_boot_device() call. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
* work_92105: remove unused CONFIG_LPC32XX_SPL configuration optionVladimir Zapolskiy2018-10-192-4/+0
| | | | | | | The CONFIG_LPC32XX_SPL option from board include file has never been used, it is safe to remove it. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
* Makefile: add LPC32xx precondition for building platform imagesVladimir Zapolskiy2018-10-191-0/+2
| | | | | | | | | | To prevent accidental build failures the change converts a number of NXP LPC32xx specific image targets to be conditionally dependent on target build configuration. The wrapped image targets always contain a U-Boot SPL binary and the images are supposed to be directly flashed on a NAND flash device for read access by LPC32xx NAND MLC controller. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
* arm: lpc32xx: add CONFIG_ARCH_LPC32XX build optionVladimir Zapolskiy2018-10-196-30/+37
| | | | | | | | | | The explicit arch specific build symbol allows to group supported boards, generalize common config options and it will serve as a dependency for platform only drivers. Two related board defconfigs are resynced after the change. Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
* Merge branch 'master' of git://git.denx.de/u-boot-shTom Rini2018-10-1920-170/+106
|\
| * ARM: rmobile: Drop PRR syscon driverMarek Vasut2018-10-181-53/+8
| | | | | | | | | | | | | | | | The PRR syscon driver is available too late for Multi DTB build of U-Boot. Replace it with simple check whether a platform is Gen3 or not and produce an address of the PRR. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
| * ARM: dts: rmobile: Build -u-boot variants of DTsMarek Vasut2018-10-181-8/+8
| | | | | | | | | | | | | | | | Build the -u-boot variants of the device trees so they can be included in Multi-DTB fitImage, which in turn allows us to build single U-Boot image for multiple boards. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
| * ARM: dts: rmobile: r8a77990: Add USB2.0(EHCI) DT nodes on EbisuHiroyuki Yokoyama2018-10-183-0/+74
| | | | | | | | | | | | Add device tree nodes for USB2.0(EHCI) on R-Car E3 Ebisu board. Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
| * ARM: rmobile: Fix module clock controls refer status on Gen3Hiroyuki Yokoyama2018-10-183-6/+6
| | | | | | | | | | | | | | | | | | When referring to the MSTPSR register, it contains the clock status of SYS, RT, SECURE, and controlling SMSTPCR using this value has the problem of being affected by the RT and SECURE status.This patch changes the reference register to SMSTPCR. Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
| * ARM: rmobile: Enable cache command on Gen3Hiroyuki Yokoyama2018-10-183-1/+2
| | | | | | | | | | | | | | This patch enables the cache command, mostly for convenience of testing. Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com> Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
| * ARM: rmobile: Tidy up SYSC_PWRx define of 3DG on Gen3Hiroyuki Yokoyama2018-10-183-18/+0
| | | | | | | | | | | | Tidy up unused definition related to power control of 3DG. Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
| * ARM: rmobile: salvator-x: Remove GSX clock force supplyHiroyuki Yokoyama2018-10-181-12/+0
| | | | | | | | | | | | | | GSX clock force supply code is unnecessary at U-Boot, because GSX clock control is supported at the kernel driver. Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
| * ARM: rmobile: Remove Watchdog and CPG settings on Gen3Hiroyuki Yokoyama2018-10-183-39/+0
| | | | | | | | | | | | | | This code is unnecessary, because these registers are set by the initial program loader (IPL). Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
| * ARM: rmobile: Remove TMU0/TMU1 settings on Gen3Hiroyuki Yokoyama2018-10-185-25/+0
| | | | | | | | | | | | U-Boot uses ARM generic timer, TMU0 and TMU1 are not used, remove them. Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
| * ARM: rmobile: Remove console parameter from bootargs on Gen3Hiroyuki Yokoyama2018-10-188-8/+8
| | | | | | | | | | | | | | This patch removes 'console=' argument, because kernel uses stdout-path as parameter. Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
| * ARM: rmobile: Fix CPGWPR Address define and Settings on Gen3Hiroyuki Yokoyama2018-10-183-6/+6
|/ | | | | | This patch fixes the write-protect control of CPG. Signed-off-by: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
* Merge tag 'signed-efi-2018.11' of git://github.com/agraf/u-bootTom Rini2018-10-1715-50/+112
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch queue for efi - 2018-10-17 A few bug fixes for the 2018.11 release: - Fix block seeking on 32bit - Fix execution with DEBUG set - Fix a few Coverity found bugs - Fix warnings Heinrich Schuchardt (13): efi_loader: fix relocation on x86_64 efi_loader: correct signature of GetPosition, SetPosition efi_loader: execute efi_save_gd() first efi_loader: efi_allocate_pool(EFI_ALLOCATE_ANY_PAGES, ...) efi_loader: error handling in read_console() efi_loader: return type efi_console_register() efi_loader: superfluous statement in is_dir() efi_loader: memory leak in efi_set_variable() efi_loader: remove lcd.h from efi_net.c arm: do not include efi_loader.h twice efi_loader: fix typo in efi_boottime.c efi_selftest: creating new handle in controller test efi_loader: efi_dp_get_next_instance() superfluous statement Tom Rini (2): efi_loader: Fix warning in efi_load_image() fs: fat: Fix warning in normalize_longname()
| * efi_loader: efi_dp_get_next_instance() superfluous statementHeinrich Schuchardt2018-10-161-1/+0
| | | | | | | | | | | | | | Remove a superfluous statement in efi_dp_get_next_instance(). Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_selftest: creating new handle in controller testHeinrich Schuchardt2018-10-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | When the last protocol interface is uninstalled the handle is deleted but this does not set the value of the handle to NULL. To create a new handle with OpenProtocolInterface the value of the handle must be NULL. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: fix typo in efi_boottime.cHeinrich Schuchardt2018-10-161-1/+1
| | | | | | | | | | | | | | %s/conncected/connected/ Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * fs: fat: Fix warning in normalize_longname()Tom Rini2018-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As observed with clang: fs/fat/fat_write.c:1024:13: warning: comparison of constant 128 with expression of type 'char' is always false [-Wtautological-constant-out-of-range-compare] if ((0x80 <= c) && (c <= 0xff)) ~~~~ ^ ~ fs/fat/fat_write.c:1024:25: warning: comparison of constant 255 with expression of type 'char' is always true [-Wtautological-constant-out-of-range-compare] if ((0x80 <= c) && (c <= 0xff)) ~ ^ ~~~~ Fixes: 25bb9dab14f4 ("fs: fat: check and normalize file name") Signed-off-by: Tom Rini <trini@konsulko.com> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: Fix warning in efi_load_image()Tom Rini2018-10-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As observed with clang: lib/efi_loader/efi_boottime.c:1624:7: warning: variable 'info' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (ret != EFI_SUCCESS) ^~~~~~~~~~~~~~~~~~ lib/efi_loader/efi_boottime.c:1653:7: note: uninitialized use occurs here free(info); ^~~~ lib/efi_loader/efi_boottime.c:1624:3: note: remove the 'if' if its condition is always false if (ret != EFI_SUCCESS) ^~~~~~~~~~~~~~~~~~~~~~~ lib/efi_loader/efi_boottime.c:1602:31: note: initialize the variable 'info' to silence this warning struct efi_loaded_image *info; ^ = NULL Rather than change how we unwind the function it makes the most sense to initialize info to NULL so that we can continue to pass it to free(). Fixes: c982874e930d ("efi_loader: refactor efi_setup_loaded_image()") Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * arm: do not include efi_loader.h twiceHeinrich Schuchardt2018-10-161-1/+0
| | | | | | | | | | | | | | | | We should not include the same include twice. Fixes: 99b8db7291ce ("arm: print information about loaded UEFI images") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: remove lcd.h from efi_net.cHeinrich Schuchardt2018-10-161-1/+0
| | | | | | | | | | | | | | Remove superfluous include. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: memory leak in efi_set_variable()Heinrich Schuchardt2018-10-161-2/+4
| | | | | | | | | | | | | | | | | | | | Do not leak native_name if out of memory. This addresses CoverityScan CID 184095. Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: superfluous statement in is_dir()Heinrich Schuchardt2018-10-161-1/+8
| | | | | | | | | | | | | | | | | | | | | | When is_dir() is called we have already execute set_blk_dev(fh). So don't call it again. This fixes CoverityScan CID 184093. Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: return type efi_console_register()Heinrich Schuchardt2018-10-162-2/+4
| | | | | | | | | | | | | | | | | | | | Use a return type that can encompass the return value. This fixes CoverityScan CID 184090. Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: error handling in read_console()Heinrich Schuchardt2018-10-161-3/+8
| | | | | | | | | | | | | | | | | | | | | | getc() might return an error code. Avoid an incorrect converison to Unicode. This addresses CoverityScan CID 184087. Reported-by: Tom Rini <trini@konsulko.com> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: efi_allocate_pool(EFI_ALLOCATE_ANY_PAGES, ...)Heinrich Schuchardt2018-10-161-3/+3
| | | | | | | | | | | | | | | | The first parameter of efi_allocate_pool is a memory type. It cannot be EFI_ALLOCATE_ANY_PAGES. Use EFI_BOOT_SERVICES_DATA instead. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>
| * efi_loader: execute efi_save_gd() firstHeinrich Schuchardt2018-10-161-17/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If DEBUG is defined we may be calling EFI_CALL already during the initialization of the EFI subsystem. We must make sure efi_save_gd() has already been called at that moment. Anyway it is better to have this call in one location instead of three. This fixes an illegal memory access occurring since 4e6b5d6503ce ("efi_loader: create root node") with DEBUG = 1. Fixes: 4e6b5d6503ce ("efi_loader: create root node") Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> Signed-off-by: Alexander Graf <agraf@suse.de>