Re: [edk2] [PATCH 1/2] ArmPlatformPkg: remove ArmVExpress-FVP-AArch64

2016-01-18 Thread Laszlo Ersek
On 01/18/16 15:29, Ryan Harkin wrote:
> ARM Ltd Platform support is migrating to use OpenPlatformPkg [1].
> 
> Currently, FVP exists both in EDK2's ArmPlatformPkg and in
> OpenPlatformPkg [2].  And they are starting to diverge, with
> OpenPlatformPkg being the most up-to-date with current developments.
> To prevent this divergence, remove the .dsc and .fdf files from
> ArmPlatformPkg and leave OpenPlatformPkg as the master.
> 
> [1] https://git.linaro.org/uefi/OpenPlatformPkg.git
> [2] 
> https://git.linaro.org/uefi/OpenPlatformPkg.git/tree/master:/Platforms/ARM/VExpress
> 
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Ryan Harkin 
> ---
>  .../ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc | 317 
>  .../ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf | 401 
> -
>  2 files changed, 718 deletions(-)

Shouldn't OpenPlatformPkg be merged into edk2 first?

Although, I admit that it's been many months (... hm, apparently a bit
more than a year) that I built ArmVExpress-FVP-AArch64, so perhaps it's
not even functional in edk2. Is that the case?

If it is, then there's nothing to regress with this patch I guess.

Otherwise, if ArmVExpress-FVP-AArch64 does work in edk2 (just lacks
features / fixes), then this looks like a pretty big functionality
regression to me. I vaguely recall that Leif mentioned wanting to bring
OpenPlatformPkg into edk2 -- can that happen first?

Anyway, I've got no horse in this race; it's just that we've been
stressing "no regressions pls".

Hm... I think I found the relevant message from Leif:

http://thread.gmane.org/gmane.comp.bios.tianocore.devel/17544/focus=552

After skimming the presentation linked therein: I guess nothing has
changed since last July, and at this point you'd like to avoid
fragmentation. I do find that convincing.

Thanks
Laszlo

> diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc 
> b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
> deleted file mode 100644
> index af46331..000
> --- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
> +++ /dev/null
> @@ -1,317 +0,0 @@
> -#
> -#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.
> -#  Copyright (c) 2015, Intel Corporation. All rights reserved.
> -#
> -#  This program and the accompanying materials
> -#  are licensed and made available under the terms and conditions of the BSD 
> License
> -#  which accompanies this distribution.  The full text of the license may be 
> found at
> -#  http://opensource.org/licenses/bsd-license.php
> -#
> -#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -#
> -#
> -
> -
> -#
> -# Defines Section - statements that will be processed to create a Makefile.
> -#
> -
> -[Defines]
> -  PLATFORM_NAME  = ArmVExpress-FVP-AArch64
> -  PLATFORM_GUID  = 0de70077-9b3b-43bf-ba38-0ea37d77141b
> -  PLATFORM_VERSION   = 0.1
> -  DSC_SPECIFICATION  = 0x00010005
> -  OUTPUT_DIRECTORY   = Build/ArmVExpress-FVP-AArch64
> -  SUPPORTED_ARCHITECTURES= AARCH64
> -  BUILD_TARGETS  = DEBUG|RELEASE
> -  SKUID_IDENTIFIER   = DEFAULT
> -  FLASH_DEFINITION   = 
> ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf
> -
> -!ifndef ARM_FVP_RUN_NORFLASH
> -  DEFINE EDK2_SKIP_PEICORE=1
> -!endif
> -
> -
> -!include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
> -
> -[LibraryClasses.common]
> -  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
> -  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
> -  
> ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
> -
> -  
> ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
> -  
> NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
> -  
> LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
> -
> -  TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
> -
> -  # Virtio Support
> -  VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
> -  
> VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
> -
> -[LibraryClasses.common.SEC]
> -  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf
> -  
> ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf
> -  
> ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
> -
> -[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, 
> 

[edk2] [PATCH 1/2] ArmPlatformPkg: remove ArmVExpress-FVP-AArch64

2016-01-18 Thread Ryan Harkin
ARM Ltd Platform support is migrating to use OpenPlatformPkg [1].

Currently, FVP exists both in EDK2's ArmPlatformPkg and in
OpenPlatformPkg [2].  And they are starting to diverge, with
OpenPlatformPkg being the most up-to-date with current developments.
To prevent this divergence, remove the .dsc and .fdf files from
ArmPlatformPkg and leave OpenPlatformPkg as the master.

[1] https://git.linaro.org/uefi/OpenPlatformPkg.git
[2] 
https://git.linaro.org/uefi/OpenPlatformPkg.git/tree/master:/Platforms/ARM/VExpress

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ryan Harkin 
---
 .../ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc | 317 
 .../ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf | 401 -
 2 files changed, 718 deletions(-)

diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc 
b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
deleted file mode 100644
index af46331..000
--- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
+++ /dev/null
@@ -1,317 +0,0 @@
-#
-#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.
-#  Copyright (c) 2015, Intel Corporation. All rights reserved.
-#
-#  This program and the accompanying materials
-#  are licensed and made available under the terms and conditions of the BSD 
License
-#  which accompanies this distribution.  The full text of the license may be 
found at
-#  http://opensource.org/licenses/bsd-license.php
-#
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
IMPLIED.
-#
-#
-
-
-#
-# Defines Section - statements that will be processed to create a Makefile.
-#
-
-[Defines]
-  PLATFORM_NAME  = ArmVExpress-FVP-AArch64
-  PLATFORM_GUID  = 0de70077-9b3b-43bf-ba38-0ea37d77141b
-  PLATFORM_VERSION   = 0.1
-  DSC_SPECIFICATION  = 0x00010005
-  OUTPUT_DIRECTORY   = Build/ArmVExpress-FVP-AArch64
-  SUPPORTED_ARCHITECTURES= AARCH64
-  BUILD_TARGETS  = DEBUG|RELEASE
-  SKUID_IDENTIFIER   = DEFAULT
-  FLASH_DEFINITION   = 
ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf
-
-!ifndef ARM_FVP_RUN_NORFLASH
-  DEFINE EDK2_SKIP_PEICORE=1
-!endif
-
-
-!include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
-
-[LibraryClasses.common]
-  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
-  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
-  
ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
-
-  
ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
-  
NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
-  
LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
-
-  TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
-
-  # Virtio Support
-  VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
-  
VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
-
-[LibraryClasses.common.SEC]
-  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf
-  
ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibRTSM/ArmVExpressSecLib.inf
-  
ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLibSec.inf
-
-[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION, 
LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_DRIVER]
-  PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-
-[BuildOptions]
-  GCC:*_*_AARCH64_PLATFORM_FLAGS == 
-I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include 
-I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/RTSM
-
-
-
-#
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform
-#
-
-
-[PcdsFeatureFlag.common]
-
-  ## If TRUE, Graphics Output Protocol will be installed on virtual handle 
created by ConsplitterDxe.
-  #  It could be set FALSE to save size.
-  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
-
-[PcdsFixedAtBuild.common]
-  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Fixed Virtual Platform"
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ARM-FVP"
-
-  # Up to 8 cores on Base models. This works fine if model happens to have 
less.
-  gArmPlatformTokenSpaceGuid.PcdCoreCount|8
-  gArmPlatformTokenSpaceGuid.PcdClusterCount|2
-
-  #
-  # NV Storage PCDs. Use base of 0x0C00 for NOR1
-  #
-  

Re: [edk2] [PATCH 1/2] ArmPlatformPkg: remove ArmVExpress-FVP-AArch64

2016-01-18 Thread Ryan Harkin
On 18 January 2016 at 14:55, Laszlo Ersek  wrote:
> On 01/18/16 15:29, Ryan Harkin wrote:
>> ARM Ltd Platform support is migrating to use OpenPlatformPkg [1].
>>
>> Currently, FVP exists both in EDK2's ArmPlatformPkg and in
>> OpenPlatformPkg [2].  And they are starting to diverge, with
>> OpenPlatformPkg being the most up-to-date with current developments.
>> To prevent this divergence, remove the .dsc and .fdf files from
>> ArmPlatformPkg and leave OpenPlatformPkg as the master.
>>
>> [1] https://git.linaro.org/uefi/OpenPlatformPkg.git
>> [2] 
>> https://git.linaro.org/uefi/OpenPlatformPkg.git/tree/master:/Platforms/ARM/VExpress
>>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Ryan Harkin 
>> ---
>>  .../ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc | 317 
>>  .../ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf | 401 
>> -
>>  2 files changed, 718 deletions(-)
>
> Shouldn't OpenPlatformPkg be merged into edk2 first?
>
> Although, I admit that it's been many months (... hm, apparently a bit
> more than a year) that I built ArmVExpress-FVP-AArch64, so perhaps it's
> not even functional in edk2. Is that the case?
>

