summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2020-09-25x86: Use multiple imagesSimon Glass
We already use binman's 'multiple-images' feature with Chrome OS and we want to use it for Edison. There is no real down-side. Adjust x86 to always use multiple-images. Signed-off-by: Simon Glass <[email protected]> Acked-by: Andy Shevchenko <[email protected]>
2020-09-25x86: Add support for more than 8 MTRRsSimon Glass
At present the mtrr command only support 8 MTRRs. Some SoCs have more than that. Update the implementation to support up to 10. Read the number of MTRRs dynamically instead. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25x86: hob: Try to show a name instead of a GUIDSimon Glass
GUIDs are one of the seven evils of the computer world. They obfuscate the meaning and require people to look up long hex strings to decode it. Luckily only a miniscule fraction of the 10^38 possible GUIDs are in use. Add a way to decode the GUIDs known to U-Boot. Add a few more to the list for good measure. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25x86: coral: Update config and device tree for ACPISimon Glass
Enable new features and provide require device-tree config so that U-Boot produces the correct ACPI tables on Coral. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: Add a way to add to the e820 memory tableSimon Glass
Some boards want to reserve extra regions of memory. Add a 'chosen' property to support this. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25x86: fsp: Show FSP-S or FSP-M address in fsp_get_header()Simon Glass
At present this function only supports FSP-M but it is also used to read FSP-S, in which case FSP-M may be zero. Add support for showing whichever address is present in the FSP binary. Also change the debug() statements to log_debug() while here. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25x86: fsp: Add more debugging for silicon initSimon Glass
If locating the FSP header hangs for whatever reason it is useful to see where it got stuck. Add a debug print. Also show the address of the FSP-S entry point as a sanity check. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25x86: apl: Check low-level init in FSP-S pre-initSimon Glass
If U-Boot is not running FSP-S it should not do the pre-init either. Add a condition to handle this. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Set the log category for x86 table generationSimon Glass
This file doesn't currently have a log category. Add one so that items are logged correctly. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25acpi: tpm: Add a TPM1 tableSimon Glass
This provides information about a v1 TPM in the system. Generate this table if the TPM is present. Add a required new bloblist type and correct the header order of one header file. Signed-off-by: Simon Glass <[email protected]>
2020-09-25acpi: tpm: Add a TPM2 tableSimon Glass
This provides information about a v2 TPM in the system. Generate this table if the TPM is present. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: Correct handling of MADT table CPUsSimon Glass
At present if hyperthreading is disabled the CPU numbering is not sequential. Fix this. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: Add a header guard to asm/acpi_table.hSimon Glass
This file cannot currently be included in ASL files. Add a header guard to permit this. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25x86: Correct the assembly guard in e820.hSimon Glass
This is currently in the wrong place, so including the file in the device tree fails. Fix it. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25x86: Notify the FSP of the 'end firmware' eventSimon Glass
Send this notification when U-Boot is about to boot into Linux, as requested by the FSP. Currently this causes a crash with the APL FSP, so leave it disabled for now. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: Sort the MTRR tableSimon Glass
At present the MTRR registers are programmed with the list the U-Boot builds up in the same order. In some cases this list may be out of order. It looks better in Linux to have the registers in order, so sort them, Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: cpu: Report address width from cpu_get_info()Simon Glass
Add support for this new field in the common code used by most x86 CPU drivers. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: fsp: Update the FSP API with the end-firmware methodSimon Glass
This new method is intended to be called when UEFI shuts down the 'boot services', i.e. any lingering code in the boot loader that might be used by the OS. Add a definition for this new method and update the comments a little. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25x86: apl: Drop unnecessary code in PMC driverSimon Glass
We don't have CONFIG_PCI in TPL but it is present in SPL, etc. So this code is not needed. Drop it, and fix a code-style nit just above. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: apl: Generate ACPI table for LPCSimon Glass
Add an ACPI table for the LPC on Apollo Lake. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: apl: Generate CPU tablesSimon Glass
Add ACPI generation to the APL CPU driver. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: apl: Add support for hostbridge ACPI generationSimon Glass
Support generating a DMAR table and add a few helper routines as well. Also set up NHLT so that audio works. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: apl: Generate required ACPI tablesSimon Glass
Add support for generating various ACPI tables for Apollo Lake. Add a few S3 definitions that are needed. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: apl: Allow reading hostbridge base addressesSimon Glass
Add a few functions to permit reading of various useful base addresses provided by the hostbridge. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Add support for additional Intel tablesSimon Glass
Apollo Lake needs to generate a few more table types used on Intel SoCs. Add support for these into the x86 ACPI code. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: Support Atom SoCs using SWSMISCI rather than the SWSCISimon Glass
Some Atom SoCs use SWSMISCI for SMI control. Add a Kconfig to select this. It is used on Apollo Lake. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Add common Intel ACPI tablesSimon Glass
Add various tables that are common to Intel CPUs. These functions can be used by arch-specific CPU code. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Add PCT and PTC tablesSimon Glass
These are needed for the CPU tables. Add them into an x86-specific file since we do not support them on sandbox, or include tests. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Support generation of the DBG2 tableSimon Glass
Add an implementation of the DBG2 (Debug Port Table 2) ACPI table. Adjust one of the header includes to be in the correct order, before adding more. Note that the DBG2 table is generic but the PCI UART is x86-specific at present since it assumes an ns16550 UART. It can be generalised later if necessary. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Support generation of the HPET tableSimon Glass
Add an implementation of the HPET (High Precision Event Timer) ACPI table. Since this is x86-specific, put it in an x86-specific file Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: Add a few common Intel CPU functionsSimon Glass
Add functions to query CPU information, needed for ACPI. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: apl: Update iomap for ACPISimon Glass
Add some more definitions to the iomap. These will be used by ACPI-generation code as well as the device tree. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: apl: Add power-management definitionsSimon Glass
Add SCI and power-state definitions required by ACPI tables. Fix the license to match the original source file. Als update the guard on acpi_pmc.h to avoid an error when buiding ASL. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: Add some definitions for SMMSimon Glass
U-Boot does not support SMM (System Management Mode) at present, but needs a few definitions to correctly set up the ACPI table. Add these. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Add a common routine to write WiFi infoSimon Glass
Intel WiFi chips can use a common routine to write the information needed by linux. Add an implementation of this. Enable it for coral. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: apl: Support writing the IntelGraphicsMem tableSimon Glass
This table is needed by the Linux graphics driver to handle graphics correctly. Write it to ACPI. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: Add wake sources for the acpi_gpe driverSimon Glass
Some devices can wake the system from sleep, e.g opening the lid on a clamshell or moving a USB mouse. Add a wake to specify this for USB devices and add the settings for Apollo Lake. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Expand the GNVSSimon Glass
Expand this to 4KB so that it is possible to add custom information to it. On Chromebooks this is used to pass verified-boot information. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Support external GNVS tablesSimon Glass
At present U-Boot puts a magic number in the ASL for the GNVS table and searches for it later. Add a Kconfig option to use a different approach, where the ASL files declare the table as an external symbol. U-Boot can then put it wherever it likes, without any magic numbers or searching. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: Add a common global NVS structureSimon Glass
Add the definition of this structure common to Intel devices. It includes some optional Chrome OS pieces which are used when vboot is integrated. Drop the APL version as it is basically the same. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: Add a config for the systemagent PCIEX regions sizeSimon Glass
Add a way to specify the required size for this region. This is used when generating ACPI tables. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Add DPTF asl filesSimon Glass
Add common DPTF (Intel Dynamic Performance and Thermal Framework) files, taken from coreboot. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: apl: Add asl files for Apollo LakeSimon Glass
Add Apollo Lake ASL files, taken from coreboot. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: acpi: Add base asl files for common x86 devicesSimon Glass
Add common x86 ASL files, taken from coreboot. Signed-off-by: Simon Glass <[email protected]> Tested-by: Wolfgang Wallner <[email protected]>
2020-09-25x86: acpi: Add cros_ec tablesSimon Glass
Add ASL files for the Chrome OS EC, taken from coreboot. Signed-off-by: Simon Glass <[email protected]>
2020-09-25x86: zboot: Allow overriding the command lineSimon Glass
When booting Chrome OS images the command line is stored separately from the kernel. Add a way to specify this address so that images boot correctly. Also add comments to the zimage.h header. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Wolfgang Wallner <[email protected]> Reviewed-by: Bin Meng <[email protected]> [bmeng: adjust maxargs to 8 for 'zboot start'] Signed-off-by: Bin Meng <[email protected]>
2020-09-25x86: zboot: Add an option to dump the setup informationSimon Glass
There is a lot of information in the setup block and it is quite hard to decode manually. Add a 'zboot dump' command to decode it into a human-readable format. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Wolfgang Wallner <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25x86: zboot: Allow setting a separate setup base addressSimon Glass
At present the setup block is always obtained from the image automatically. In some cases it can be useful to use a setup block obtained elsewhere, e.g. if the image has already been unpacked. Add an argument to support this and update the logic to use it if provided. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Wolfgang Wallner <[email protected]> Reviewed-by: Bin Meng <[email protected]> [bmeng: adjust maxargs to 7 for 'zboot start'] Signed-off-by: Bin Meng <[email protected]>
2020-09-25x86: zboot: Set environment variables for image locationsSimon Glass
At present it is not possible to tell from a script where the setup block is, or where the image was loaded to. Add environment variables for this. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Wolfgang Wallner <[email protected]> Reviewed-by: Bin Meng <[email protected]>
2020-09-25x86: zboot: Add an 'setup' subcommandSimon Glass
Add a subcommand that sets up the kernel ready for execution. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Wolfgang Wallner <[email protected]> Reviewed-by: Bin Meng <[email protected]>