- Mar 02, 2021
-
-
Simon Glass authored
Add support for this so that the TPM can be set up for use with Chromium OS verified boot. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
Simon Glass authored
Update tpm2_clear() and tpm2_pcr_extend() so that the command size is not repeated twice. Add a small comment to the latter. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
Simon Glass authored
Add support for TPMv2 versions of API functions. So far this is not complete as the standard is quite large, but it implements everything currently available for TPMv2 in U-Boot. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
Simon Glass authored
Take over the plain 'tpm_...' functions for use by the new TPM API. Rename all the TPMv1 functions so they are called from the API. Update the TPMv1 functions so that they are called from the API. Change existing users to use the tpm1_ prefix so they don't need to go through the API, which might introduce uncertainty. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
Simon Glass authored
There are two different TPM standards. U-Boot supports both but each has its own set of functions. We really need a single TPM API that can call one or the other. This is not always possible as there are some differences between the two standards, but it is mostly possible. Add an API to handle this. So far it is not plumbed into the build and only supports TPMv1. Signed-off-by:
Simon Glass <sjg@chromium.org> Acked-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
Simon Glass authored
The response is shown but not the request. Update the code to show both if debugging is enabled. Use a 'uint' type for size so it matches the register-word size on both 32- and 64-bit machines. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Update this to use log_debug() instead of the old debug(). Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
Simon Glass authored
At present the security chip is not used in these U-Boot phases. Update the Makefile to exclude it. Fix a few logging statements while we are here. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Ilias Apalodimas <ilias.apalodimas@linaro.org>
-
Simon Glass authored
These two returns use the same string so are not distinguishable with LOG_ERROR_RETURN. Fix it. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Sandbox provides a way to write out its emulated memory on exit. This makes it possible to pass a bloblist from one phase (e.g. SPL) to the next. However the bloblist is not closed off, so the checksum is generally invalid. Fix this by finishing up the bloblist before writing the memory file. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This state is not accessible to the running U-Boot but at present it is allocated in the emulated SDRAM. This doesn't seem very useful. Adjust it to allocate from the OS instead. The RAM buffer is currently not freed, but should be, so add that into state_uninit(). Update the comment for os_free() to indicate that NULL is a valid parameter value. Note that the strdup() in spl_board_load_image() is changed as well, since strdup() allocates memory in the RAM buffer. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
We provide os_malloc() and os_free() but not os_realloc(). Add this, following the usual semantics. Also update os_malloc() to behave correctly when passed a zero size. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
Simon Glass authored
This code is still using the old command typedef. It was not noticed since this file is not currently built. It is using a non-existent option in the Makefile. Drop this file since it is not needed for correct operation. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Comparing a hex dump on the U-Boot command line with the contents of a file on the host system is fairly easy and convenient to do manually if it is small. But the format used hexdump by default differs from that shown by U-Boot. Add a note about how to make them the same. (For large dumps, writing the data to the network with tftpput, or to a USB stick with ext4save is easiest.) Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Provide a man-page for the md command. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add notes about how to make binman produce verbose logging when building. Add a comment on how to do this. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This is printed twice but we only need one message, since there is very little processing in between them. Drop the second one, since all branches of the switch() already have output. Update the U-Boot message to include the phase being jumped to. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Patrick Delaunay authored
Remove the unused function set_dacr/get_dacr Serie-cc: Ard Biesheuvel <ardb@kernel.org> Serie-cc: R Sricharan <r.sricharan@ti.com> Signed-off-by:
Patrick Delaunay <patrick.delaunay@foss.st.com>
-
Patrick Delaunay authored
Remove the unused weak function arm_init_domains used to change the DACR value. Signed-off-by:
Patrick Delaunay <patrick.delaunay@foss.st.com>
-
Patrick Delaunay authored
Remove the arm_init_domains and the DACR update, as it is now done in ARMv7 CP15 level. Signed-off-by:
Patrick Delaunay <patrick.delaunay@foss.st.com>
-
Patrick Delaunay authored
Update the initial value of Domain Access Control Register (DACR) and set by default the access permission to client (DACR_Dn_CLIENT = 1U) for each of the 16 domains and no more to all-supervisor (DACR_Dn_MANAGER = 3U). This patch allows to activate the domain checking in MMU against the permission bits in the translation tables and avoids prefetching issue on ARMv7 [1]. Today it was already done for OMAP2 architecture ./arch/arm/mach-omap2/omap-cache.c::arm_init_domains introduced by commit de63ac27 ("ARM: mmu: Set domain permissions to client access") which fixes lot of speculative prefetch aborts seen on OMAP5 secure devices. [1] https://developer.arm.com/documentation/ddi0406/b/System-Level-Architecture/Virtual-Memory-System-Architecture--VMSA-/Memory-access-control/The-Execute-Never--XN--attribute-and-instruction-prefetching Signed-off-by:
Patrick Delaunay <patrick.delaunay@st.com> Reported-by:
Ard Biesheuvel <ardb@kernel.org> Signed-off-by:
Patrick Delaunay <patrick.delaunay@foss.st.com>
-
Patrick Delaunay authored
Align TTB_SECT define value with previous value. Signed-off-by:
Patrick Delaunay <patrick.delaunay@foss.st.com>
-
Patrick Delaunay authored
The normal memory (other that DCACHE_OFF) should be executable by default, only the device memory (DCACHE_OFF) used for peripheral access should have the bit execute never (TTB_SECT_XN_MASK). Signed-off-by:
Patrick Delaunay <patrick.delaunay@foss.st.com>
-
Patrick Delaunay authored
Overidde the weak function dram_bank_mmu_setup() to set the DDR (preloc case) or the SYSRAM (in SPL case) executable before to enable the MMU and configure DACR. This weak function is called in dcache_enable/mmu_setup. This patchs avoids a permission access issue when the DDR is marked executable (by calling mmu_set_region_dcache_behaviour with DCACHE_DEFAULT_OPTION) after MMU setup and domain access permission activation with DACR in dcache_enable. Signed-off-by:
Patrick Delaunay <patrick.delaunay@foss.st.com>
-
Patrick Delaunay authored
Mark the top of ram, used for relocated U-Boot as a normal memory (cacheable and executable) to avoid permission access issue when U-Boot jumps to this relocated code. When MMU is activated in pre-reloc stage; only the beginning of DDR is marked executable. This patch avoids access issue when DACR is correctly managed. Signed-off-by:
Patrick Delaunay <patrick.delaunay@foss.st.com>
-
Harald Seiler authored
Historically, the reset_cpu() function had an `addr` parameter which was meant to pass in an address of the reset vector location, where the CPU should reset to. This feature is no longer used anywhere in U-Boot as all reset_cpu() implementations now ignore the passed value. Generic code has been added which always calls reset_cpu() with `0` which means this feature can no longer be used easily anyway. Over time, many implementations seem to have "misunderstood" the existence of this parameter as a way to customize/parameterize the reset (e.g. COLD vs WARM resets). As this is not properly supported, the code will almost always not do what it is intended to (because all call-sites just call reset_cpu() with 0). To avoid confusion and to clean up the codebase from unused left-overs of the past, remove the `addr` parameter entirely. Code which intends to support different kinds of resets should be rewritten as a sysreset driver instead. This transformation was done with the following coccinelle patch: @@ expression argvalue; @@ - reset_cpu(argvalue) + reset_cpu() @@ identifier argname; type argtype; @@ - reset_cpu(argtype argname) + reset_cpu(void) { ... } Signed-off-by:
Harald Seiler <hws@denx.de> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Harald Seiler authored
This reverts commit 576007ae. The parameter passed to reset_cpu() no longer holds a meaning as all call-sites now pass the value 0. Thus, branching on it is essentially dead code and will just confuse future readers. Revert soft-reset support and just always perform a hard-reset for now. This is a preparation for removal of the reset_cpu() parameter across the entire tree in a later patch. Fixes: 576007ae ("lpc32xx: cpu: add support for soft reset") Cc: Sylvain Lemieux <slemieux@tycoint.com> Signed-off-by:
Harald Seiler <hws@denx.de>
-
Harald Seiler authored
The current implementation of reset_cpu() in the ns3 board code does not archieve what it is supposed to (according to the comments), due to a number of reasons: 1. The argument to reset_cpu() is _not_ actually passed from the `reset` command, but is set to 0 in all call-sites (in this specific case, see arch/arm/lib/reset.c). Thus, performing different kinds of resets based on its value will not work as expected. 2. Contrary to its documentation, the passed argument is not interpreted, but a static `L3_RESET` define is used. The other comment properly notes that this will always perform a L3 reset, though. 3. The "parsing" of the static `L3_RESET` value is not even using the upper and lower nibble as stated in the comment, but uses the last two decimal digits of the value. This is currently one of the only implementations left in U-Boot, which make "use" of the value passed to reset_cpu(). As this is done under false assumption (the value does not have any meaning anymore), it makes sense to bring it into line with the rest and start ignoring the parameter. This is a preparation for removal of the reset_cpu() parameter across the entire tree in a later patch. Fixes: b5a152e7 ("board: ns3: default reset type to L3") Cc: Bharat Gooty <bharat.gooty@broadcom.com> Cc: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Signed-off-by:
Harald Seiler <hws@denx.de> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Harald Seiler authored
nds32 is one of the only architectures which still have a reset_cpu() implementation that makes use of the `addr` parameter. The rest of U-Boot now ignores it and passes 0 everywhere. It turns out that even here, reset_cpu() is no longer referenced anywhere; reset is either not implemented (e.g. ae3xx) or realized using a WDT (e.g. ag101). Remove this left-over implementation in preparation for the removal of the `addr` parameter in the entire tree. Cc: Rick Chen <rick@andestech.com> Signed-off-by:
Harald Seiler <hws@denx.de> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Rick Chen <rick@andestech.com>
-
Tom Rini authored
Signed-off-by:
Tom Rini <trini@konsulko.com>
-
- Mar 01, 2021
-
-
Heinrich Schuchardt authored
In drivers we use a family of printing functions including pr_err() and pr_cont(). CONFIG_LOGLEVEL is used to control which of these lead to output via printf(). Our logging functions allow finer grained control of output. So replace printf() by the matching logging functions. The usage of CONFIG_LOGLEVEL remains unchanged. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
Marek Behún authored
When the btrfs_read_fs_root() function is searching a ROOT_ITEM with location key offset other than -1, it currently fails via BUG_ON. The offset can have other value than -1, though. This can happen for example if a subvolume is renamed: $ btrfs subvolume create X && sync Create subvolume './X' $ btrfs inspect-internal dump-tree /dev/root | grep -B 2 'name: X$ location key (270 ROOT_ITEM 18446744073709551615) type DIR transid 283 data_len 0 name_len 1 name: X $ mv X Y && sync $ btrfs inspect-internal dump-tree /dev/root | grep -B 2 'name: Y$ location key (270 ROOT_ITEM 0) type DIR transid 285 data_len 0 name_len 1 name: Y As can be seen the offset changed from -1ULL to 0. Do not fail in this case. Signed-off-by:
Marek Behún <marek.behun@nic.cz> Cc: David Sterba <dsterba@suse.com> Cc: Qu Wenruo <wqu@suse.com> Cc: Tom Rini <trini@konsulko.com>
-
- Feb 28, 2021
-
-
Tom Rini authored
As Stephen is no longer actively maintaining the uboot-test-hooks repository, switch to using the instance on our GitLab. Acked-by:
Stephen Warren <swarren@wwwdotorg.org> Signed-off-by:
Tom Rini <trini@konsulko.com>
-
Heinrich Schuchardt authored
The U-Boot source moves to https://source.denx.de/u-boot/u-boot.git effective 2021-02-28. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
- Feb 27, 2021
-
-
https://gitlab.denx.de/u-boot/custodians/u-boot-efiTom Rini authored
Pull request for efi-2021-04-rc3-2 Bug fixes: * debug build for mkeficapsule * limit output length for VenHw, VenMedia * ACPI tables must be in EfiACPIReclaimMemory
-
- Feb 26, 2021
-
-
-
https://gitlab.denx.de/u-boot/custodians/u-boot-spiTom Rini authored
- new GigaDevice flash ids - fixes for imx, nxp_spi drivers
-
https://gitlab.denx.de/u-boot/custodians/u-boot-stmTom Rini authored
- Add USB host boot support in stm32mp1 config - Enable uefi related commands for STMicroelectronics STM32MP15 boards - Remove duplicate uart nodes in stm32mp15 device tree
-
Heinrich Schuchardt authored
Add missing GUID short text used in the efidebug tables and efidebug dh sub-commands. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
Heinrich Schuchardt authored
Correct missing descriptions and typos in efi_loader.h. Signed-off-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-