summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2024-03-02ARM: renesas: Drop remnants of R8A7740 supportMarek Vasut
Last board with this SoC has been removed in commit 0fb054b3f7ea ("arm: Remove armadillo-800eva board") in August 2022. Drop the rest of unused code. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Paul Barker <[email protected]>
2024-03-02Merge branch 'master-riic' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
- New renesas I2C controller driver and new PMIC driver along with enablement of them.
2024-03-01arm: s5p4418: fix relocation of vectorsStefan Bosch
The header (NSIH) used for the s5p4418-SoC is not loaded into RAM by the 2nd-bootloader, see boot0.h. Therefore, use an adapted version of relocate_vectors which relocates the vectors after the header (at _start) instead of the 'dummy'-vectors at the start of the header (at __image_copy_start). Signed-off-by: Stefan Bosch <[email protected]> Reviewed-by: Minkyu Kang <[email protected]>
2024-03-01arm: dts: mt7988-sd-rfb: add SD pin driving settingsWeijie Gao
Set SD pin driving to 4mA Signed-off-by: Dong Huang <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2024-03-01pinctrl: aspeed: add pass-through pins and siopbi/siopboIvan Mikhaylov
Add THRU0-3 and SIOPBI/SIOPBO pin groups/functions. Signed-off-by: Ivan Mikhaylov <[email protected]>
2024-03-01dts: qcs404-evb: replace with upstream DTCaleb Connolly
Drop the U-Boot specific DTS in favour of upstream. We'll only include the -4000 variant as that is what U-Boot already supported. Taken from kernel tag v6.7 Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01dts: msm8996: replace with upstream DTSCaleb Connolly
Drop the U-Boot specific dragonboard820c.dts file in favour of the upstream apq8096-db820c.dts and an additional -u-boot.dtsi with the U-Boot specific additions. Taken from kernel tag v6.7 Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01dts: dragonboard820c: use correct bindings for clocksCaleb Connolly
Don't use hardcoded clock IDs, use the IDs from the dt-bindings to be compatible with upstream. Taken from kernel tag v6.7 Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01dts: msm8996: import PMIC dtsi filesCaleb Connolly
Import PM8994 and PMI8994 DTSI files in preparation for switching MSM8996 boards to upstream DTS. Taken from kernel tag v6.7 Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01dts: msm8916: replace with upstream DTSCaleb Connolly
Drop the U-Boot specific dragonboard410c.dts in favour of the upstream msm8916-sbc.dts. No additional changes are needed to this DTS for U-Boot support. Taken from kernel tag v6.7 Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01dts: msm8916: import PMIC dtsi filesCaleb Connolly
Import the supporting pm8916.dtsi and msm8916-pm8916.dtsi files from upstream in preparation for switching boards over. Taken from kernel tag v6.7 Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01dts: sdm845: replace with upstream DTSCaleb Connolly
Import sdm845.dtsi from upstream, as well as the upstream DTS files for the db845c and Samsung starqltechn. Delete the old board files. Taken from kernel tag v6.7 Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01dts: sdm845: import supporting dtsi filesCaleb Connolly
Import the PM8998 and PMI8998 PMIC DTSI files from Linux as well as the common audio codec in preperation for replacing board DTS files with upstream. Taken from kernel tag v6.7 Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01mach-snapdragon: carve out no-map regionsCaleb Connolly
On Qualcomm platforms, the TZ may already have certain memory regions under protection by the time U-Boot starts. There is a rare case on some platforms where the prefetcher might speculatively access one of these regions resulting in a board crash (TZ traps and then resets the board). We shouldn't be accessing these regions from within U-Boot anyway, so let's mark them all with PTE_TYPE_FAULT to prevent any speculative access and correctly trap in EL1 rather than EL3. Some lower level FDT functions are used here relying on some assumptions about how Qualcomm devicetrees are laid out (#address/size-cells being 2 for reserved-memory), as this is the only way to make this acceptably fast enough with dcache off. The full fat implementation takes 1800ms on SDM845, the implementation in this patch takes <1. Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01mach-snapdragon: generate fdtfile automaticallyCaleb Connolly
With just a few basic rules, we can generate the $fdtfile environment variable to match the format used in Linux. This uses the root compatible property inside u-boot, with specific handling for the Dragonboard845c which is a special case, and for the qrb robotics boards. This is known to work on supported platforms, and lets us avoid having a big lookup table. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01mach-snapdragon: dynamic load addressesCaleb Connolly
Heavily inspired by Apple board code. Use the LMB allocator to configure load addresses at runtime, and implement a lookup table for selecting a devicetree. As some Qualcomm RBx boards have different RAM capacities and base addresses, it isn't possible to hardcode these regions. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01mach-snapdragon: generalise board supportCaleb Connolly
Historically, Qualcomm boards have relied on heavy hardcoding in U-Boot, in many cases to the specific SoC but also to the board itself (e.g. memory map). This has been largely resolved by modernising the Qualcomm drivers in U-Boot, however the board code still largely follows this model. This patch removes the board specific memory maps and duplicated board init code, replacing it with generic init code. The memory map is now built at runtime based on data read from DT, this allows for the memory map to be provided without having to recompile U-Boot. Support is also added for booting with appended DTBs, so that the first-stage bootloader can populate the memory map for us. The sdm845 specific init code is dropped entirely, it set an environment variable depending on if a button was pressed, but this variable wasn't used in U-Boot, and could be written to use the button command instead. The KASLR detection is also dropped as with appended dtb, the kaslr seed can be read directly from the DTB passed to U-Boot. A new qcom_defconfig is added, with the aim of providing a generic U-Boot configuration that will work on as many Qualcomm boards as possible. It replaces the defconfig files for the Dragonboard 845c, Galaxy S9, and QCS404 EVB. For now the db410c and 820c are excluded as they still have some board code left. Similarly, the config headers for db845c, starqltechn, and qcs404-evb are replaced by a single qcom header. The previously db410c-specific board_usb_init() function is made to be generic and is added to mach-snapdragon. While we lack proper modelling for USB configuration, using a well-known named pinctrl state is a reasonably generic middleground, and works using upstream DT. This function will do nothing unless the USB node has a pinctrl state named "device", in which case it will be set when entering USB peripheral mode. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01board: dragonboard820c: use LINUX_KERNEL_IMAGE_HEADERCaleb Connolly
db820c predated support for prepending the kernel image header automatically, drop it's custom linker script and head.S in favour of this generic support. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01board: dragonboard410c: import board code from mach-snapdragonCaleb Connolly
Some of the db410c board support code was written to be generic and placed in mach-snapdragon. However, as the db410c is the only board using this, move the code out of mach-snapdragon. This makes is more obvious what code is relevant for which targets and helps tidy things up a little more. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01board: dragonboard410c: upstream DT compatCaleb Connolly
Use the root compatible strings from upstream Linux, add missing '#clock-cells' property to the gcc node. Adjust some of the msm8916/apq8016 drivers to use the correct upstream compatible properties and DT bindings. This prepares us to switch to upstream DT in a future patch. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01pinctrl: qcom: stub support for special GPIOsCaleb Connolly
Most platforms have a handful of "special" GPIOs, like the MMC clock/data lanes, UFS reset, etc. These don't follow the usual naming scheme of "gpioX" and also have unique capabilities and registers. We can get away without supporting them all for now, but DT compatibility is still an issue. Add support for allowing these to be specified after the other pins, and make all pinmux/pinconf calls for them nop. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01sandbox: dts: fix qcom pmic gpioCaleb Connolly
Adjust the DT to match upstream bindings. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01serial: msm: fix clock handling and pinctrlCaleb Connolly
Use the modern helpers to fetch the clock and use the correct property ("clocks" instead of "clock"). Drop the call to pinctrl_select_state() as no boards have a "uart" pinctrl state and this prints confusing errors. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01clk/qcom: use upstream compatible propertiesCaleb Connolly
Adjust the apq8016 and apq8096 drivers to use the upstream compatible properties, and adjust the associated dts files in U-Boot. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01arm: init: export prev_bl_fdt_addrCaleb Connolly
When booting U-Boot on board with a locked down first-stage bootloader, we emulate the Linux boot header. By passing the U-Boot FDT through this first-stage bootloader and retrieving it afterwards we can pre-populate the memory nodes and other info like the KASLR address. Add a function to export the FDT addr so that boards can use it over the built-in FDT. Don't check is_addr_accessible() here because we might not yet have a valid mem_map if it's going to be populated from the FDT, let the board do their own validation instead. Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Tested-by: Sumit Garg <[email protected]> #qcs404 Signed-off-by: Caleb Connolly <[email protected]>
2024-03-01arm: mach-k3: Refactor QoS settingsAradhya Bhatia
Refactor common QoS code into a new common header file, and the soc specific setup_qos functions into a common API. Rename $(soc)_qos_count and $(soc)_qos_data variables to qos_count and qos_data. When QoS settings of more SoCs are added, only one pair will be defined at a time, based on the config SOC_K3_$(soc). This refactoring has been done for 2 major purposes. - The auto-generated $(soc)_qos_data.c and $(soc)_qos.h files cannot have any code that is specific to any bootloader. Those files have to remain agnostic of different bootloader implementations and their header files. - The existing implementation was less than ideal and would have enabled multiple $(soc)_qos_count and $(soc)_qos_data variables for all SoC variants. Signed-off-by: Aradhya Bhatia <[email protected]>
2024-03-01arm: dts: k3-am625-verdin-r5: Change CPU frequency to 1000MHzVitor Soares
The same U-Boot binary is compatible with multiple Verdin AM62 board variants. However, some of the SoC models can only operate at a maximum speed of 1 GHz. Previously, the boards with lower-speed grades were running at overclocked speeds, leading to kernel complaints about unsupported configurations. To resolve this issue, the operating speed has been decreased to the maximum allowable value across all Verdin AM62 board variants. As a result, there is a regression in overall boot time, increasing by around 200 milliseconds for the faster SoC variant. Signed-off-by: Vitor Soares <[email protected]> Reviewed-by: Francesco Dolcini <[email protected]>
2024-03-01Merge patch series "toradex: fix reset and hardware detection regressions"Tom Rini
Francesco Dolcini <[email protected]> says: This series fixes two regressions affecting multiple Toradex boards (i.MX, TI and TEGRA based) and targets the current master, e.g. v2024.04 release. U-Boot `reset` command is broken on all Tordex i.MX6* based SoMs since v2023.07, this series fixes it enabling the `wdt-reboot` driver. Since v2024.04-rc1 reading the Toradex configuration block is not working properly anymore, the serial number and the hardware version are not read correctly, preventing the board from functioning correctly (wrong mac address, wrong DT, ...). This is fixed by reading the config block in `EVT_SETTINGS_R` and adding a toradex sysinfo driver. In addition to that, we now use a random mac address in case the config block is invalid. Reported-by: Sahaj Sarup <[email protected]> Closes: https://lore.kernel.org/all/CAKZ1LvM45MB8N0CqgU+C7i9=Bjb6kqNTxWo2Tv407HKLWtCMkA@mail.gmail.com/ Reported-by: Marcel Ziswiler <[email protected]> Closes: https://lore.kernel.org/all/[email protected]/ Reported-by: Francesco Dolcini <[email protected]> Closes: https://lore.kernel.org/all/ZY2ZDWAQuTlRjV9H@francesco-nb/
2024-03-01toradex: imx6*: fix reset using wdt-reboot driverParth Pancholi
commit 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()") introduced a regression that 'reset' command unable to reset imx6 and imx6ull based Toradex's modules in the u-boot. This change enables a watchdog-based sysreset driver for Toradex's colibri-imx6, colibri-imx6ull (with nand and emmc) and apalis-imx6 which solves the reset command regression on these modules. Acked-by: Marcel Ziswiler <[email protected]> Fixes: 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()") Signed-off-by: Parth Pancholi <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-03-01toradex: common: Add sysinfo driverEmanuele Ghidoli
This commit introduces support for the Toradex sysinfo driver in U-Boot, which uses information from Toradex config block to print correct board model. In case the Toradex config block is not present sysinfo prints the model of the board provided by device tree removing per board specific prints. Acked-by: Marcel Ziswiler <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> # Verdin iMX8M Plus Signed-off-by: Emanuele Ghidoli <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-03-01arm: dts: Refactor device trees using "&{/aliases}" syntaxEmanuele Ghidoli
Use the common syntax to define aliases. Acked-by: Marcel Ziswiler <[email protected]> Tested-by: Marcel Ziswiler <[email protected]> # Verdin iMX8M Plus Signed-off-by: Emanuele Ghidoli <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-03-01riscv: mbv: Enable SPL and binmanMichal Simek
Enable SPL and binman to generate u-boot.img (machine mode) and u-boot.itb (supervisor mode). DTB is placed at fixed address to ensure that it is 8 byte aligned which is not ensured when dtb is attached behind SPL binary that's why SPL and U-Boot are taking DTB from the same address. Also align addresses for both defconfigs. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/85506bce5580d448f095f267d029e3932c5e9990.1707911544.git.michal.simek@amd.com
2024-03-01arm64: zynqmp: Remove snps,enable_guctl1_ipd_quirk propertyMichal Simek
Remove undocumented DT property. Suggested solution was to apply quirk via glue logic driver that's why make no sense to have it listed in DT. Reviewed-by: Laurent Pinchart <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/2067eefbad161dee64b1dc7d97c498f09a8307a2.1708962844.git.michal.simek@amd.com
2024-03-01arm64: zynqmp: Support semihosting boot methodSean Anderson
Currently, when we boot from JTAG we try to boot U-Boot from RAM. However, this is a bit tricky to time, since the debugger has to wait for SPL to initialize RAM before it can load U-Boot. This can result in long waits, since occasionally initializing RAM (and other things in psu_init) takes a long time to complete and the debugger must wait for this worst case. Support semihosting if it is enabled, as it lets U-Boot tell the debugger when we are ready for the image. This means we don't have to wait any more than necessary. We don't change the default config to ensure we don't break compatibility with existing debuggers that don't expect us to hit semihosting breakpoints. Signed-off-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2024-02-29dts: meson-gxbb: Drop redundant devicetree filesSumit Garg
Since meson-gxbb based boards switched to using upstream DT, so drop redundant files from arch/arm/dts directory. Only *-u-boot.dtsi files kept in arch/arm/dts directory for these boards. Reviewed-by: Neil Armstrong <[email protected]> Signed-off-by: Sumit Garg <[email protected]>
2024-02-29dts: meson-gxbb: Switch to using upstream DTSumit Garg
Although there were still some variations in board DTS files based on meson-gxbb SoC but I think those were minor differences from upstream and shouldn't impact boot on these devices. So enable OF_UPSTREAM to use upstream DT and add amlogic/ prefix to the DEFAULT_DEVICE_TREE. And thereby directly build DTB from dts/upstream/src/ including *-u-boot.dtsi files from arch/$(ARCH)/dts/ directory. Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Sumit Garg <[email protected]>
2024-02-29Merge patch series "Handoff bloblist from previous boot stage"Tom Rini
Raymond Mao <[email protected]> says: This patch set adds/adapts a few bloblist APIs and implements Arm arch custom function to retrieve the bloblist (aka. Transfer List) from previous loader via boot arguments when BLOBLIST option is enabled and all boot arguments are compliant to the register conventions defined in the Firmware Handoff spec v0.9. If an arch wishes to have different behaviors for loading bloblist from the previous boot stage, it is required to implement the custom function xferlist_from_boot_arg().
2024-02-29arm: Get bloblist from boot argumentsRaymond Mao
Add arch custom function to get bloblist from boot arguments. Check whether boot arguments aligns with the register conventions defined in FW Handoff spec v0.9. Signed-off-by: Raymond Mao <[email protected]>
2024-02-29arm: armv8: save boot argumentsRaymond Mao
Save boot arguments x[0-3] into an array for handover of bloblist from previous boot stage. Signed-off-by: Raymond Mao <[email protected]> Suggested-by: Ard Biesheuvel <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-02-29arm: armv7: save boot argumentsRaymond Mao
Save boot arguments r[0-3] into an array for handover of bloblist from previous boot stage. Signed-off-by: Raymond Mao <[email protected]> Suggested-by: Ard Biesheuvel <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-02-28Merge patch series "mux: Drop usage of "u-boot,mux-autoprobe""Tom Rini
Roger Quadros <[email protected]> says: MUX driver should autoprobe if the device tree has "idle-states" property. Drop using the custom "u-boot,mux-autoprobe" property in TI device trees.
2024-02-28arm: dts: k3-u-boot: Add missing "bootph-all" property to MUX nodes.Roger Quadros
As it is present for USB and USB won't work without the MUX initialized correctly, add "bootph-all" property to MUX nodes. Signed-off-by: Roger Quadros <[email protected]>
2024-02-28arm: dts: k3-u-boot: Drop usage of "u-boot, mux-autoprobe"Roger Quadros
MUX driver should autoprobe if the device tree has "idle-states" property. Drop using the custom "u-boot,mux-autoprobe" property. Signed-off-by: Roger Quadros <[email protected]>
2024-02-28Merge tag 'efi-next-2024-02-28' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi into next Pull request efi-next-2024-02-28 * set IMAGE_DLLCHARACTERISTICS_NX_COMPAT in EFI binaries * provide SBI based runtime system reset * page align EFI binary section on ARMv7 * separate .data and .text sections of EFI binaries on ARMv7
2024-02-28i2c: rzg2l: Add I2C driver for RZ/G2L familyPaul Barker
This driver supports the I2C module on the Renesas RZ/G2L (R9A07G044) SoC, also known as the RIIC module. This patch is based on both the u-boot driver in the Renesas RZ BSP 3.0.5 release [1] (commit 7fcc1fdc2534), and the Linux v6.7 driver (commit 0dd3ee311255). Support for deblocking the I2C bus is included as this may be needed after triggering a reset via the Power Management IC (PMIC) over I2C (the PMIC asserts the reset line before the SoC completes the I2C write transaction with obvious bus locking effects). If the SDA line is observed to be low during initialisation, we automatically attempt to deblock. [1]: https://github.com/renesas-rz/renesas-u-boot-cip Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-02-28arm: dts: rzg2l: Sync with Linux v6.7Paul Barker
Pull in the recent changes to the RZ/G2L device tree and related dtsi files so that we're aligned with Linux v6.7 (commit 0dd3ee311255). Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-02-28arm: separate .data and .text sections of EFI binariesHeinrich Schuchardt
EFI binaries should not contain sections that are both writable and executable. Separate the RX .text section from the RW .data section. We currently don't created relocation sections (.rel.*) for our EFI binaries. Anyway these would have to be converted to PE/COFF relocations. Enumerate them under DISCARD and add a comment. Correct the characteristics of the sections. Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2024-02-28arm: page align EFI binary sectionHeinrich Schuchardt
Change the alignment of the relocation code in EFI binaries to match page boundaries. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-02-28efi_loader: set IMAGE_DLLCHARACTERISTICS_NX_COMPATHeinrich Schuchardt
The IMAGE_DLLCHARACTERISTICS_NX_COMPAT flag marks an EFI binary where the following conditions are met [1]: * Executable and writable sections are separated. * The application does not run self-modifying code. * The application uses the EFI_MEMORY_ATTRIBUTE_PROTOCOL when loading executable code. * The application does not assume that all memory ranges are usable. * The stack is not expected to be executable. The only EFI binaries U-Boot provides that do not fulfill these requirements are the EFI app and the EFI payload. Once we have implemented separation of writable and executable memory in U-Boot we can use the IMAGE_DLLCHARACTERISTICS_NX_COMPAT flag to decide if we will load an EFI binary. [1] New UEFI CA memory mitigation requirements for signing https://techcommunity.microsoft.com/t5/hardware-dev-center/new-uefi-ca-memory-mitigation-requirements-for-signing/ba-p/3608714 Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-02-27Kconfig: Centralize prompting for SYS_CONFIG_NAMETom Rini
Generally speaking, we do not prompt for this value and define it in the board specific Kconfig file. There are some valid use cases however today where we do prompt for this value, so instead of having this be done in a number of locations, do this at the top-level location only. This removes the question from a number of other locations and makes it consistent that when we do set the value directly, we always do it the same way. We don't need to specify the type, it's always string. Signed-off-by: Tom Rini <[email protected]>