[Linaro-uefi] Platforms/FVP: drop GICv2 support

Message ID 1467818419-12455-1-git-send-email-ard.biesheuvel@linaro.org
State Accepted
Commit 084445120e94910025e02fe66ac528a3f4cc303a
Headers show

Commit Message

Ard Biesheuvel July 6, 2016, 3:20 p.m.
Now that ARM Trusted Firmware has dropped support for the legacy VE memory
map (which means it can only support the FVP Foundation model in GICv3
mode), and runs the GICv3 in native mode by default on the secure side
(which prevents a GICv2 compatible GICv3 from being driven in v2 mode on
the non-secure side), there is little point in keeping the GICv2 legacy
ifdefs in the FVP dsc. So remove them.

Note that we will still be able to support FVP Base in GICv2 mode after
applying this patch, but running it will require a special build of ATF
with FVP_GICV2 defined.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
 Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 9 ---------
 1 file changed, 9 deletions(-)

Comments

Ryan Harkin July 6, 2016, 4:06 p.m. | #1
On 6 July 2016 at 16:20, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> Now that ARM Trusted Firmware has dropped support for the legacy VE memory
> map (which means it can only support the FVP Foundation model in GICv3
> mode), and runs the GICv3 in native mode by default on the secure side
> (which prevents a GICv2 compatible GICv3 from being driven in v2 mode on
> the non-secure side), there is little point in keeping the GICv2 legacy
> ifdefs in the FVP dsc. So remove them.
>
> Note that we will still be able to support FVP Base in GICv2 mode after
> applying this patch, but running it will require a special build of ATF
> with FVP_GICV2 defined.
>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

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


> ---
>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 9 ---------
>  1 file changed, 9 deletions(-)
>
> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> index 1e871b541c6e..3d67823cf5db 100644
> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> @@ -82,10 +82,6 @@
>    #  It could be set FALSE to save size.
>    gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
>
> -!ifdef ARM_FVP_GICV3_WITH_V2_LEGACY
> -  gArmTokenSpaceGuid.PcdArmGicV3WithV2Legacy|TRUE
> -!endif
> -
>  [PcdsFixedAtBuild.common]
>    gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Fixed Virtual Platform"
>    gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ARM-FVP"
> @@ -154,14 +150,9 @@
>    #
>    # ARM General Interrupt Controller
>    #
> -!ifdef ARM_FVP_LEGACY_GICV2_LOCATION
> -  gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000
> -  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C002000
> -!else
>    gArmTokenSpaceGuid.PcdGicDistributorBase|0x2f000000
>    gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x2f100000
>    gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C000000
> -!endif
>
>    #
>    # ARM OS Loader
> --
> 1.9.1
>
Leif Lindholm July 6, 2016, 4:25 p.m. | #2
On Wed, Jul 06, 2016 at 05:20:19PM +0200, Ard Biesheuvel wrote:
> Now that ARM Trusted Firmware has dropped support for the legacy VE memory
> map (which means it can only support the FVP Foundation model in GICv3
> mode), and runs the GICv3 in native mode by default on the secure side
> (which prevents a GICv2 compatible GICv3 from being driven in v2 mode on
> the non-secure side), there is little point in keeping the GICv2 legacy
> ifdefs in the FVP dsc. So remove them.
> 
> Note that we will still be able to support FVP Base in GICv2 mode after
> applying this patch, but running it will require a special build of ATF
> with FVP_GICV2 defined.
> 
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Makes sense:
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

> ---
>  Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc | 9 ---------
>  1 file changed, 9 deletions(-)
> 
> diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> index 1e871b541c6e..3d67823cf5db 100644
> --- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> +++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
> @@ -82,10 +82,6 @@
>    #  It could be set FALSE to save size.
>    gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
>  
> -!ifdef ARM_FVP_GICV3_WITH_V2_LEGACY
> -  gArmTokenSpaceGuid.PcdArmGicV3WithV2Legacy|TRUE
> -!endif
> -
>  [PcdsFixedAtBuild.common]
>    gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Fixed Virtual Platform"
>    gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ARM-FVP"
> @@ -154,14 +150,9 @@
>    #
>    # ARM General Interrupt Controller
>    #
> -!ifdef ARM_FVP_LEGACY_GICV2_LOCATION
> -  gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000
> -  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C002000
> -!else
>    gArmTokenSpaceGuid.PcdGicDistributorBase|0x2f000000
>    gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x2f100000
>    gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C000000
> -!endif
>  
>    #
>    # ARM OS Loader
> -- 
> 1.9.1
>

Patch

diff --git a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
index 1e871b541c6e..3d67823cf5db 100644
--- a/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
+++ b/Platforms/ARM/VExpress/ArmVExpress-FVP-AArch64.dsc
@@ -82,10 +82,6 @@ 
   #  It could be set FALSE to save size.
   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
 
-!ifdef ARM_FVP_GICV3_WITH_V2_LEGACY
-  gArmTokenSpaceGuid.PcdArmGicV3WithV2Legacy|TRUE
-!endif
-
 [PcdsFixedAtBuild.common]
   gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Fixed Virtual Platform"
   gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ARM-FVP"
@@ -154,14 +150,9 @@ 
   #
   # ARM General Interrupt Controller
   #
-!ifdef ARM_FVP_LEGACY_GICV2_LOCATION
-  gArmTokenSpaceGuid.PcdGicDistributorBase|0x2C001000
-  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C002000
-!else
   gArmTokenSpaceGuid.PcdGicDistributorBase|0x2f000000
   gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x2f100000
   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x2C000000
-!endif
 
   #
   # ARM OS Loader