mbox series

[Linaro-uefi,v3,0/6] Platforms/ARM: FVP spring cleaning -- OpenPlatformPkg edition

Message ID 20170410162208.20611-1-ard.biesheuvel@linaro.org
Headers show
Series Platforms/ARM: FVP spring cleaning -- OpenPlatformPkg edition | expand

Message

Ard Biesheuvel April 10, 2017, 4:22 p.m. UTC
This is now mainly focused on FVP, although some changes affect TC2 and Juno
as well. However, the switch to DtPlatformDxe, which is the primary purpose of
this series, is only implemented for FVP.

Note that the full functionality is only enabled when building with
DT_SUPPORT=TRUE, in which case the platform is built with a bunch of DTB
images built in, and a menu option that allows choosing between ACPI and
DT (which does require working non-volatile storage). Without DT support,
the platform is essentially ACPI only, unless a DTB is supplied to the OS
via one of the available out-of-band mechanisms.

Ard Biesheuvel (6):
  Platforms/VExpress: remove unused logo PCD
  Platforms/VExpress: remove unused StatusCode references
  Platforms/VExpress: get rid of Tiano compression
  Platforms/VExpress: remove BdsLib library class resolutions
  Platforms/FVP: add DtPlatformDtbLoaderLib implementation
  Platforms/FVP-AArch64: switch to simpler DT platform driver

 Platforms/ARM/Juno/ArmJuno.dsc                                                                         |   8 ++
 Platforms/ARM/Juno/ArmJuno.fdf                                                                         |   9 --
 Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc                                                        |  13 +-
 Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf                                                        |  16 ---
 Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc                                                     |  33 ++---
 Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf                                                     |  54 ++------
 Platforms/ARM/VExpress/ArmVExpress.dsc.inc                                                             |  24 +---
 Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.c   | 134 ++++++++++++++++++++
 Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.inf |  39 ++++++
 9 files changed, 221 insertions(+), 109 deletions(-)
 create mode 100644 Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.c
 create mode 100644 Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.inf

Comments

Ryan Harkin April 11, 2017, 5 p.m. UTC | #1
On 10 April 2017 at 17:22, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> This is now mainly focused on FVP, although some changes affect TC2 and Juno
> as well. However, the switch to DtPlatformDxe, which is the primary purpose of
> this series, is only implemented for FVP.
>
> Note that the full functionality is only enabled when building with
> DT_SUPPORT=TRUE, in which case the platform is built with a bunch of DTB
> images built in, and a menu option that allows choosing between ACPI and
> DT (which does require working non-volatile storage). Without DT support,
> the platform is essentially ACPI only, unless a DTB is supplied to the OS
> via one of the available out-of-band mechanisms.
>

I'm not 100% convinced that disabling device tree by default is the
right thing to do. But at the same time, it's not my call and I don't
boot anything interesting using FVP anyway, so I don't mind.

For the limited amount of stuff I need working, this all works fine on
FVP Foundation & AEMv8, TC2 and Juno R0/1/2.

Tested-by: Ryan Harkin <ryan.harkin@linaro.org>


> Ard Biesheuvel (6):
>   Platforms/VExpress: remove unused logo PCD
>   Platforms/VExpress: remove unused StatusCode references
>   Platforms/VExpress: get rid of Tiano compression
>   Platforms/VExpress: remove BdsLib library class resolutions
>   Platforms/FVP: add DtPlatformDtbLoaderLib implementation
>   Platforms/FVP-AArch64: switch to simpler DT platform driver
>
>  Platforms/ARM/Juno/ArmJuno.dsc                                                                         |   8 ++
>  Platforms/ARM/Juno/ArmJuno.fdf                                                                         |   9 --
>  Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.dsc                                                        |  13 +-
>  Platforms/ARM/VExpress/ArmVExpress-CTA15-A7.fdf                                                        |  16 ---
>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc                                                     |  33 ++---
>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.fdf                                                     |  54 ++------
>  Platforms/ARM/VExpress/ArmVExpress.dsc.inc                                                             |  24 +---
>  Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.c   | 134 ++++++++++++++++++++
>  Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.inf |  39 ++++++
>  9 files changed, 221 insertions(+), 109 deletions(-)
>  create mode 100644 Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.c
>  create mode 100644 Platforms/ARM/VExpress/Library/ArmVExpressDtPlatformDtbLoaderLib/ArmVExpressDtPlatformDtbLoaderLib.inf
>
> --
> 2.9.3
>
Ard Biesheuvel April 11, 2017, 5:03 p.m. UTC | #2
On 11 April 2017 at 18:00, Ryan Harkin <ryan.harkin@linaro.org> wrote:
> On 10 April 2017 at 17:22, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>> This is now mainly focused on FVP, although some changes affect TC2 and Juno
>> as well. However, the switch to DtPlatformDxe, which is the primary purpose of
>> this series, is only implemented for FVP.
>>
>> Note that the full functionality is only enabled when building with
>> DT_SUPPORT=TRUE, in which case the platform is built with a bunch of DTB
>> images built in, and a menu option that allows choosing between ACPI and
>> DT (which does require working non-volatile storage). Without DT support,
>> the platform is essentially ACPI only, unless a DTB is supplied to the OS
>> via one of the available out-of-band mechanisms.
>>
>
> I'm not 100% convinced that disabling device tree by default is the
> right thing to do. But at the same time, it's not my call and I don't
> boot anything interesting using FVP anyway, so I don't mind.
>

DT_SUPPORT=TRUE will give you a build that defaults to device tree.
Otherwise, you will get a build that defaults to ACPI.

> For the limited amount of stuff I need working, this all works fine on
> FVP Foundation & AEMv8, TC2 and Juno R0/1/2.
>
> Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
>

Thanks! I take it this is with the two serieses combined?
Ryan Harkin April 11, 2017, 5:05 p.m. UTC | #3
On 11 April 2017 at 18:03, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> On 11 April 2017 at 18:00, Ryan Harkin <ryan.harkin@linaro.org> wrote:
>> On 10 April 2017 at 17:22, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>>> This is now mainly focused on FVP, although some changes affect TC2 and Juno
>>> as well. However, the switch to DtPlatformDxe, which is the primary purpose of
>>> this series, is only implemented for FVP.
>>>
>>> Note that the full functionality is only enabled when building with
>>> DT_SUPPORT=TRUE, in which case the platform is built with a bunch of DTB
>>> images built in, and a menu option that allows choosing between ACPI and
>>> DT (which does require working non-volatile storage). Without DT support,
>>> the platform is essentially ACPI only, unless a DTB is supplied to the OS
>>> via one of the available out-of-band mechanisms.
>>>
>>
>> I'm not 100% convinced that disabling device tree by default is the
>> right thing to do. But at the same time, it's not my call and I don't
>> boot anything interesting using FVP anyway, so I don't mind.
>>
>
> DT_SUPPORT=TRUE will give you a build that defaults to device tree.
> Otherwise, you will get a build that defaults to ACPI.
>

I'm sure it's fine.


>> For the limited amount of stuff I need working, this all works fine on
>> FVP Foundation & AEMv8, TC2 and Juno R0/1/2.
>>
>> Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
>>
>
> Thanks! I take it this is with the two serieses combined?

Yes :-) I should have said. I've sent a Tested-by for that series also.