- 26 Apr, 2019 4 commits
-
-
Simon Glass authored
When a previous phase of U-Boot has run we need to adjust the init of subsequent states to avoid messing up the CPU state. Add a new version of the start logic for SPL, when it boots from TPL (start_from tpl.c) and a new version for U-Boot when it boots from SPL. Series-changes: 2 - Add xorl to TPL code also - Update comments in start_from_tpl to correctly explain SPL state Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Split the CPU init into two parts - the 'full' init which happens in the first U-Boot phase, and the rest of the init that happens on subsequent stages. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
At present the debug UART is set up in sdram.c which is not the best place since it has nothing in particular to do with SDRAM. Since we want to support initing this in SPL too, move it to a common file. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
At present, for broadwell, SDRAM is always set up in U-Boot proper since the 64-bit mode (which uses SDRAM init in SPL) is not supported. Update the code to allow SDRAM init in SPL instead so that U-Boot proper can be loaded into SDRAM and run from there. This allows U-Boot to be compressed to reduce space, since it is not necessary to run it directly from flash. It could later allow us to support 64-bit U-Boot on broadwell. Series-changes: 2 - Update commit message to make it clear this patch is just for broadwell - Bring in sdram_console_tx_byte() to allow debugging Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- 25 Apr, 2019 36 commits
-
-
Simon Glass authored
Add debugging during SDRAM init so that problems are easier to diagnose. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
Add an arch-specific handoff header so that we can use the HANDOFF feature on x86 devices. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
Some boards want to use TPL as the first phase of U-Boot. This allows selection of A or B SPL phases, thus allowing the memory init to be upgraded in the field. Add a new Kconfig option for this. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
At present only chromebook_link64 supports SPL. It is useful to eb able to support both TPL and SPL to implement verified boot on x86. Enable the options for both along with some suitable default options needed to boot through these phases. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
We use binman to build the x86 image now. Update a comment which still refers to ifdtool. Series-changes: 2 - Update the comment in fsp_cap.S too Change-Id: I288c28e3417694e1ae29520c3def8b0d18a4a7c5 Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
Add labels for these nodes so that board DT files can reference them. Change-Id: Ic24497bacd87e3e3bb4e1a1e80b0094a14521072 Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
We cannot init the CPU fully both than once during a boot. Add a new function which can be called to figure out the CPU identity, but which does not change anything. For x86_64, this is empty for now. Change-Id: Ie4a54200bada75897cd85365dbf35bfbe09a0023 Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
At present many of the functions in this file return -1 as an error number. which is -EPERM. Update the code to use real error numbers. Change-Id: Ica34246d951c734343dff935cb2d3b52d8d1a727 Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
There is a typo in this header. Fix it. Change-Id: I669e9f673fbc74b624e94f1c989e0fc800528d5e Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
At present sections are always placed automatically. Even if an 'offset' property is provided it is ignored. Update the logic to support an offset for sections. Series-changes: - Fix map output when section offset is not set (make it 0) - Add a test for sections with offsets Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present only OF_SEPARATE is considered valid for building a device-tree file in SPL. However sandbox uses OF_HOSTFILE instead. Update the logic to handle this and make it easier to understand. Note that the new logic is not quite the same as the old logic. It was previously assumed that checking for: $(CONFIG_$(SPL_TPL_)OF_CONTROL) $(CONFIG_OF_SEPARATE) $(CONFIG_$(SPL_TPL_)OF_PLATDATA) producing 'yy' meant that the first two were 'y' and the last was empty. Strictly speaking it would be possible for any two of the three to be 'y' and still yield the same result. However, that was not the intention of the new logic, since OF_PLATDATA always ensures that no device-tree file is included. So in effect the new logic is the same, with the addition of OF_HOSTFILE as an option for OP_SEPARATE. Series-changes: 2 - Add a better explanation of the logic change, in the commit message Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Device-tree rules require that aliases use a hyphen rather than a underscore. Update the uclass name to fit with this. This allows device-tree aliases to be used to refer to cros-ec devices, for example: aliases { cros-ec0 = &ec; cros-ec1 = &pd; }; Series-changes: 2 - Update the commit message to explain the implications on aliases Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Update the condition to translate only if this is enabled for SPL. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
An important property is missing. Update the entry comment to include this. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
This message is not very important since it is simply indicating that the user's instructions are being followed. Only show it when the verbosity level is above the default. Also drop the unnecessary extra newline on this message, which causes two line breaks. Series-changes: 2 - Update commit message to mention dropping the \n - Update testSelectImage() to test in normal and verbose modes Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
It is not good practice to raise an exception in a constructor. In this case the 'text' entry may not actually be used, if -i is used to filter out the images that get built. Move the exception to where the data is actually used. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Simon Glass authored
At present the default log level is set to LOGL_INFO on start-up. Allow this to be controlled from Kconfig. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
-
Simon Glass authored
This reverts commit 0b588def.
-
Simon Glass authored
This reverts commit f7597730.
-
Simon Glass authored
This reverts commit 368a0dfb.
-
Simon Glass authored
This reverts commit c16b137e.
-
Simon Glass authored
Some libraries build by U-Boot may include stdint.h. This is not used by U-Boot itself and causes conflicts with the types defined in linux/types.h. To work around this, add an empty file with this name so that it will be used in preference to the compiler version. Change-Id: Ieecb387277c537d30c6521fce9ce9f129a6e053f Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
vb2_nv_regen_crc() is not exported by vboot by default. Drop this code for now. Change-Id: I589c375c732139d2a878f2cadb1563e0f28e7415 Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add the required config and features to make this work. This includes: - new board called chromeos_sandbox - new SPL boot method - make board_run_command() weak Change-Id: I4ae19f8328dcf72a9b6ef625fcc443a8a52d1125 Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add Chromium OS's code and vboot library into the build. Change-Id: I0f741e2ada7d6b76d7917b2209aeb49e43692a0a Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add a few hooks and fields which are required by Chromium OS. Change-Id: Id996434a10c426b04fab48c1a0925677a616a564 Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Add an implementation of Chromium OS verified boot. This is entirely contained within the cros/ subdrectory. It includes drivers, device-tree files, commands and callbacks. Change-Id: Icb4e2eb64116293d5ac1b63db8c771b03ec7bcc6
-
Simon Glass authored
This includes locale images and developer keys from the Chrome OS repo and images. Change-Id: I49f27bba306166516d5ee1d247ca20c52a2f404f Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
As an experiment, build U-Boot as a library, u-boot.o, so it can be used by other open-source software. Update the sandbox build rules to suit. This has not been tested in any meaningful way. It breaks sandbox_spl and all x86 boards. I am interested in feedback as to how useful this might be. Signed-off-by:
Simon Glass <sjg@chromium.org> Series-to: u-boot Cover-letter: Various patches for verified boot support This is (for now) the last series to enable Chromium OS verified boot in U-Boot. It includes: - Sandbox valgrind spport - Minor TPM enhancements and fixes - Resurection of inttypes.h - Args checking for log functions - Sandbox fix for time jitter - Various other minir things END
-
Simon Glass authored
It is useful to run sandbox from valgrind to find memory errors, etc. At present this works OK until U-Boot jumps into the next phase (e.g. from SPL to U-Boot). Update os_jump_to_file() to use valgrind for each subsequent phase also. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
MMC devices support multiple partitions, defined by the hardware. At present U-Boot can only access partition zero. Add support for selecting other partitions. Also add a way to check if a partition is write-protected. Note: There is existing support for this in the legacy MMC code, but this is being removed soon. Series-to: u-boot Process-logs: sort, uniq Series-version: 2 Series-changes: 2 - Drop changes previously applied - Drop patch 'efi_loader: Don't enable in SPL/TPL by default' Cover-letter: sandbox: Changes and improvements to support verified boot This series compiles a number of fixes and improvement sto sandbox, cros_ec, tpm and a few other pieces. This allows U-Boot to support Chromium OS verified boot and assist with debugging of this. END Change-Id: I44025b99f36aedf749158db6d9edbb187b3c5c35 Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Some TPMs hang on startup without a short delay after getting the lock. Add a small delay to cope with this. Series-changes: 2 - Split out from main TPM patch Change-Id: I81503d0c44b18f2836061ba26667e425ef37faa7 Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present to output a log message you need something like: log(UCLASS_SPI, LOCL_INFO, "message1"); log(UCLASS_SPI, LOCL_INFO, "message2"); but many files use the same category throughout. Also it is helpful to shorten the length of log names, providing helpers for common logging levels. Add some macros so that it is possible to do: (top of file, before #includes) #define LOG_CATEGORY UCLASS_SPI (later in the file) log_info("message1"); log_debug("message2"); log_err("message3"); Change-Id: Ie8b318419a5a3df0ec01987e0eb2332f4a044566 Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
-
Simon Glass authored
In some cases it is necessary to read the keyboard in early phases of U-Boot. The cros_ec keyboard is kept in the misc directory. Update the config to allow this. Series-changes: 2 - Leave the misc uclass alone since it stops sandbox_spl working Change-Id: Ie430a83dc32eca0a827ed278524754ba4f11eda0 Signed-off-by:
Simon Glass <sjg@chromium.org>
-