Mans Rullgard [Mon, 7 May 2018 10:10:47 +0000 (11:10 +0100)]
ARM: orion5x: fix use of callee-saved registers in lowloevel_init
The lowlevel_init function uses r4 and r6 without preserving their
values as required by the AAPCS. Use r0 and r2 instead as these
are call-clobbered.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Reviewed-by: Chris Packham <judge.packham@gmail.com>
Tom Rini [Wed, 6 Jun 2018 13:08:16 +0000 (09:08 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-samsung
Tom Rini [Wed, 6 Jun 2018 11:16:43 +0000 (07:16 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-spi
Patrice Chotard [Thu, 31 May 2018 07:00:43 +0000 (09:00 +0200)]
mach-stm32: Enable SPL_RESET_SUPPORT flag
Since commit
0e373c0ade8c ("spl: add SPL_RESET_SUPPORT"),
reset is supported in SPL, enable this flag for STM32F SoCs family.
This allows to remove a specific case in RCC mfd driver.
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Chris Packham [Mon, 28 May 2018 11:39:58 +0000 (23:39 +1200)]
drivers/rtc: convert mvrtc to DM
Add DM support for the Marvell RTC driver.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Chris Packham [Mon, 28 May 2018 11:39:57 +0000 (23:39 +1200)]
drivers/rtc: prepare mvrtc for DM conversion
Split the rtc_{get,set,reset} functions so that the bodies can be used
in a DM driver.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Alexey Brodkin [Fri, 25 May 2018 13:08:14 +0000 (16:08 +0300)]
board_f: Only reserve memory for U-Boot if we're going to relocate
In case of no relocation we'll just waste some space at the very end
of usable memory area. If target device has very limited amount of memory
(for example 256 kB) this loss will be pretty inconvenient.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Heiko Schocher <hs@denx.de>
Cc: York Sun <york.sun@nxp.com>
Cc: Stefan Roese <sr@denx.de>
Riku Voipio [Thu, 24 May 2018 14:15:26 +0000 (17:15 +0300)]
board: STiH410-B2260: Add pxefile_addr_r variable
Reading doc/README.distro , we see platform needs to set
pxefile_addr_r to support distro boot.
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Masahiro Yamada [Thu, 24 May 2018 08:04:57 +0000 (17:04 +0900)]
menu: fix timeout duration
For distro-boot, the TIMEOUT directive in the boot script specifies
how long to pause in units of 1/10 sec. [1]
Commit
8594753ba0a7 ("menu: only timeout when menu is displayed")
corrected this by simply dividing the timeout value by 10 in
menu_interactive_choice().
I see two problems:
- For example, "TIMEOUT 5" should wait for 0.5 sec, but the current
implementation cannot handle the granularity of 1/10 sec.
In fact, it never breaks because "m->timeout / 10" is zero,
which means no timeout.
- The menu API is used not only by cmd/pxe.c but also by
common/autoboot.c . For the latter case, the unit of the
timeout value is _second_ because its default is associated
with CONFIG_BOOTDELAY.
To fix the first issue, use DIV_ROUND_UP() so that the timeout value
is rounded up to the closest integer.
For the second issue, move the division to the boundary between
cmd/pxe.c and common/menu.c . This is a more desirable place because
the comment of struct pxe_menu says:
* timeout - time in tenths of a second to wait for a user key-press before
* booting the default label.
Then, the comment of menu_create() says:
* timeout - A delay in seconds to wait for user input. If 0, timeout is
* disabled, and the default choice will be returned unless prompt is 1.
[1] https://www.syslinux.org/wiki/index.php?title=SYSLINUX#TIMEOUT_timeout
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Sam Protsenko [Mon, 21 May 2018 23:04:21 +0000 (02:04 +0300)]
disk: efi: Correct backing up the MBR boot code
In commit
e163a931af34 ("cmd: gpt: backup boot code before writing MBR")
there was added the procedure for storing old boot code when doing "gpt
write". But instead of storing just backup code, the whole MBR was
stored, and only specific fields were replaced further, keeping
everything else intact. That's obviously not what we want.
Fix the code to actually store only old boot code and zero out
everything else. This fixes next testing case:
=> mmc write $loadaddr 0x0 0x7b
=> gpt write mmc 1 $partitions
In case when $loadaddr address and further memory contains 0xff, the
board was bricked (ROM-code probably didn't like partition entries that
were clobbered with 0xff). With this patch applied, commands above don't
brick the board.
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Cc: Alejandro Hernandez <ajhernandez@ti.com>
Tested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
David Lechner [Sun, 20 May 2018 04:25:07 +0000 (23:25 -0500)]
ARM: legoev3: update boot script to load uEnv.txt and .dtb
This updates the LEGO MINDSTORMS EV3 boot script to try loading a
uEnv.txt file and a da850-lego-ev3.dtb device tree during boot.
Signed-off-by: David Lechner <david@lechnology.com>
David Lechner [Sun, 20 May 2018 04:25:06 +0000 (23:25 -0500)]
ARM: legoev3: remove unused configuration options
This removes the unused clock and RAM config options that were cargo-
culted when this board was copied from the DA850 EVM.
Signed-off-by: David Lechner <david@lechnology.com>
David Lechner [Sun, 20 May 2018 04:25:05 +0000 (23:25 -0500)]
ARM: legoev3: disable networking
This disables networking related items in the config. The EV3 does not have
any networking hardware, so this is wasted space.
Signed-off-by: David Lechner <david@lechnology.com>
David Lechner [Sun, 20 May 2018 04:25:04 +0000 (23:25 -0500)]
ARM: legoev3: Move UART enable to early init
This moves the UART init for LEGO MINDSTORMS EV3 to board_early_init_f().
Some console messages were not being printed because the UART was not
enabled until later in the init process.
Signed-off-by: David Lechner <david@lechnology.com>
David Lechner [Sun, 20 May 2018 04:25:03 +0000 (23:25 -0500)]
ARM: legoev3: increase flash image sizes
This increases the kernel image to 4M and the rootfs image to 10M.
It is getting hard to get a kernel image to fit in 3M.
Signed-off-by: David Lechner <david@lechnology.com>
Tom Rini [Tue, 5 Jun 2018 11:13:42 +0000 (07:13 -0400)]
Merge git://git.denx.de/u-boot-marvell
Chris Packham [Mon, 4 Jun 2018 07:51:50 +0000 (19:51 +1200)]
ARM: kirkwood: Enforce size limit for guruplug
The u-boot binary sits in flash immediately before the environment.
Don't allow the binary size to grow into the environment space.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
Chris Packham [Mon, 4 Jun 2018 07:51:49 +0000 (19:51 +1200)]
ARM: kirkwood: Enforce size limit for sheevaplug
The u-boot binary sits in flash immediately before the environment.
Don't allow the binary size to grow into the environment space.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
Vagrant Cascadian [Sun, 3 Jun 2018 19:38:37 +0000 (12:38 -0700)]
Enable thumb build to reduce build size of u-boot.kwb.
Without this, u-boot.kwb overlaps where the u-boot environment is
stored, and updating the environment can break u-boot and vice versa.
https://bugs.debian.org/897671
https://lists.denx.de/pipermail/u-boot/2018-May/327497.html
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Signed-off-by: Stefan Roese <sr@denx.de>
Chris Packham [Sun, 3 Jun 2018 04:21:27 +0000 (16:21 +1200)]
ARM: kirkwood: SBx81LIFKW: Enable network hardware
The SBx81LIFKW boards connect to the internal chassis management network
via a Marvell 88e6097 L2 switch. The chassis connections are direct
serdes on ports 8 and 9 with a RGMII interface on port 10 connected to
the CPU MAC.
For debugging purposes ports 0 and 1 are also taken out to headers on
the board. Because the debug interfaces are sometimes connected to with
straight ribbon cables we need to run them at 10Mbps.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
Chris Packham [Wed, 30 May 2018 08:14:35 +0000 (20:14 +1200)]
ARM: add SBx81LIFKW board
This is a series of line cards for Allied Telesis's SBx8100 chassis
switch. The CPU block is common to the SBx81GS24a, SBx81XS6, SBx81XS16
and SBx81GT40 cards collectively referred to as SBx81LIFKW in u-boot.
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
Chris Packham [Wed, 30 May 2018 08:14:34 +0000 (20:14 +1200)]
ARM: kirkwood: remove automatic I2C config if DM_I2C is enabled
The mach/config.h file would helpfully define CONFIG_SYS_I2C and
CONFIG_SYS_I2C_MVTWSI if CONFIG_CMD_I2C was defined by the board. This
conflicts with the way DM_I2C works. As a transitional measure don't
automatically define these if CONFIG_DM_I2C is defined. It should be
possible to remove this once all kirkwood boards are migrated to DM.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
Michael Walle [Tue, 29 May 2018 21:13:20 +0000 (23:13 +0200)]
arm: kirkwood: lsxl: Add SPI driver model support
This patch shows how to enable driver model support for the LS-CHLv2 and
LS-XHL boards.
There are a couple of open questions:
- do I need the u-boot,dm-pre-reloc tags in the device tree?
- should mach/config.h define CONFIG_DM_SEQ_ALIAS?
- how can we split this patch or are there any other pending patches
which does the same and I didn't catch these.
This patch is based on the http://git.denx.de/u-boot-marvell.git (master
branch) and needs the following patches, which are still pending:
https://patchwork.ozlabs.org/patch/909618/
https://patchwork.ozlabs.org/patch/909617/
https://patchwork.ozlabs.org/patch/909973/
Signed-off-by: Michael Walle <michael@walle.cc>
Tested-by: Michael Walle <michael@walle.cc>
Signed-off-by: Stefan Roese <sr@denx.de>
Michael Walle [Tue, 29 May 2018 21:13:19 +0000 (23:13 +0200)]
enable CONFIG_DISTRO_DEFAULTS for LS-CHLv2 board
Synchronize it with the LS-XHL board.
Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
Jon Nettleton [Mon, 28 May 2018 16:10:30 +0000 (19:10 +0300)]
arm: mvebu: switch clearfog to use device-tree i2c and gpio
This switches the clearfog boards to use DM based gpio and i2c
drivers. The io expanders are configured via their device-tree
entries.
Signed-off-by: Jon Nettleton <jon@solid-run.com>
[baruch: add DT i2c aliases]
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Chris Packham <judge.packham@gmail.com>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
Jon Nettleton [Mon, 28 May 2018 10:35:15 +0000 (13:35 +0300)]
arm: mvebu: enable sata support for clearfog
The a38x sata interfaces run in ahci mode and can
be accessed via the scsi command.
Signed-off-by: Jon Nettleton <jon@solid-run.com>
[baruch: rebase on current upstream]
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Stefan Roese <sr@denx.de>
Signed-off-by: Stefan Roese <sr@denx.de>
Rabeeh Khoury [Sun, 27 May 2018 15:34:08 +0000 (18:34 +0300)]
mvebu: a38x: Force receiver detected on PCIe lanes
Some QCA988x based modules presence is not detected by the SERDES lanes,
so force this detection which will trigger the LTSSM state machine to
negotiate link.
An example of such a card is WLE900VX.
Signed-off-by: Rabeeh Khoury <rabeeh@solid-run.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Tested-by: Chris Packham <judge.packham@gmail.com>
Tested-by: Mario Six <mario.six@gdsys.cc>
Signed-off-by: Stefan Roese <sr@denx.de>
Tom Rini [Mon, 4 Jun 2018 22:08:45 +0000 (18:08 -0400)]
Prepare v2018.07-rc1
Signed-off-by: Tom Rini <trini@konsulko.com>
Carlo Caione [Sat, 2 Jun 2018 13:06:17 +0000 (14:06 +0100)]
sf: Add support for gd25q32b gigadevice flash
This flash IC is used in some chromebook models
manufactured by Bitland.
Signed-off-by: Carlo Caione <carlo@endlessm.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Marek Vasut [Thu, 24 May 2018 19:58:40 +0000 (21:58 +0200)]
sf: Set current flash bank to 0 in clean_bar()
The clean_bar() function resets the SPI NOR BAR register to 0, but
does not set the flash->curr_bar to 0 , therefore those two can get
out of sync, which could ultimatelly result in corrupted flash content.
The simplest test case is this:
=> mw 0x10000000 0x1234abcd 0x4000
=> sf probe
=> sf erase 0x1000000 0x10000
=> sf write 0x10000000 0x1000000 0x10000
=> sf probe ; sf read 0x12000000 0 0x10000 ; md 0x12000000
That is, erase a sector above the 16 MiB boundary and write it with
random pre-configured data. What will actually happen without this
patch is the sector will be erased, but the data will be written to
BAR 0 offset 0x0 in the flash.
This is because the erase command will call write_bar()+clean_bar(),
which will leave flash->bank_curr = 1 while the hardware BAR registers
will be set to 0 through clean_bar(). The subsequent write will also
trigger write_bar()+clean_bar(), but write_bar checks if the target
bank == flash->bank_curr and if so, does NOT reconfigure the BAR in
the SPI NOR. Since flash->bank_curr is still 1 and out of sync with
the HW, the condition matches, BAR programming is skipped and write
ends up at address 0x0, thus corrupting flash content.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Tom Rini <trini@konsulko.com>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Ley Foon Tan [Mon, 7 May 2018 09:42:55 +0000 (17:42 +0800)]
spi: cadence_qspi: Change to use devfdt_get_addr_index()
Change to use devfdt_get_addr_index() function to get fdt address.
Original code has compilation warning below:
drivers/spi/cadence_qspi.c: In function ‘cadence_spi_ofdata_to_platdata’:
drivers/spi/cadence_qspi.c:297:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
plat->regbase = (void *)data[0];
^
drivers/spi/cadence_qspi.c:298:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
plat->ahbbase = (void *)data[2];
^
Signed-off-by: Ley Foon Tan <ley.foon.tan@intel.com>
Acked-by: Marek Vasut <marex@denx.de>
Reviewed-by: Jagan Teki <jagan@openedev.com>
Tom Rini [Mon, 4 Jun 2018 15:57:37 +0000 (11:57 -0400)]
configs: Resync with savedefconfig
Rsync all defconfig files using moveconfig.py
Signed-off-by: Tom Rini <trini@konsulko.com>
Ramon Fried [Thu, 31 May 2018 18:24:05 +0000 (21:24 +0300)]
MAINTAINERS: Take over DB410c maintainership
Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Ramon Fried [Thu, 31 May 2018 16:17:00 +0000 (19:17 +0300)]
db410c: Added pre-relocation attribute to pinctrl
u-boot,dm-pre-reloc was missing from pinctrl and it's
children node. causing failure to configure pin mux
before relocation.
Signed-off-by: Ramon Fried <ramon.fried@gmail.com>
Heinrich Schuchardt [Sun, 3 Jun 2018 16:59:13 +0000 (18:59 +0200)]
scripts: mailmapper: SPDX license identifier
If the SPDX license identifier is in the first line the shell does not
recognize which interpreter shall be used to execute the script.
Cf. https://www.kernel.org/doc/html/v4.16/process/license-rules.html
for scripts which require the '#!PATH_TO_INTERPRETER' in the first line
(...) the SPDX identifier goes into the second line.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Vagrant Cascadian [Sun, 3 Jun 2018 18:56:05 +0000 (11:56 -0700)]
Inherit default value for bootdelay from distro_bootcmd on odroid-xu3.
The default value with distro_bootcmd is 2 seconds, which is
reasonably fast, and provides a consistent experience across platforms
supporting distro_bootcmd.
The current bootdelay value of 0 seconds is a bit challenging to
interrupt when desired.
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Acked-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Acked-by: Marek Vasut <marex@denx.de>
Vagrant Cascadian [Sun, 3 Jun 2018 19:26:57 +0000 (12:26 -0700)]
Set time and umask on multi-dtb fit images to ensure reproducibile builds.
When building compressed (lzop, gzip) multi-dtb fit images, the
compression tool may embed the time or umask in the image.
Work around this by manually setting the time of the source file using
SOURCE_DATE_EPOCH and a hard-coded 0600 umask.
With gzip, this could be accomplished by using -n/--no-name, but lzop
has no current workaround:
https://bugs.debian.org/896520
Signed-off-by: Vagrant Cascadian <vagrant@debian.org>
Michal Simek [Mon, 4 Jun 2018 06:33:30 +0000 (08:33 +0200)]
xilinx: Sync symbols location in defconfigs
CONFIG_DEBUG_UART_BASE and CONFIG_DEBUG_UART_CLOCK have changed that's
why this sync.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Tom Rini [Mon, 4 Jun 2018 12:55:00 +0000 (08:55 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sunxi
Jagan Teki [Mon, 28 May 2018 11:04:43 +0000 (16:34 +0530)]
board: sun50i: Add Amarula A64-Relic initial support
Amarula A64-Relic is A64 based IoT device, which support
- Allwinner A64 Cortex-A53
- Mali-400MP2 GPU
- AXP803 PMIC
- 1GB DDR3 RAM
- 8GB eMMC
- AP6330 Wifi/BLE
- MIPI-DSI
- CSI: OV5640 sensor
- USB OTG
- 12V DC power supply
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Tom Rini [Sun, 3 Jun 2018 20:10:22 +0000 (16:10 -0400)]
SPDX: Fixup tags from latest EFI PR
Signed-off-by: Tom Rini <trini@konsulko.com>
Tom Rini [Sun, 3 Jun 2018 16:27:56 +0000 (12:27 -0400)]
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
Patch queue for efi - 2018-06-03
A number of fixes and feature completeness work this time around:
- Fix sunxi GOP reservation
- Fix cursor position
- Fix efi_get_variable
- Allow more selftest parts to build on x86_64
- Allow unaligned memory access on armv7
- Implement ReinstallProtocolInterface
- More sandbox preparation
Tom Rini [Sun, 3 Jun 2018 16:27:42 +0000 (12:27 -0400)]
Merge tag 'signed-rpi-next' of git://github.com/agraf/u-boot
Patch queue for rpi - 2018-06-03
This pull request only includes a single patch that was left
out in the last one: A fix to have the fdt stay at its original
location in RAM during boot.
Alexander Graf [Sun, 3 Jun 2018 13:51:17 +0000 (15:51 +0200)]
efi_loader: Fix warning in raw/cols query
The code to determine rows / cols on the screen could potentially run
into a case where it doesn't know how big the screen is. In that case,
assume 80x25.
Signed-off-by: Alexander Graf <agraf@suse.de>
Tuomas Tynkkynen [Fri, 20 Apr 2018 10:03:48 +0000 (13:03 +0300)]
rpi: Fix fdt_high & initrd_high for 64-bit builds
The magic value that disables relocation is dependent on the CPU word
size, so the current '
ffffffff' is doing the wrong thing on aarch64.
Signed-off-by: Tuomas Tynkkynen <tuomas@tuxera.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Sun, 27 May 2018 14:47:21 +0000 (16:47 +0200)]
efi_loader: create handles from normal memory
Handles are not used at runtime. They are freed by the firmware when the
last protocol interface is uninstalled. So there is no reason to use EFI
memory when creating handles.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Sun, 27 May 2018 14:45:09 +0000 (16:45 +0200)]
efi_loader: efi_mem_carve_out should return s64
efi_mem_carve_out() is used to remove memory pages from a mapping.
As the number of pages to be removed is a 64bit type the return type
should be 64bit too.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Sat, 26 May 2018 08:32:27 +0000 (10:32 +0200)]
efi_loader: avoid anonymous constants for AllocatePages
Do not use anonymous constants when calling efi_allocage_pages.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Ivan Gorinov [Fri, 25 May 2018 17:45:09 +0000 (10:45 -0700)]
efi_selftest: check for buffer overflow in efi_get_variable
Allocate a buffer on the stack instead of an array of uninitialized
pointers; check if GetVariable writes past the end of the buffer.
Signed-off-by: Ivan Gorinov <ivan.gorinov@intel.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Thu, 24 May 2018 17:34:45 +0000 (19:34 +0200)]
Makefile: clean should delete *.so
Files *.so are generated files. So the clean target should delete them.
Reported-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Fri, 25 May 2018 10:30:39 +0000 (12:30 +0200)]
efi_selftest: imply FAT, FAT_WRITE
efi_selftest_block_device accesses a FAT file system.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Fri, 11 May 2018 16:15:41 +0000 (18:15 +0200)]
efi_loader: DocBook comments for boot services
With 'make htmldocs' we can generate a documentation if the function
comments follow the DocBook conventions.
This patch adjusts the comments for EFI boot services and provides the
DocBook template for the EFI subsystem.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Simon Glass [Wed, 16 May 2018 15:42:26 +0000 (09:42 -0600)]
Add a comment for board_quiesce_devices()
This exported function should have a comment describing what it does. Also
it should really be removed in favour of device_remove(), which handles
this sort of thing now. Add a comment with a TODO.
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Simon Glass [Wed, 16 May 2018 15:42:25 +0000 (09:42 -0600)]
Define board_quiesce_devices() in a shared location
This undocumented function relies on arch-specific code to declare a nop
weak version. Add the weak function in common code instead to avoid having
to duplicate the same function in each arch.
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Simon Glass [Wed, 16 May 2018 15:42:23 +0000 (09:42 -0600)]
efi: sandbox: Add required linker sections
The EFI loader code requires certain linker sections to exist. Add these
for sandbox so that the EFI loader code will link.
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Simon Glass [Wed, 16 May 2018 15:42:22 +0000 (09:42 -0600)]
sandbox: Add a setjmp() implementation
Add an implementation of setjmp() and longjmp() which rely on the
underlying host C library. Since we cannot know how large the jump buffer
needs to be, pick something that should be suitable and check it at
runtime. At present we need access to the underlying struct as well.
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Simon Glass [Wed, 16 May 2018 15:42:19 +0000 (09:42 -0600)]
efi: Update some comments related to smbios tables
Clarify the operation of this code with some additional comments.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Tue, 3 Apr 2018 19:59:34 +0000 (21:59 +0200)]
efi_selftest: test unaligned memory access
According to the UEFI spec unaligned memory access should be enabled on
CPUs supporting it.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Tue, 3 Apr 2018 19:59:33 +0000 (21:59 +0200)]
arm: armv7: allow unaligned memory access
The UEFI spec mandates that unaligned memory access should be enabled if
supported by the CPU architecture.
This patch implements the function unaligned_access() to reset the aligned
access flag in the system control register (SCTLR). It is called when the
bootefi command is invoked.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
[agraf: fix SPDX identifier]
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Tue, 3 Apr 2018 19:59:32 +0000 (21:59 +0200)]
efi_loader: allow unaligned memory access
The UEFI spec mandates that unaligned memory access should be enabled if
supported by the CPU architecture.
This patch adds an empty weak function unaligned_access() that can be
overridden by an architecture specific routine.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Fri, 11 May 2018 10:09:23 +0000 (12:09 +0200)]
efi_selftest: test ReinstallProtocolInterface
Add a test for ReinstallProtocolInterface to the controller selftest.
As ReinstallProtocolInterface has to connect controllers to the new
interface is does not fit to the manage protocols selftest.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Fri, 11 May 2018 10:09:22 +0000 (12:09 +0200)]
efi_loader: implement ReinstallProtocolInterface
The ReinstallProtocolInterface boot time service is implemented.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Fri, 11 May 2018 10:09:21 +0000 (12:09 +0200)]
efi_loader: check interface when uninstalling protocol
The interface has to be checked in UninstallProtocolInterface.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Fri, 11 May 2018 10:09:20 +0000 (12:09 +0200)]
efi_selftest: correct efi_selftest_manageprotocols
Pass the correct interface when uninstalling a protocol.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Emmanuel Vadot [Fri, 4 May 2018 08:26:55 +0000 (10:26 +0200)]
video: sunxi: de2: Reserve the fb region in the EFI memory map
If compile with support for the efi loader we need to mark the pages
allocated for the framebuffer as reserved so the kernel won't attempt
to use them for other uses.
Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
Acked-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Ivan Gorinov [Fri, 11 May 2018 20:18:25 +0000 (13:18 -0700)]
efi_loader: fix off-by-one bug in efi_get_variable
efi_get_variable() always stores an extra zero byte after the output data.
When the returned data size matches the output buffer size, the extra zero
byte is stored past the end of the output buffer.
Signed-off-by: Ivan Gorinov <ivan.gorinov@intel.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Sat, 12 May 2018 01:28:44 +0000 (03:28 +0200)]
README.uefi: update list of missing functionality
Update the list of missing functionality for boottime and runtime services.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Wed, 16 May 2018 16:17:38 +0000 (18:17 +0200)]
efi_loader: avoid using unitialized values as console size
If a request for the console size would be answered with a response
with less then three values, uninitialized stack memory would be
copied to the number of rows and columns of the terminal.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Thu, 17 May 2018 05:57:06 +0000 (07:57 +0200)]
efi_selftest: unit test for variable services
Provide a unit test for variable services.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Thu, 17 May 2018 05:57:05 +0000 (07:57 +0200)]
efi_loader: adjust definitions of variable services
The definitons of the variable services are adjusted:
- use efi_uintn_t instead of unsigned long
- use u16 * instead of s16 * for Unicode strings
- correct definition of QueryVariableInfo
- rename efi_get_next_variable to efi_get_next_variable_name
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Thu, 17 May 2018 16:24:48 +0000 (18:24 +0200)]
efi_selftest: do not call efi_init_obj_list() twice
Remove a superfluous call to efi_init_obj_list() invoked by
'bootefi selftest'.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Thu, 17 May 2018 16:57:13 +0000 (18:57 +0200)]
Makefile: clean should delete *.efi
Files *.efi are generated files. So the clean target should delete them.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Fri, 18 May 2018 17:12:20 +0000 (19:12 +0200)]
efi_loader: build CRT0 and RELOC on x86_64
The efi selftest and the hello application require CRT0 and RELOC to be
built.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Fri, 18 May 2018 17:12:19 +0000 (19:12 +0200)]
efi_selftest: allow building relocation code on x86_64
Variables EFI_RELOC and EFI_CRT0 have to be defined to build the
EFI unit tests. This patch ensures this for the x86 architecure.
If we compile with EFI_STUB, the bitness depends on CONFIG_EFI_STUB_64BIT.
Otherwise the bitness depends on CONFIG_X86_64.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Sun, 29 Apr 2018 18:02:46 +0000 (20:02 +0200)]
efi_loader: always check parameters in efi_cout_query_mode()
If we cannot determine the size of the serial terminal we still have
to check the parameters of efi_cout_query_mode().
Querying the size of the serial terminal drains the keyboard buffer.
So make sure we do this during the initialization and not in the midst
of an EFI application.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Sun, 29 Apr 2018 14:24:26 +0000 (16:24 +0200)]
efi_selftest: updating the cursor position
The test case for text output is updated to check correct updating
of the cursor position.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Sun, 29 Apr 2018 14:24:25 +0000 (16:24 +0200)]
efi_loader: updating the cursor position
The current coding advances the column by the number of UTF-8 bytes.
The column should be increased by one per unicode character.
The UEFI spec provides advance rules for U+0000, U+0008, U+000A,
and U000D. All other characters, including control characters
U+0007 (bel) and U+0009 (tab), have to increase the column by one.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Fri, 27 Apr 2018 17:07:24 +0000 (19:07 +0200)]
efi_loader: remove unnecessary include
asm/global_data.h is already included via common.h.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Heinrich Schuchardt [Sun, 29 Apr 2018 21:37:12 +0000 (23:37 +0200)]
efi_loader: if EFI_LOADER is enabled, enable CFB_CONSOLE_ANSI
EFI applications like GRUB issue ANSI sequences for setting colors
and for positioning. So if the EFI subsystem is enabled, we should
also enable ANSI control sequences by default.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Ivan Gorinov [Wed, 2 May 2018 23:36:02 +0000 (16:36 -0700)]
efi_loader: correctly apply relocations from the .reloc section
Instead of difference between preferred and actual image base, the
actual base is added to the fields specified in the .reloc section.
Use ImageBase from PE optional header to compute the delta,
exit early if the image is loaded at the preferred address.
Signed-off-by: Ivan Gorinov <ivan.gorinov@intel.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
Tom Rini [Sat, 2 Jun 2018 01:10:18 +0000 (21:10 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-sh
Tom Rini [Fri, 1 Jun 2018 20:46:39 +0000 (16:46 -0400)]
Merge branch 'master' of git://git.denx.de/u-boot-mips
Tom Rini [Fri, 1 Jun 2018 17:50:15 +0000 (13:50 -0400)]
Merge tag 'xilinx-for-v2018.07-2' of git://denx.de/git/u-boot-microblaze
Xilinx changes for v2018.07 second pull
zynqmp:
- Show reset reason
- Remove emulation platform
- Update pmufw version
- Simplify mmc bootmode
- Remove dc2 useless configuration file
- Cleanup mini config
- Defconfig syncup
- zcu100, zcu104 and zcu111 dts fixes
xilinx:
- Use live-tree functions in some drivers
- Add support for Avnet Minized and Antminer S9
fpga:
- Add secure bitstream loading support
mmc:
- Add hs200 mode support
usb xhci:
- Header fix
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:43 +0000 (19:39 +0100)]
phy: bcm6318-usbh: convert to use live dt
Also fix bad accents in my name.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:42 +0000 (19:39 +0100)]
phy: bcm6368-usbh: convert to use live dt
Also fix bad accents in my name.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:41 +0000 (19:39 +0100)]
phy: bcm6358-usbh: convert to use live dt
Also fix bad accents in my name.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:40 +0000 (19:39 +0100)]
phy: bcm6348-usbh: convert to use live dt
Also fix bad accents in my name.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:39 +0000 (19:39 +0100)]
cpu: bmips: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:38 +0000 (19:39 +0100)]
ram: bmips: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:37 +0000 (19:39 +0100)]
spi: bcm63xx_hsspi: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:36 +0000 (19:39 +0100)]
spi: bcm63xx_spi: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:35 +0000 (19:39 +0100)]
power: domain: bcm6328: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:34 +0000 (19:39 +0100)]
led: bcm6328: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:33 +0000 (19:39 +0100)]
led: bcm6358: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:32 +0000 (19:39 +0100)]
gpio: bcm6345: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:31 +0000 (19:39 +0100)]
reset: bcm6345: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:30 +0000 (19:39 +0100)]
clk: bcm6345: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:29 +0000 (19:39 +0100)]
serial: bcm6345: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Thu, 22 Mar 2018 18:39:28 +0000 (19:39 +0100)]
watchdog: bcm6345: convert to use live dt
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Álvaro Fernández Rojas [Sun, 29 Apr 2018 19:56:54 +0000 (21:56 +0200)]
dm: core: add functions to get memory-mapped I/O addresses
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>