FADT X_FIRMWARE_CTRL 64 bit pointer was zero, falling back to using FIRMWARE_CTRL 32 bit pointer.

Al Stone al.stone at linaro.org
Tue Oct 9 16:47:36 UTC 2018


On 10/9/18 6:41 AM, Alex Hung wrote:
> Usually X_FIRMWARE_CTRL is meant to be used for 64 bit systems and
> FIRMWARE_CTRL is to be used for 32 bit systems. Having said that, ACPI
> spec only says X_FIRMWARE_CTRL supersedes FIRMWARE_CTRL if
> X_FIRMWARE_CTRL is non-zero.
> 
> I would say it is a good idea to contact firmware vendor to confirm
> this is intended because it is uncommon to see X_FIRMWARE_CTRL unused
> in modern 64-bit systems.
> On Fri, Oct 5, 2018 at 8:54 PM Paul Menzel
> <pmenzel+fwts-devel at molgen.mpg.de> wrote:
>>
>> Dear FWTS folks,
>>
>>
>> On a Dell OptiPlex 5055
>>
>>     [    0.000000] DMI: Dell Inc. OptiPlex 5055 Ryzen CPU/0P03DX, BIOS 1.1.15 06/22/2018
>>
>> running `fwts fadt` the warning below is shown.
>>
>>     ```
>>     Results generated by fwts: Version V18.09.00 (2018-09-12 18:14:43).
>>     […]
>>     fadt: FADT Fixed ACPI Description Table tests.
>>     --------------------------------------------------------------------------------
>>     FADT X_FIRMWARE_CTRL 64 bit pointer was zero, falling back to using
>>     FIRMWARE_CTRL 32 bit pointer.
>>     Test 1 of 6: ACPI FADT Description Table flag info.
>>     […]
>>     ```
>>
>> Should this be reported to the firmware vendor or not?
>>
>>
>> Kind regards,
>>
>> Paul
>>
>> --
>> fwts-devel mailing list
>> fwts-devel at lists.ubuntu.com
>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/fwts-devel

I agree with Alex here -- it's unusual to have X_FIRMWARE_CTRL as zero these
days.  So the question to the firmware vendor is: did they really mean to do
that?  It'll work, but it's odd.

As a practical matter, more often than not I see both values filled in -- the
32-bit value for cases where addresses have to be mapped into low memory due to
hardware limitations and the 64-bit value if that is not required.  Linux boot
will prefer the 64-bit address if it is non-zero, or if explicitly told to use
32-bit addresses on the kernel command line.

-- 
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Linaro Enterprise Group
al.stone at linaro.org
-----------------------------------



More information about the fwts-devel mailing list