[U-Boot] x86: ACPI support suggestion

Bin Meng bmeng.cn at gmail.com
Fri Feb 6 16:41:35 CET 2015


Hi Gabriel,

Thank you for taking the initiative for the U-Boot ACPI support.

On Thu, Feb 5, 2015 at 3:52 AM, Simon Glass <sjg at chromium.org> wrote:
> +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.

If we choose to implement generating ACPI tables by U-Boot, we have to
do that unfortunately. We may port coreboot stuff and fix anything
that is not good.

>>
>> 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.
>

This sounds a fast way to enable ACPI support. For the first
implementation, I think it's enough. Let's see how it looks like.

Regards,
Bin


More information about the U-Boot mailing list