- Jan 25, 2022
-
-
Simon Glass authored
Move this over to use a writer file, moving the code from the x86 implementation. There is no need to store a separate variable since we can simply access the ACPI context. With this, the original monolithic x86 function for writing ACPI tables is gone. Note that QEMU has its own implementation. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Move this over to use a writer function, moving the code from the x86 implementation. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Update this function to the newer style, so we can avoid passing and returning an address through this function. Also move this function out of the x86 code so it can be used by other archs. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-
Simon Glass authored
Move this table over to use a writer function, moving the code from the x86 implementation. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Move this table over to use a writer function, for x86 only. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Move this table over to use a writer function, for x86 only. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Move this table over to use a writer function, for x86 only. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Move this table over to use a writer function, moving the code from the x86 implementation. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Each board has its own way of creating this table. Rather than calling the acpi_create_fadt() function for each one from a common acpi_write_fadt() function, just move the writer into the board-specific code. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-
Simon Glass authored
Move this table over to use a writer function, for x86 only. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Move this table over to use a writer function, for x86 only. Handle the two cases Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Move this table over to use a writer function, moving the code from the x86 implementation. Add a pointer to the DSDT in struct acpi_ctx so we can reference it later. Disable this table for sandbox since we don't actually compile real ASL code. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Move this table over to use a writer function, moving the code from the x86 implementation. Add a pointer to the DSDT in struct acpi_ctx so we can reference it later. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Use the new ACPI writer to write the base tables at the start of the area, moving this code from the x86 implementation. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Use the new ACPI writer to write the ACPI tables. At present this is all done in one monolithic function. Future work will split this out. Unfortunately the QFW write_acpi_tables() function conflicts with the 'writer' version, so disable that for sandbox. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
At present acpi_setup_base_tables() both sets up the ACPI context and writes out the base tables. We want to use an ACPI writer to write the base tables, so split this function into two, with acpi_setup_ctx() doing the context set, and acpi_setup_base_tables() just doing the base tables. Disable the writer's write_acpi_tables() function for now, to avoid build errors. It is enabled in a following patch. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
This function is not x86-specific so move it into the common header file. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Rather than keying everything off ACPIGEN, use the main GENERATE_ACPI_TABLE option to determine whether the core ACPI code is included. Make sure these option are not enabled in SPL/TPL since we never generate tables there. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
Allow this to be used on any arch. Also convert to using macros so that we can check the CONFIG option in C code. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Simon Glass authored
These have sadly found their way to ARM now. Allow any arch to support generating ACPI tables. Disable this for the tools build. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Jan 19, 2022
-
-
Heinrich Schuchardt authored
Sphinx expects Return: and not @return to indicate a return value. find . -name '*.c' -exec \ sed -i 's/^\(\s\)\*\(\s*\)@return\(\s\)/\1*\2Return:\3/' {} \; find . -name '*.h' -exec \ sed -i 's/^\(\s\)\*\(\s*\)@return\(\s\)/\1*\2Return:\3/' {} \; Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
- Jan 15, 2022
-
-
At present some 32-bit settings are used with the 64-bit app. Fix this by separating out the two cases. Be careful not to break the 64-bit payload, which needs to build a 64-bit EFI stub with a 32-bit U-Boot. Signed-off-by:
Christian Melki <christian.melki@t2data.com> Signed-off-by:
Simon Glass <sjg@chromium.org>
-
That script is not intended for use with EFI, so update the logic to avoid using it. Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Christian Melki <christian.melki@t2data.com>
-
Make sure the linker lists are in the right place and drop the eh_frame section, which is not needed. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
Add an empty CPU init function to avoid fiddling with low-level CPU features in the app. Set up the C runtime correctly for 64-bit use and avoid clearing BSS, since this is done by EFI when U-Boot is loaded. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
At present this function requires a pointer to struct efi_entry_memmap but the only field used in there is the desc_size. We want to be able to use it from the app, so update it to use desc_size directly. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Jan 13, 2022
-
-
Simon Glass authored
Add a U_BOOT prefix to this tag since it is specific to the U-Boot project. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Jan 12, 2022
-
-
x86 platform uses standard format of Config Address for PCI Configuration Mechanism #1. So use new U-Boot macro PCI_CONF1_ADDRESS(). Signed-off-by:
Pali Rohár <pali@kernel.org> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
- Dec 31, 2021
-
-
Show the revision of this table as it can be important. Also update the 'efi table' entry to show the actual address of the EFI table rather than our table that points to it. This saves a step and the intermediate table has nothing else in it. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
At present only 4KB of spare space is left in the DTB when building the EFI app. Increase this to 32KB so there is plenty of space to insert the binman definition. This cannot be expanded later (as with OF_SEPARATE) because the ELF image has already been built. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviwed-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
If the 'bootm' command is not enabled then this code is not available and this causes a link error. Fix it. Note that for the EFI app, there is no indication of missing code. It just hangs! Signed-off-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
-
At present this is disabled, but it should work so long as the kernel does not need EFI services. Enable it and add a note about remaining work. Signed-off-by:
Simon Glass <sjg@chromium.org>
-
- Nov 07, 2021
-
-
The current EFI video driver only works when running in the stub. In that case the stub calls boot services (before jumping to U-Boot proper) and copies the graphics info over to the efi table. This is necessary because the stub exits boot services before jumping to U-Boot. The app maintains access to boot services throughout its life, so does not need to do this. Update the driver to support calling boot services directly. Enable video output for the app. Note that this uses the EFI_GRAPHICS_OUTPUT_PROTOCOL protocol, even though it mentions vesa. A sample qemu command-line for this case is: qemu-system-x86_64 -bios /usr/share/edk2.git/ovmf-ia32/OVMF-pure-efi.fd -drive id=disk,file=try.img,if=none,format=raw -nic none -device ahci,id=ahci -device ide-hd,drive=disk,bus=ahci.0 Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
This variable is already defined by the EFI code. Drop the duplicate definition when building a 64-bit EFI app. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
Most modern platforms use 64-bit EFI so it is useful to have a U-Boot app that runs under that. Add a (non-functional) build for this. Note that --whole-archive causes the gcc 9.2 linker to crash, so disable this for now. Once this is resolved, things should work. For now, avoid mentioning the documentation for the 64-bit app, since it does not work. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
Most EFI implementations use 64-bit but U-Boot only supports running as a 32-bit app at present. While efi-x86_payload64 does boot from 64-bit UEFI it immediately changes back to 32-bit before starting U-Boot. In order to support a 64-bit U-Boot app, update the Kconfig to add an option for 32/64 bit. Update the prompt for the existing option so it is clear it relates to the stub. Move both up to just under the choice that controls them, since this looks better and the menu. Use CONFIG_EFI_APP in the Makefile instead of CONFIG_TARGET_EFI_APP, since the latter is specific to a single target and we will have two. Memory size is set to 32MB for now so that it can run on qemu without increasing the default memory size. We may need to increase the default later. Signed-off-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Heinrich Schuchardt <xypron.glpk@gmx.de>
-
- Nov 01, 2021
-
-
Move error message to the caller of mrfld_pinconfig*() in order to unify them in the future. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
Move is_protected assignment closer to its user. This increases readability and makes maintenance easier. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
There are two PCB designs in the wild which use the opposite signaling for SD card detection. This makes U-Boot working in one case and failing in the other. Quirk this out by disconnecting SD card detection pin from the PCB by switching it to mode 3. In the disconnected state the read value is always the same and inverted to what we are expecting in the code. BugLink: https://github.com/edison-fw/meta-intel-edison/issues/136 Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-
We would need to quirk out the Card Detect case and for that we allow configuring the SD/SDIO family of pins. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by:
Bin Meng <bmeng.cn@gmail.com>
-