- 08 6月, 2021 13 次提交
-
-
由 Simon Glass 提交于
The pr_cont_test.c test requires CONFIG_LOG since it directly accesses fields in global_data that require it. Move the test into the CONFIG_LOG condition to avoid build errors. Enable CONFIG_LOG on sandbox (not sandbox_spl, etc.) so that we still run this test. This requires resyncing of the configs. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
The print_buffer() function is very useful for debugging. Add a version of this in the log system also. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
At present print_buffer() outputs a hex dump but it is not possible to place this dump in a string. Refactor it into a top-level function which does the printing and a utility function that dumps a line into a string. This makes the code more generally useful. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
If a long hexdump is initated the user may wish to interrupt it. Add support for this. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
At present print_hex_dump() only supports either 16- or 32-byte lines. With U-Boot we want to support any line length up to a maximum of 64. Update the function to support this, with 0 defaulting to 16, as with print_buffer(). Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
The current implementation outputs an address as a pointer. Update the code to use an address instead, respecting the 32/64 nature of the CPU. Add some initial tests copied from print_test_display_buffer(), just the ones that can pass with the current implementation. Note that for this case print_hex_dump() and print_bufffer() produce the same result. For now the tests are duplicated sine we have separate functions. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
Move the comments to the header file so people can find the function info without digging in the implementation. Fix up the code style and add an enum for the first arg. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
At present with print_buffer() U-Boot shows four spaces between the hex and ASCII data. Two seems enough and matches print_hex_dump(). Change it. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
Add a test for this function, to cover the various features. Expand the expect_str length to take acount of the ~300-bytes lines generated in one case. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
This test predates the test framework in U-Boot. It uses #define DEBUG and assert() to check the result. Update it to use the framework so it can report failure constitent with other tests. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
If a line of more than 256 bytes is generated, the test will fail but the reason is not clear. Add a check for this condition and print a helpful message. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Simon Glass 提交于
If the console output buffer is exhausted, characters are silently dropped from the end. Detect this condition and report an error when reading back the characters. Signed-off-by: NSimon Glass <sjg@chromium.org>
-
由 Tom Rini 提交于
To quote the series author, Patrick Delaunay: On STM32MP15x platform we can use OP-TEE, loaded in DDR in a region protected by a firewall. This region is reserved in the device with the "no-map" property as defined in the binding file doc/device-tree-bindings/reserved-memory/reserved-memory.txt. Sometime the platform boot failed in U-Boot on a Cortex A7 access to this region (depending of the binary and the issue can change with compiler version or with code alignment), then the firewall raise an error, for example: E/TC:0 tzc_it_handler:19 TZC permission failure E/TC:0 dump_fail_filter:420 Permission violation on filter 0 E/TC:0 dump_fail_filter:425 Violation @0xde5c6bf0, non-secure privileged read, AXI ID 5c0 E/TC:0 Panic After investigation, the forbidden access is a speculative request performed by the Cortex A7 because all the DDR is mapped as MEMORY with CACHEABLE property. The issue is solved only when the region reserved by OP-TEE is no more mapped in U-Boot as it is already done in Linux kernel. Tested on DK2 board with OP-TEE 3.12 / TF-A 2.4: With hard-coded address for OP-TEE reserved memory, the error doesn't occur. void dram_bank_mmu_setup(int bank) { .... for (i = start >> MMU_SECTION_SHIFT; i < (start >> MMU_SECTION_SHIFT) + (size >> MMU_SECTION_SHIFT); i++) { option = DCACHE_DEFAULT_OPTION; if (i >= 0xde0) option = INVALID_ENTRY; set_section_dcache(i, option); } } Just by modifying the test on 0xde0 to 0xdf0, the OP-TEE memory protected by firewall is mapped cacheable and the error occurs. I think that it can be a general issue for ARM architecture: the "no-map" tag of reserved memory in device should be respected by U-Boot if firewall is configured before U-Boot execution. But I don't propose a generic solution in arm/lib/cache-cp15.c:dram_bank_mmu_setup() because the device tree parsing done in lmb_init_and_reserve() takes a long time when it is executed without data cache.
-
- 07 6月, 2021 11 次提交
-
-
由 Patrick Delaunay 提交于
No more map the reserved region with "no-map" property by marking the corresponding TLB entries with invalid entry (=0) to avoid speculative access. The device tree parsing done in lmb_init_and_reserve() takes a long time when it is executed without data cache, so it is called in enable_caches() before to disable it. This patch fixes an issue where predictive read access on secure DDR OP-TEE reserved area are caught by firewall. Series-cc: marex Series-cc: pch Series-cc: marek.bykowski@gmail.com Series-cc: Ard Biesheuvel <ardb@kernel.org> Series-cc: Etienne Carriere <etienne.carriere@linaro.org> Signed-off-by: NPatrick Delaunay <patrick.delaunay@foss.st.com>
-
由 Patrick Delaunay 提交于
Add 8M for the U-Boot reserved memory (display, fdt, gd, ...) mapped cacheable before relocation. Without this patch the device tree, located before the MALLOC area is not tagged cacheable just after relocation, before mmu reconfiguration. This patch reduces the duration for device tree parsing in lmb_init_and_reserve. Signed-off-by: NPatrick Delaunay <patrick.delaunay@foss.st.com>
-
由 Patrick Delaunay 提交于
Save the 'no-map' information present in 'reserved-memory' node to allow correct handling when the MMU is configured in board to avoid speculative access. This binding is defined in doc/device-tree-bindings/reserved-memory/reserved-memory.txt Additional properties: ... no-map (optional) - empty property - Indicates the operating system must not create a virtual mapping of the region as part of its standard mapping of system memory, nor permit speculative access to it under any circumstances other than under the control of the device driver using the region. Signed-off-by: NPatrick Delaunay <patrick.delaunay@foss.st.com>
-
由 Patrick Delaunay 提交于
Add a test to check the management of reserved region with flags. Signed-off-by: NPatrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Patrick Delaunay 提交于
Add lmb_dump_region() function, to simplify lmb_dump_all_force(). This patch is based on Linux memblock dump function. An example of bdinfo output is: ..... fdt_size = 0x000146a0 FB base = 0xfdd00000 lmb_dump_all: memory.cnt = 0x1 memory[0] [0xc0000000-0xffffffff], 0x40000000 bytes flags: 0 reserved.cnt = 0x6 reserved[0] [0x10000000-0x10045fff], 0x00046000 bytes flags: 4 reserved[1] [0x30000000-0x3003ffff], 0x00040000 bytes flags: 4 reserved[2] [0x38000000-0x3800ffff], 0x00010000 bytes flags: 4 reserved[3] [0xe8000000-0xefffffff], 0x08000000 bytes flags: 4 reserved[4] [0xfbaea344-0xfdffffff], 0x02515cbc bytes flags: 0 reserved[5] [0xfe000000-0xffffffff], 0x02000000 bytes flags: 4 arch_number = 0x00000000 TLB addr = 0xfdff0000 .... Signed-off-by: NPatrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Patrick Delaunay 提交于
Add a new function lmb_is_reserved_flags to check if an address is reserved with a specific flags. This function can be used to check if an address was reserved with no-map flags with: lmb_is_reserved_flags(lmb, addr, LMB_NOMAP); Signed-off-by: NPatrick Delaunay <patrick.delaunay@foss.st.com>
-
由 Patrick Delaunay 提交于
Add "flags" in lmb_property to save the "no-map" property of reserved region and a new function lmb_reserve_flags() to check this flag. The default allocation use flags = LMB_NONE. The adjacent reserved memory region are merged only when they have the same flags value. This patch is partially based on flags support done in Linux kernel mm/memblock .c (previously lmb.c); it is why LMB_NOMAP = 0x4, it is aligned with MEMBLOCK_NOMAP value. Signed-off-by: NPatrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Tom Rini 提交于
Signed-off-by: NTom Rini <trini@konsulko.com>
-
由 Tom Rini 提交于
Rsync all defconfig files using moveconfig.py Signed-off-by: NTom Rini <trini@konsulko.com>
-
-
https://source.denx.de/u-boot/custodians/u-boot-dm由 Tom Rini 提交于
Minor fixes for sandbox and handling of dm-ranges
-
- 05 6月, 2021 12 次提交
-
-
https://source.denx.de/u-boot/custodians/u-boot-video由 Tom Rini 提交于
- disable legacy video for brxre1, mx28evk, pico-imx6ul, pxm2 and rut boards after DM_VIDEO conversion deadline
-
由 Patrick Delaunay 提交于
Add a test of dev_read_resource with translation or without translation Signed-off-by: NPatrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Patrick Delaunay 提交于
Removed call of ofnode_translate_address() after ofnode_read_resource in luton_switch.c:luton_probe(); it is unnecessary since the commit feb7ac45 ("dm: core: Add address translation in fdt_get_resource"). Fixes: feb7ac45 ("dm: core: Add address translation in fdt_get_resource") Reviewed-by: NRamon Fried <rfried.dev@gmail.com> Reported-by: NHoratiu Vultur <horatiu.vultur@microchip.com> Signed-off-by: NPatrick Delaunay <patrick.delaunay@foss.st.com>
-
由 Alper Nebi Yasak 提交于
With commit 41575d8e ("dm: treewide: Rename auto_alloc_size members to be shorter") "priv_auto_alloc_size" was renamed to "priv_auto". This driver was sent to the mailing list before that change, merged after it, and still has the old form. Apply the rename here as well. Fixes: 1b9ee288 ("pwm: Add a driver for Chrome OS EC PWM") Signed-off-by: NAlper Nebi Yasak <alpernebiyasak@gmail.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Heinrich Schuchardt 提交于
os_find_text_base() assumes that first line of /proc/self/maps holds information about the text. Hence we must call the function before calling os_malloc() which calls mmap(0x10000000,). Failure to do so has led to incorrect values for pc_reloc when an exception was reported => exception undefined Illegal instruction pc = 0x5628d82e9d3c, pc_reloc = 0x5628c82e9d3c as well as incorrect output of the bdinfo command => bdinfo relocaddr = 0x0000000007858000 reloc off = 0x0000000010000000 Fixes: b308d9fd ("sandbox: Avoid using malloc() for system state") Signed-off-by: NHeinrich Schuchardt <xypron.glpk@gmx.de> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Bin Meng 提交于
In of_get_address(), there is: dev_count_cells(dev, &na, &ns); followed by: bus->count_cells(dev, &na, &ns); but no codes in between use na/ns, hence the first call is useless. By dropping the first call, dev_count_cells() is now useless too. Signed-off-by: NBin Meng <bmeng.cn@gmail.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Bin Meng 提交于
'dma-ranges' frequently exists without parent nodes having 'dma-ranges'. While this is an error for 'ranges', this is fine because DMA capable devices always have a translatable DMA address. Also, with no 'dma-ranges' at all, the assumption is that DMA addresses are 1:1 with no restrictions unless perhaps the device itself has implicit restrictions. This keeps in sync with Linux kernel commit: 81db12ee15cb: of/address: Translate 'dma-ranges' for parent nodes missing 'dma-ranges' Signed-off-by: NBin Meng <bmeng.cn@gmail.com> Reviewed-by: NSimon Glass <sjg@chromium.org>
-
由 Anatolij Gustschin 提交于
These boards were not converted to DM_VIDEO before deadline, so disable video support for now. Signed-off-by: NAnatolij Gustschin <agust@denx.de> Cc: Richard Hu <richard.hu@technexion.com> Cc: Fabio Estevam <festevam@gmail.com>
-
由 Anatolij Gustschin 提交于
The board was not converted to DM_VIDEO before deadline, so disable video support for now. Signed-off-by: NAnatolij Gustschin <agust@denx.de> Cc: Hannes Schmelzer <hannes.schmelzer@br-automation.com>
-
由 Anatolij Gustschin 提交于
The board was not converted to DM_VIDEO before deadline, so disable video support for now. Signed-off-by: NAnatolij Gustschin <agust@denx.de> Cc: Fabio Estevam <festevam@gmail.com>
-
由 Anatolij Gustschin 提交于
The board was not converted to DM_VIDEO before deadline, so disable video support for now. Signed-off-by: NAnatolij Gustschin <agust@denx.de>
-
由 Anatolij Gustschin 提交于
The board was not converted to DM_VIDEO before deadline, so disable video support for now. Signed-off-by: NAnatolij Gustschin <agust@denx.de>
-
- 04 6月, 2021 4 次提交
-
-
https://source.denx.de/u-boot/custodians/u-boot-marvell由 Tom Rini 提交于
- mvebu: a37xx: PCI related enhancements and fixes (Pali) - mvebu: turris_omnia: Board specific updates, e.g. rescue boot cmd etc (Marek)
-
由 Marek Behún 提交于
Make it possible to invoke rescue boot from U-Boot console, without having to press the factory reset button. This is needed when accessing the device remotely, for example. Achieve this by putting rescue command into `bootcmd_rescue` default environment variable and setting some distroboot environment variables to their default values when the factory button is pressed. Rescue boot from console can be invoked by running run bootcmd_rescue Signed-off-by: NMarek Behún <marek.behun@nic.cz> Reviewed-by: NPali Rohár <pali@kernel.org> Reviewed-by: NStefan Roese <sr@denx.de>
-
由 Marek Behún 提交于
Update rescue mode boot command on Turris Omnia. We are compressing the image with lzma now. Signed-off-by: NMarek Behún <marek.behun@nic.cz> Reviewed-by: NPali Rohár <pali@kernel.org> Reviewed-by: NStefan Roese <sr@denx.de>
-
由 Pali Rohár 提交于
The `ranges` DT property of the PCIe node is currently ignored by Aardvark driver - all entries are used as transparent PCIe MEM, despite some of them being defined for IO in DT. This is because the driver does not setup PCIe outbound windows and thus a default configuration is used. This can cause an external abort on CPU when a device driver tries to access non-MEM space. Setup the PCIe windows according to the `ranges` property for all non-MEM resources (currently only IO) and also non-transparent MEM resources. Because Linux expects that bootloader does not setup Aardvark PCIe windows, disable them before booting Linux. Signed-off-by: NPali Rohár <pali@kernel.org> Reviewed-by: NMarek Behún <marek.behun@nic.cz> Reviewed-by: NStefan Roese <sr@denx.de>
-