It works fine in edk2, it's just duplicated.  I've just found from Ard
that there's a patch in EDK2 missing from OpenPlatformPkg, but that's
under discussion on the [PATCH 0/2] email from this thread.  There are
patched in OpenPlatformPkg that are missing from EDK2, however.

I'm about to refactor all of the ARM Ltd platform support and I've
agreed to do it in OpenPlatformPkg.  I'm not up for maintaining two
copies, that's for sure.

> If it is, then there's nothing to regress with this patch I guess.
>
> Otherwise, if ArmVExpress-FVP-AArch64 does work in edk2 (just lacks
> features / fixes), then this looks like a pretty big functionality
> regression to me. I vaguely recall that Leif mentioned wanting to bring
> OpenPlatformPkg into edk2 -- can that happen first?
>
> Anyway, I've got no horse in this race; it's just that we've been
> stressing "no regressions pls".
>
> Hm... I think I found the relevant message from Leif:
>
> http://thread.gmane.org/gmane.comp.bios.tianocore.devel/17544/focus=552
>
> After skimming the presentation linked therein: I guess nothing has
> changed since last July, and at this point you'd like to avoid
> fragmentation. I do find that convincing.
>
> Thanks
> Laszlo
>
>> diff --git a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc 
>> b/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
>> deleted file mode 100644
>> index af46331..000
>> --- a/ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
>> +++ /dev/null
>> @@ -1,317 +0,0 @@
>> -#
>> -#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.
>> -#  Copyright (c) 2015, Intel Corporation. All rights reserved.
>> -#
>> -#  This program and the accompanying materials
>> -#  are licensed and made available under the terms and conditions of the 
>> BSD License
>> -#  which accompanies this distribution.  The full text of the license may 
>> be found at
>> -#  http://opensource.org/licenses/bsd-license.php
>> -#
>> -#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> -#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
>> IMPLIED.
>> -#
>> -#
>> -
>> -
>> -#
>> -# Defines Section - statements that will be processed to create a Makefile.
>> -#
>> -
>> -[Defines]
>> -  PLATFORM_NAME  = ArmVExpress-FVP-AArch64
>> -  PLATFORM_GUID  = 0de70077-9b3b-43bf-ba38-0ea37d77141b
>> -  PLATFORM_VERSION   = 0.1
>> -  DSC_SPECIFICATION  = 0x00010005
>> -  OUTPUT_DIRECTORY   = Build/ArmVExpress-FVP-AArch64
>> -  SUPPORTED_ARCHITECTURES= AARCH64
>> -  BUILD_TARGETS  = DEBUG|RELEASE
>> -  SKUID_IDENTIFIER   = DEFAULT
>> -  FLASH_DEFINITION   = 
>> ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf
>> -
>> -!ifndef ARM_FVP_RUN_NORFLASH
>> -  DEFINE EDK2_SKIP_PEICORE=1
>> -!endif
>> -
>> -
>> -!include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
>> -
>> -[LibraryClasses.common]
>> -  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
>> -  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
>> -  
>> ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf
>> -
>> -  
>> ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
>> -  
>> NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
>> -  
>> LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
>>