[U-Boot] x86: ACPI support suggestion

Simon Glass sjg at chromium.org
Wed Feb 4 20:52:20 CET 2015


+Bin

Hi Gabriel,

On 4 February 2015 at 12:22, Gabriel Huau <contact at huau-gabriel.fr> wrote:
> Hi All,
>
> I'm currently thinking on how to integrate the ACPI support in u-boot x86.
> I've investigated the coreboot implementation. My first thought was to port
> all the source code over but looking at the source code in more details it
> doesn't look like an easy option. For example, it involves reading a lot of
> values over PCI to dynamically fill the tables, and integration a lot of SoC
> specific headers (IRQ definition, GPIO, ...).

That doesn't sound nice.

>
> Therefore, as a first implementation I was thinking about the following:
>     - booting a board with the Intel UEFI + Linux
>     - extracting all the ACPI tables (/sys/firmware/acpi/ or acpixtract)
>     - disassembling the binaries tables via iasl to allow people to modify
> them
>     - integrating these files into u-boot in board specific folder (for
> example: board/intel/minnowmax/acpi/*)
>     - generating one blob per table using iasl during build time which
> requires iasl tool to be installed if we have the CONFIG_ACPI
>     - writing at the RSDP location all the ACPI tables previously exported
>
> With this flow, the integration would be quite simple. Also this allows the
> tables to be modified easily when there is a new release or to add some new
> devices to the DSDT.
>
> What are your thoughts about that?
>
> Feel free to provide some feedback on this implementation.

It seems reasonable to me. Bin may have some comments so I copied him.
We have been using the device tree to statically define the hardware,
so there is some duplication here. I would like to avoid actually
using ACPI in U-Boot (device tree seems to do everything we need in a
boot loader), but generating it make sense, and so long as it is
source code, we can change it, as you say.

Regards,
Simon


More information about the U-Boot mailing list