summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-10bootstd: cros: Add private info for ChromiumOSSimon Glass
Create a new private structure to hold information gleaned from the disk. This will allow separation between reading of the bootflow information and (later) reading the whole kernel. Signed-off-by: Simon Glass <[email protected]>
2023-08-10bootstd: cros: Add docs for the kernel layoutSimon Glass
Provide brief documentation about the ChromiumOS kernel layout. Signed-off-by: Simon Glass <[email protected]>
2023-08-10bootstd: Move common zimage functions to bootm.hSimon Glass
We want to avoid using #ifdefs around header files and in the code. It makes sense to collect the various functions used for loading images into a single header which can be included by all architectures. The best place for this is the arch-neutral bootm.h header, so use that. Move some zimage functions into this bootm.h header. Signed-off-by: Simon Glass <[email protected]>
2023-08-10bootstd: cros: Simplify setup and cmdline expressionsSimon Glass
Create a common base from which the other parts are offset and make all of the offsets related to that. This makes the code a little easier to read. Use X86_ prefixes for the two values which are x86-specific. Drop OFFSET_BASE since it is available in a header field. Drop the unnecessary 'start' variable too. Signed-off-by: Simon Glass <[email protected]>
2023-08-10bootstd: cros: Decode some kernel preamble fieldsSimon Glass
Decode the kernel start and size using the structures provided. This accesses the same data, just in a cleaner way. Add some logging for some of the fields in the kernel preamble. Signed-off-by: Simon Glass <[email protected]>
2023-08-10bootstd: cros: Support a kernel on either partitionSimon Glass
ChromiumOS allows a kernel to be on either partition 2 or 4. Add support for scanning both and using the first one we find with a suitable signature. Record the partition which is used. Signed-off-by: Simon Glass <[email protected]>
2023-08-10bootstd: cros: Bring in some ChromiumOS structuresSimon Glass
Add a header file with structures for booting ChromiumOS, taken from the vboot tree. Using these makes it easier to understand the code. Note that the code style has not been updated for U-Boot, with use of uint64_t, __attribute__((packed)) and one comment-style nit. This should make it easier to keep the code in sync. It was taken from commit: 5b8596ce ("2sha256_arm: Fix data abort issue") Update the CHROMEOS string to use the defined values. Signed-off-by: Simon Glass <[email protected]>
2023-08-10bootstd: cros: Move partition reading into a functionSimon Glass
Move the code which reads a partition into its own function. Add a constant for the number of bytes to 'probe' at the start of the partition. Signed-off-by: Simon Glass <[email protected]>
2023-08-10bootstd: cros: Correct reporting of I/O errorsSimon Glass
Return -EIO when the read failed, rather than the number of blocks read. Signed-off-by: Simon Glass <[email protected]>
2023-08-10Merge https://source.denx.de/u-boot/custodians/u-boot-watchdogTom Rini
- cmd: cyclic: Remove duplicate command name in help text (Alexander) - ftwdt010: need to reset watchdog in ftwdt010_wdt_start() (Sergei)
2023-08-10Merge https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini
+ Add USB host support on VisionFive2 board + Enable SPI flash support on VisionFive2 board + Enable Random Number Generator in RISC-V QEMU board + Display new SBI extension + Add SPL_ZERO_MEM_BEFORE_USE Kconfig for jh7110 L2 LIM (Loosely-Integrated Memory)
2023-08-10watchdog: ftwdt010: need to reset watchdog in ftwdt010_wdt_start()Sergei Antonov
ftwdt010_wdt_start() has to call ftwdt010_wdt_reset() after setting-up the timeout in the same fashion ftwdt010_wdt_expire_now() does it. Without this patch the "wdt start <ms>" command does not actually start the watchdog timer until the "wdt reset" command is executed. Signed-off-by: Sergei Antonov <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2023-08-10cmd: cyclic: Remove duplicate command name in help textAlexander Dahl
Function 'cmd_usage()' already prints one command in usage before printing out the help text given to the U_BOOT_CMD_WITH_SUBCMDS macro. Wrong previous output: Usage: cyclic cyclic demo <cycletime_ms> <delay_us> - register cyclic demo function cyclic list - list cyclic functions Signed-off-by: Alexander Dahl <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2023-08-10riscv: cpu: jh7110: Select SPL_ZERO_MEM_BEFORE_USEShengyu Qu
Add Kconfig item for Starfive JH7110 to select SPL_ZERO_MEM_BEFORE_USE. Signed-off-by: Bo Gan <[email protected]> Signed-off-by: Shengyu Qu <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-08-10riscv: Add SPL_ZERO_MEM_BEFORE_USE implementationShengyu Qu
Add the actual support code for SPL_ZERO_MEM_BEFORE_USE and remove existing Starfive JH7110's L2 LIM clean code, since existing code has following issues: 1. Each hart (in the middle of a function call) overwriting its own stack and other harts' stacks. (data-race and data-corruption) 2. Lottery winner hart can be doing "board_init_f_init_reserve", while other harts are in the middle of zeroing L2 LIM. (data-race) Signed-off-by: Bo Gan <[email protected]> Signed-off-by: Shengyu Qu <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-08-10riscv: Kconfig: Add SPL_ZERO_MEM_BEFORE_USEShengyu Qu
Add a Kconfig item to allow SPL to clear stack/GD/malloc area before using them. Signed-off-by: Bo Gan <[email protected]> Signed-off-by: Shengyu Qu <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-08-10configs: starfive: Enable environment in SPI flash supportShengyu Qu
On Starfive Visionfive 2, the u-boot environment settings are saved to on-board SPI flash. Enable relative configs by default and set offset and size according to upstream linux dts. Signed-off-by: Shengyu Qu <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-08-10configs: riscv: starfive: Add VF2 PCIe USB3 XHCI supportMinda Chen
Add XHCI_PCI to enable usb3-host functions. Also add usb command and keyboard config. Signed-off-by: Minda Chen <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-08-10riscv: starfive: Add SYS_CACHE_SHIFT_6 to enable SYS_CACHELINE_SIZEMinda Chen
Some device driver need SYS_CACHELINE_SIZE macro. Add StarFive SYS_CACHE_SHIFT_6 to enable it. Signed-off-by: Minda Chen <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-08-10riscv: dts: starfive: Enable pcie0 dts nodeMinda Chen
In StarFive VF2 board. pcie0 connect to VTI usb controller. Enable it to support usb host. Signed-off-by: Minda Chen <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-08-10pci: plda: Get correct ECAM offset in multiple PCIe RC caseMinda Chen
Get the correct ECAM offset and record the secondary bus number in Multiple RC case. Signed-off-by: Minda Chen <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-08-10cmd/sbi: display new extensionsHeinrich Schuchardt
The SBI specification v2.0-rc2 defines new extensions: * Nested Acceleration Extension (NACL) * Steal Time Accounting (STA) Allow the sbi command to display these. Add missing implementation IDs. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2023-08-10riscv: qemu: imply CONFIG_DM_RNGHeinrich Schuchardt
The EFI_RNG_PROTOCOL is needed for Linux' KASLR. QEMU can provide a virtio-rng device to emulate a hardware random number generator which is supported by our virtio_rng driver. Enabling CONFIG_DM_RNG will enable CONFIG_VIRTIO_RNG and CONFIG_EFI_RNG_PROTOCOL by default too. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2023-08-09Merge tag 'x86-pull-20230809' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-x86 - x86: Fixes for distro booting - x86: Move some boards to text environment
2023-08-09Merge branch '2023-08-09-misc-cleanups' into nextTom Rini
- Rework the arch linker scripts to be consistent for all, support Kconfig fragments in the board directory and fix some Kconfig options that were hex-type by default of 0 not 0x0.
2023-08-09x86: qemu-x86: Convert to text environmentSimon Glass
Use the common include. Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: qemu: Add required linux/sizes.h includeSimon Glass
These files rely on the config.h file provided this include. Add it explictily so we can move to a text environment. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: efi-x86_payload: Convert to text environmentSimon Glass
Use the common include. Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: efi-x86_app: Convert to text environmentSimon Glass
Use the common include. Drop the unnecessary changes, since missing stdio drivers will be ignored. Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: slimbootloader: Convert to text environmentSimon Glass
Use the common include along with some additions. Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]> [Drop common env from slimbootloader.env] Signed-off-by: Bin Meng <[email protected]>
2023-08-09x86: minnowmax: Convert to text environmentSimon Glass
Use the common include along with some additions. Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: cougarcanyon2: Convert to text environmentSimon Glass
Use the common include. The existing environment includes "vga" but that is not valid anymore, so let it use vidconsole Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: cherryhill: Convert to text environmentSimon Glass
Use the common include. Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: edison: Convert to text environmentSimon Glass
Don't use the common include since Edison's environment is empty. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: galileo: Convert to text environmentSimon Glass
Use the common include. Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: bayleybay: Convert to text environmentSimon Glass
Use the common include. Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: crownbay: Convert to text environmentSimon Glass
Use the common include. Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: coreboot: Convert to text environmentSimon Glass
Use the common include and add some options specific to this board. Drop everything from the config.h file. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: Add a common include for environment settingsSimon Glass
Create a text-file version of x86-common.h which can be used by x86 boards. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: Drop unused distro settingsSimon Glass
No x86 board uses distro boot, so drop these settings. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: Drop inclusion of ibmpc.hSimon Glass
This is not needed in this file anymore. Drop it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: edison: Drop inclusion of ibmpc.hSimon Glass
This should be included by files that need it, not the config.h file. Drop it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: i8254: Include required ibmpc.h headerSimon Glass
This is needed for this file, so include it here explicitly. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: Drop CFG_SYS_STACK_SIZESimon Glass
This is only used in one file and the value is the same for both boards which define it. Use the fixed value of 32KB and drop the CFG. This will allow removal of the config.h files. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09env: Explain how to use #include files in text environmentSimon Glass
Provide documentation on how to share common settings among boards. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09env: Use include/env for text-environment includesSimon Glass
The 'environment' word is too long. We mostly use 'env' in U-Boot, so use that as the name of the include directory too. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09doc: Explain how to avoid the distro-boot scriptsSimon Glass
Now that standard boot is available, mention this in the environment documentation. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> # Intel Edison Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: Update qemu documentationSimon Glass
Add some hints and observations related to booting distros on QEMU on x86. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2023-08-09x86: Enable useful options for qemu-86Simon Glass
This build can be used to boot 32-bit standard-distro builds. Enable some more options, so that all possible EFI UUIDs are decoded, we can search memory for tables, support the full set of standard-boot features, have full logging along with debug UART and can boot from CDROM media. This mirrors a similar patch for qemu-x86_64 Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> [Drop the unknown option from defconfig] Signed-off-by: Bin Meng <[email protected]>
2023-08-09video: Add a Kconfig option for SPL video handoffSimon Glass
At present this feature is enabled in SPL if a bloblist is available. Some platforms may not want to use this, so add an option to allow the feature to be disabled. Note that the feature unfortunately only fills in part of the video-handoff information, so causes failures on x86 platforms. For now, disable it there. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]> Tested-by: Bin Meng <[email protected]> # qemu-x86_64