diff mbox series

[edk2] ArmVirtPkg: remove ArmPlatformSysConfigLib dependency

Message ID 20171115140319.32570-1-ard.biesheuvel@linaro.org
State Accepted
Commit f311e5d8b5e1928eec602334194187d7811d905a
Headers show
Series [edk2] ArmVirtPkg: remove ArmPlatformSysConfigLib dependency | expand

Commit Message

Ard Biesheuvel Nov. 15, 2017, 2:03 p.m. UTC
Now that the PL031 RTC driver library no longer depends on the ARM
platform specific ArmPlatformSysConfigLib, we no longer need to
implement ArmPlatform.h or have a resolution for that library.
This allows us to get rid of a rather dodgy practice of including
platform headers using compiler flags, which is a bad idea at various
levels.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

---
PL031 patch is on-list and pending.

 ArmVirtPkg/ArmVirtQemu.dsc                                         |  7 -----
 ArmVirtPkg/ArmVirtQemuKernel.dsc                                   |  6 ----
 ArmVirtPkg/ArmVirtXen.dsc                                          |  6 ----
 ArmVirtPkg/Include/ArmPlatform.h                                   | 33 --------------------
 ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c     |  1 -
 ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c |  1 -
 ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c                       |  1 -
 ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c                    |  1 -
 ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c  |  1 -
 ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c       |  1 -
 ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c               |  7 ++++-
 11 files changed, 6 insertions(+), 59 deletions(-)

-- 
2.11.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Laszlo Ersek Nov. 15, 2017, 11:03 p.m. UTC | #1
On 11/15/17 15:03, Ard Biesheuvel wrote:
> Now that the PL031 RTC driver library no longer depends on the ARM

> platform specific ArmPlatformSysConfigLib, we no longer need to

> implement ArmPlatform.h or have a resolution for that library.

> This allows us to get rid of a rather dodgy practice of including

> platform headers using compiler flags, which is a bad idea at various

> levels.

> 

> Contributed-under: TianoCore Contribution Agreement 1.1

> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---

> PL031 patch is on-list and pending.

> 

>  ArmVirtPkg/ArmVirtQemu.dsc                                         |  7 -----

>  ArmVirtPkg/ArmVirtQemuKernel.dsc                                   |  6 ----

>  ArmVirtPkg/ArmVirtXen.dsc                                          |  6 ----

>  ArmVirtPkg/Include/ArmPlatform.h                                   | 33 --------------------

>  ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c     |  1 -

>  ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c |  1 -

>  ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c                       |  1 -

>  ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c                    |  1 -

>  ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c  |  1 -

>  ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c       |  1 -

>  ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c               |  7 ++++-

>  11 files changed, 6 insertions(+), 59 deletions(-)

> 

> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc

> index 8a60b61f2aa6..d1b3849d856a 100644

> --- a/ArmVirtPkg/ArmVirtQemu.dsc

> +++ b/ArmVirtPkg/ArmVirtQemu.dsc

> @@ -49,7 +49,6 @@ [LibraryClasses.common]

>    QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf

>  

>    ArmPlatformLib|ArmVirtPkg/Library/ArmVirtPlatformLib/ArmVirtPlatformLib.inf

> -  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf

>  

>    TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf

>    NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf

> @@ -71,12 +70,6 @@ [LibraryClasses.common]

>  [LibraryClasses.common.UEFI_DRIVER]

>    UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf

>  

> -[BuildOptions]

> -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  *_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmVirtPkg/Include

> -

> -

>  ################################################################################

>  #

>  # Pcd Section - list of all EDK II PCD Entries defined by this Platform

> diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc

> index 9a31ec93ca06..c7058718b0a6 100644

> --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc

> +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc

> @@ -49,7 +49,6 @@ [LibraryClasses.common]

>    QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf

>  

>    ArmPlatformLib|ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/ArmQemuRelocatablePlatformLib.inf

> -  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf

>  

>    TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf

>    NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf

> @@ -71,11 +70,6 @@ [LibraryClasses.common]

>  [LibraryClasses.common.UEFI_DRIVER]

>    UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf

>  

> -[BuildOptions]

> -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  *_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmVirtPkg/Include

> -

>  [BuildOptions.ARM.EDKII.SEC, BuildOptions.ARM.EDKII.BASE]

>    # Avoid MOVT/MOVW instruction pairs in code that may end up in the PIE

>    # executable we build for the relocatable PrePi. They are not runtime

> diff --git a/ArmVirtPkg/ArmVirtXen.dsc b/ArmVirtPkg/ArmVirtXen.dsc

> index e9437066ca56..7a443483d1ac 100644

> --- a/ArmVirtPkg/ArmVirtXen.dsc

> +++ b/ArmVirtPkg/ArmVirtXen.dsc

> @@ -44,7 +44,6 @@ [LibraryClasses]

>    VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf

>  

>    ArmPlatformLib|ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/ArmXenRelocatablePlatformLib.inf

> -  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf

>  

>    TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf

>  

> @@ -56,11 +55,6 @@ [LibraryClasses]

>  [LibraryClasses.common.UEFI_DRIVER]

>    UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf

>  

> -[BuildOptions]

> -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmVirtPkg/Include

> -

>  [BuildOptions.ARM.EDKII.SEC, BuildOptions.ARM.EDKII.BASE]

>    # Avoid MOVT/MOVW instruction pairs in code that may end up in the PIE

>    # executable we build for the relocatable PrePi. They are not runtime

> diff --git a/ArmVirtPkg/Include/ArmPlatform.h b/ArmVirtPkg/Include/ArmPlatform.h

> deleted file mode 100644

> index 77178aabb310..000000000000

> --- a/ArmVirtPkg/Include/ArmPlatform.h

> +++ /dev/null

> @@ -1,33 +0,0 @@

> -/** @file

> -*  Header defining platform constants (Base addresses, sizes, flags)

> -*

> -*  Copyright (c) 2011, ARM Limited. All rights reserved.

> -*  Copyright (c) 2014, Linaro Limited

> -*

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

> -*

> -**/

> -

> -#ifndef __PLATFORM_H__

> -#define __PLATFORM_H__

> -

> -//

> -// We don't care about this value, but the PL031 driver depends on the macro

> -// to exist: it will pass it on to our ArmPlatformSysConfigLib:ConfigGet()

> -// function, which just returns EFI_UNSUPPORTED.

> -//

> -#define SYS_CFG_RTC       0x0

> -

> -#define QEMU_NOR_BLOCK_SIZE    SIZE_256KB

> -#define QEMU_NOR0_BASE         0x0

> -#define QEMU_NOR0_SIZE         SIZE_64MB

> -#define QEMU_NOR1_BASE         0x04000000

> -#define QEMU_NOR1_SIZE         SIZE_64MB

> -

> -#endif

> diff --git a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c

> index be512aa3d5b1..2ce5c48d52cf 100644

> --- a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c

> +++ b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c

> @@ -18,7 +18,6 @@

>  #include <Library/PcdLib.h>

>  #include <Library/IoLib.h>

>  #include <Library/MemoryAllocationLib.h>

> -#include <ArmPlatform.h>

>  

>  // Number of Virtual Memory Map Descriptors

>  #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          5

> diff --git a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c

> index c10c09fed2bd..6df207733ab2 100644

> --- a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c

> +++ b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c

> @@ -18,7 +18,6 @@

>  #include <Library/IoLib.h>

>  #include <Library/ArmPlatformLib.h>

>  #include <Library/DebugLib.h>

> -#include <ArmPlatform.h>

>  #include <Pi/PiBootMode.h>

>  

>  /**

> diff --git a/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c b/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c

> index fcaf3c681a97..140bdde8b2ac 100644

> --- a/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c

> +++ b/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c

> @@ -19,7 +19,6 @@

>  #include <Library/ArmPlatformLib.h>

>  #include <Library/DebugLib.h>

>  #include <Library/PcdLib.h>

> -#include <ArmPlatform.h>

>  #include <libfdt.h>

>  #include <Pi/PiBootMode.h>

>  #include <Uefi/UefiBaseType.h>

> diff --git a/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c b/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c

> index 666edb47ce97..d10548f86dfc 100644

> --- a/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c

> +++ b/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c

> @@ -18,7 +18,6 @@

>  #include <Library/PcdLib.h>

>  #include <Library/IoLib.h>

>  #include <Library/MemoryAllocationLib.h>

> -#include <ArmPlatform.h>

>  

>  // Number of Virtual Memory Map Descriptors

>  #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          5

> diff --git a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c

> index c10c09fed2bd..6df207733ab2 100644

> --- a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c

> +++ b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c

> @@ -18,7 +18,6 @@

>  #include <Library/IoLib.h>

>  #include <Library/ArmPlatformLib.h>

>  #include <Library/DebugLib.h>

> -#include <ArmPlatform.h>

>  #include <Pi/PiBootMode.h>

>  

>  /**

> diff --git a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c

> index 657b840059c2..63090586cf8b 100644

> --- a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c

> +++ b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c

> @@ -18,7 +18,6 @@

>  #include <Library/PcdLib.h>

>  #include <Library/IoLib.h>

>  #include <Library/MemoryAllocationLib.h>

> -#include <ArmPlatform.h>

>  

>  // Number of Virtual Memory Map Descriptors

>  #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          2

> diff --git a/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c b/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c

> index d63a2d989f69..e3bbae5b06c5 100644

> --- a/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c

> +++ b/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c

> @@ -12,9 +12,14 @@

>  

>   **/

>  

> -#include <ArmPlatform.h>

>  #include <Library/NorFlashPlatformLib.h>

>  

> +#define QEMU_NOR_BLOCK_SIZE    SIZE_256KB

> +#define QEMU_NOR0_BASE         0x0

> +#define QEMU_NOR0_SIZE         SIZE_64MB

> +#define QEMU_NOR1_BASE         0x04000000

> +#define QEMU_NOR1_SIZE         SIZE_64MB

> +

>  EFI_STATUS

>  NorFlashPlatformInitialization (

>    VOID

> 


Reviewed-by: Laszlo Ersek <lersek@redhat.com>

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 16, 2017, 9:40 a.m. UTC | #2
On 15 November 2017 at 14:03, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> Now that the PL031 RTC driver library no longer depends on the ARM

> platform specific ArmPlatformSysConfigLib, we no longer need to

> implement ArmPlatform.h or have a resolution for that library.

> This allows us to get rid of a rather dodgy practice of including

> platform headers using compiler flags, which is a bad idea at various

> levels.

>

> Contributed-under: TianoCore Contribution Agreement 1.1

> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---

> PL031 patch is on-list and pending.

>

>  ArmVirtPkg/ArmVirtQemu.dsc                                         |  7 -----

>  ArmVirtPkg/ArmVirtQemuKernel.dsc                                   |  6 ----

>  ArmVirtPkg/ArmVirtXen.dsc                                          |  6 ----

>  ArmVirtPkg/Include/ArmPlatform.h                                   | 33 --------------------

>  ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c     |  1 -

>  ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c |  1 -

>  ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c                       |  1 -

>  ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c                    |  1 -

>  ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c  |  1 -

>  ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c       |  1 -

>  ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c               |  7 ++++-

>  11 files changed, 6 insertions(+), 59 deletions(-)

>

> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc

> index 8a60b61f2aa6..d1b3849d856a 100644

> --- a/ArmVirtPkg/ArmVirtQemu.dsc

> +++ b/ArmVirtPkg/ArmVirtQemu.dsc

> @@ -49,7 +49,6 @@ [LibraryClasses.common]

>    QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf

>

>    ArmPlatformLib|ArmVirtPkg/Library/ArmVirtPlatformLib/ArmVirtPlatformLib.inf

> -  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf

>

>    TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf

>    NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf

> @@ -71,12 +70,6 @@ [LibraryClasses.common]

>  [LibraryClasses.common.UEFI_DRIVER]

>    UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf

>

> -[BuildOptions]

> -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include


Oops. I will need to retain the -mcpu setting here, or the 'hvc'
instruction will be rejected by the assembler.

> -  *_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmVirtPkg/Include

> -

> -

>  ################################################################################

>  #

>  # Pcd Section - list of all EDK II PCD Entries defined by this Platform

> diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc

> index 9a31ec93ca06..c7058718b0a6 100644

> --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc

> +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc

> @@ -49,7 +49,6 @@ [LibraryClasses.common]

>    QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf

>

>    ArmPlatformLib|ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/ArmQemuRelocatablePlatformLib.inf

> -  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf

>

>    TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf

>    NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf

> @@ -71,11 +70,6 @@ [LibraryClasses.common]

>  [LibraryClasses.common.UEFI_DRIVER]

>    UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf

>

> -[BuildOptions]

> -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  *_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmVirtPkg/Include

> -

>  [BuildOptions.ARM.EDKII.SEC, BuildOptions.ARM.EDKII.BASE]

>    # Avoid MOVT/MOVW instruction pairs in code that may end up in the PIE

>    # executable we build for the relocatable PrePi. They are not runtime

> diff --git a/ArmVirtPkg/ArmVirtXen.dsc b/ArmVirtPkg/ArmVirtXen.dsc

> index e9437066ca56..7a443483d1ac 100644

> --- a/ArmVirtPkg/ArmVirtXen.dsc

> +++ b/ArmVirtPkg/ArmVirtXen.dsc

> @@ -44,7 +44,6 @@ [LibraryClasses]

>    VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf

>

>    ArmPlatformLib|ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/ArmXenRelocatablePlatformLib.inf

> -  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf

>

>    TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf

>

> @@ -56,11 +55,6 @@ [LibraryClasses]

>  [LibraryClasses.common.UEFI_DRIVER]

>    UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf

>

> -[BuildOptions]

> -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include

> -  GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmVirtPkg/Include

> -

>  [BuildOptions.ARM.EDKII.SEC, BuildOptions.ARM.EDKII.BASE]

>    # Avoid MOVT/MOVW instruction pairs in code that may end up in the PIE

>    # executable we build for the relocatable PrePi. They are not runtime

> diff --git a/ArmVirtPkg/Include/ArmPlatform.h b/ArmVirtPkg/Include/ArmPlatform.h

> deleted file mode 100644

> index 77178aabb310..000000000000

> --- a/ArmVirtPkg/Include/ArmPlatform.h

> +++ /dev/null

> @@ -1,33 +0,0 @@

> -/** @file

> -*  Header defining platform constants (Base addresses, sizes, flags)

> -*

> -*  Copyright (c) 2011, ARM Limited. All rights reserved.

> -*  Copyright (c) 2014, Linaro Limited

> -*

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

> -*

> -**/

> -

> -#ifndef __PLATFORM_H__

> -#define __PLATFORM_H__

> -

> -//

> -// We don't care about this value, but the PL031 driver depends on the macro

> -// to exist: it will pass it on to our ArmPlatformSysConfigLib:ConfigGet()

> -// function, which just returns EFI_UNSUPPORTED.

> -//

> -#define SYS_CFG_RTC       0x0

> -

> -#define QEMU_NOR_BLOCK_SIZE    SIZE_256KB

> -#define QEMU_NOR0_BASE         0x0

> -#define QEMU_NOR0_SIZE         SIZE_64MB

> -#define QEMU_NOR1_BASE         0x04000000

> -#define QEMU_NOR1_SIZE         SIZE_64MB

> -

> -#endif

> diff --git a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c

> index be512aa3d5b1..2ce5c48d52cf 100644

> --- a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c

> +++ b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c

> @@ -18,7 +18,6 @@

>  #include <Library/PcdLib.h>

>  #include <Library/IoLib.h>

>  #include <Library/MemoryAllocationLib.h>

> -#include <ArmPlatform.h>

>

>  // Number of Virtual Memory Map Descriptors

>  #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          5

> diff --git a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c

> index c10c09fed2bd..6df207733ab2 100644

> --- a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c

> +++ b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c

> @@ -18,7 +18,6 @@

>  #include <Library/IoLib.h>

>  #include <Library/ArmPlatformLib.h>

>  #include <Library/DebugLib.h>

> -#include <ArmPlatform.h>

>  #include <Pi/PiBootMode.h>

>

>  /**

> diff --git a/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c b/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c

> index fcaf3c681a97..140bdde8b2ac 100644

> --- a/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c

> +++ b/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c

> @@ -19,7 +19,6 @@

>  #include <Library/ArmPlatformLib.h>

>  #include <Library/DebugLib.h>

>  #include <Library/PcdLib.h>

> -#include <ArmPlatform.h>

>  #include <libfdt.h>

>  #include <Pi/PiBootMode.h>

>  #include <Uefi/UefiBaseType.h>

> diff --git a/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c b/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c

> index 666edb47ce97..d10548f86dfc 100644

> --- a/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c

> +++ b/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c

> @@ -18,7 +18,6 @@

>  #include <Library/PcdLib.h>

>  #include <Library/IoLib.h>

>  #include <Library/MemoryAllocationLib.h>

> -#include <ArmPlatform.h>

>

>  // Number of Virtual Memory Map Descriptors

>  #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          5

> diff --git a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c

> index c10c09fed2bd..6df207733ab2 100644

> --- a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c

> +++ b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c

> @@ -18,7 +18,6 @@

>  #include <Library/IoLib.h>

>  #include <Library/ArmPlatformLib.h>

>  #include <Library/DebugLib.h>

> -#include <ArmPlatform.h>

>  #include <Pi/PiBootMode.h>

>

>  /**

> diff --git a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c

> index 657b840059c2..63090586cf8b 100644

> --- a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c

> +++ b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c

> @@ -18,7 +18,6 @@

>  #include <Library/PcdLib.h>

>  #include <Library/IoLib.h>

>  #include <Library/MemoryAllocationLib.h>

> -#include <ArmPlatform.h>

>

>  // Number of Virtual Memory Map Descriptors

>  #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          2

> diff --git a/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c b/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c

> index d63a2d989f69..e3bbae5b06c5 100644

> --- a/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c

> +++ b/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c

> @@ -12,9 +12,14 @@

>

>   **/

>

> -#include <ArmPlatform.h>

>  #include <Library/NorFlashPlatformLib.h>

>

> +#define QEMU_NOR_BLOCK_SIZE    SIZE_256KB

> +#define QEMU_NOR0_BASE         0x0

> +#define QEMU_NOR0_SIZE         SIZE_64MB

> +#define QEMU_NOR1_BASE         0x04000000

> +#define QEMU_NOR1_SIZE         SIZE_64MB

> +

>  EFI_STATUS

>  NorFlashPlatformInitialization (

>    VOID

> --

> 2.11.0

>

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Leif Lindholm Nov. 16, 2017, 11:59 a.m. UTC | #3
On Thu, Nov 16, 2017 at 09:40:58AM +0000, Ard Biesheuvel wrote:
> On 15 November 2017 at 14:03, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

> > Now that the PL031 RTC driver library no longer depends on the ARM

> > platform specific ArmPlatformSysConfigLib, we no longer need to

> > implement ArmPlatform.h or have a resolution for that library.

> > This allows us to get rid of a rather dodgy practice of including

> > platform headers using compiler flags, which is a bad idea at various

> > levels.

> >

> > Contributed-under: TianoCore Contribution Agreement 1.1

> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> > ---

> > PL031 patch is on-list and pending.

> >

> >  ArmVirtPkg/ArmVirtQemu.dsc                                         |  7 -----

> >  ArmVirtPkg/ArmVirtQemuKernel.dsc                                   |  6 ----

> >  ArmVirtPkg/ArmVirtXen.dsc                                          |  6 ----

> >  ArmVirtPkg/Include/ArmPlatform.h                                   | 33 --------------------

> >  ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c     |  1 -

> >  ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c |  1 -

> >  ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c                       |  1 -

> >  ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c                    |  1 -

> >  ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c  |  1 -

> >  ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c       |  1 -

> >  ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c               |  7 ++++-

> >  11 files changed, 6 insertions(+), 59 deletions(-)

> >

> > diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc

> > index 8a60b61f2aa6..d1b3849d856a 100644

> > --- a/ArmVirtPkg/ArmVirtQemu.dsc

> > +++ b/ArmVirtPkg/ArmVirtQemu.dsc

> > @@ -49,7 +49,6 @@ [LibraryClasses.common]

> >    QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf

> >

> >    ArmPlatformLib|ArmVirtPkg/Library/ArmVirtPlatformLib/ArmVirtPlatformLib.inf

> > -  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf

> >

> >    TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf

> >    NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf

> > @@ -71,12 +70,6 @@ [LibraryClasses.common]

> >  [LibraryClasses.common.UEFI_DRIVER]

> >    UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf

> >

> > -[BuildOptions]

> > -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include

> > -  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include

> 

> Oops. I will need to retain the -mcpu setting here, or the 'hvc'

> instruction will be rejected by the assembler.


Don't we have source-level overrides for that?
At least ".arch_extension virt" for GNU.

/
    Leif
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 16, 2017, 12:34 p.m. UTC | #4
> On 16 Nov 2017, at 11:59, Leif Lindholm <leif.lindholm@linaro.org> wrote:

> 

>> On Thu, Nov 16, 2017 at 09:40:58AM +0000, Ard Biesheuvel wrote:

>>> On 15 November 2017 at 14:03, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

>>> Now that the PL031 RTC driver library no longer depends on the ARM

>>> platform specific ArmPlatformSysConfigLib, we no longer need to

>>> implement ArmPlatform.h or have a resolution for that library.

>>> This allows us to get rid of a rather dodgy practice of including

>>> platform headers using compiler flags, which is a bad idea at various

>>> levels.

>>> 

>>> Contributed-under: TianoCore Contribution Agreement 1.1

>>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

>>> ---

>>> PL031 patch is on-list and pending.

>>> 

>>> ArmVirtPkg/ArmVirtQemu.dsc                                         |  7 -----

>>> ArmVirtPkg/ArmVirtQemuKernel.dsc                                   |  6 ----

>>> ArmVirtPkg/ArmVirtXen.dsc                                          |  6 ----

>>> ArmVirtPkg/Include/ArmPlatform.h                                   | 33 --------------------

>>> ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c     |  1 -

>>> ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c |  1 -

>>> ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c                       |  1 -

>>> ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c                    |  1 -

>>> ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c  |  1 -

>>> ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c       |  1 -

>>> ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c               |  7 ++++-

>>> 11 files changed, 6 insertions(+), 59 deletions(-)

>>> 

>>> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc

>>> index 8a60b61f2aa6..d1b3849d856a 100644

>>> --- a/ArmVirtPkg/ArmVirtQemu.dsc

>>> +++ b/ArmVirtPkg/ArmVirtQemu.dsc

>>> @@ -49,7 +49,6 @@ [LibraryClasses.common]

>>>   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf

>>> 

>>>   ArmPlatformLib|ArmVirtPkg/Library/ArmVirtPlatformLib/ArmVirtPlatformLib.inf

>>> -  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf

>>> 

>>>   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf

>>>   NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf

>>> @@ -71,12 +70,6 @@ [LibraryClasses.common]

>>> [LibraryClasses.common.UEFI_DRIVER]

>>>   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf

>>> 

>>> -[BuildOptions]

>>> -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include

>>> -  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include

>> 

>> Oops. I will need to retain the -mcpu setting here, or the 'hvc'

>> instruction will be rejected by the assembler.

> 

> Don't we have source-level overrides for that?

> At least ".arch_extension virt" for GNU.

> 


Yeah, or at least move the cflags override to the .inf of the library that uses the hvc instruction
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 16, 2017, 2:15 p.m. UTC | #5
On 16 November 2017 at 12:34, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
>

>

>> On 16 Nov 2017, at 11:59, Leif Lindholm <leif.lindholm@linaro.org> wrote:

>>

>>> On Thu, Nov 16, 2017 at 09:40:58AM +0000, Ard Biesheuvel wrote:

>>>> On 15 November 2017 at 14:03, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

>>>> Now that the PL031 RTC driver library no longer depends on the ARM

>>>> platform specific ArmPlatformSysConfigLib, we no longer need to

>>>> implement ArmPlatform.h or have a resolution for that library.

>>>> This allows us to get rid of a rather dodgy practice of including

>>>> platform headers using compiler flags, which is a bad idea at various

>>>> levels.

>>>>

>>>> Contributed-under: TianoCore Contribution Agreement 1.1

>>>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

>>>> ---

>>>> PL031 patch is on-list and pending.

>>>>

>>>> ArmVirtPkg/ArmVirtQemu.dsc                                         |  7 -----

>>>> ArmVirtPkg/ArmVirtQemuKernel.dsc                                   |  6 ----

>>>> ArmVirtPkg/ArmVirtXen.dsc                                          |  6 ----

>>>> ArmVirtPkg/Include/ArmPlatform.h                                   | 33 --------------------

>>>> ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c     |  1 -

>>>> ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c |  1 -

>>>> ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c                       |  1 -

>>>> ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c                    |  1 -

>>>> ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c  |  1 -

>>>> ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c       |  1 -

>>>> ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c               |  7 ++++-

>>>> 11 files changed, 6 insertions(+), 59 deletions(-)

>>>>

>>>> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc

>>>> index 8a60b61f2aa6..d1b3849d856a 100644

>>>> --- a/ArmVirtPkg/ArmVirtQemu.dsc

>>>> +++ b/ArmVirtPkg/ArmVirtQemu.dsc

>>>> @@ -49,7 +49,6 @@ [LibraryClasses.common]

>>>>   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf

>>>>

>>>>   ArmPlatformLib|ArmVirtPkg/Library/ArmVirtPlatformLib/ArmVirtPlatformLib.inf

>>>> -  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf

>>>>

>>>>   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf

>>>>   NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf

>>>> @@ -71,12 +70,6 @@ [LibraryClasses.common]

>>>> [LibraryClasses.common.UEFI_DRIVER]

>>>>   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf

>>>>

>>>> -[BuildOptions]

>>>> -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include

>>>> -  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include

>>>

>>> Oops. I will need to retain the -mcpu setting here, or the 'hvc'

>>> instruction will be rejected by the assembler.

>>

>> Don't we have source-level overrides for that?

>> At least ".arch_extension virt" for GNU.

>>

>

> Yeah, or at least move the cflags override to the .inf of the library that uses the hvc instruction


As it turns out, ArmVirtQemu.dsc builds find without the -mcpu CFLAGS,
due to the fact that we already have .arch_extension virt' in
ArmPkg/Library/ArmHvcLib/Arm/ArmHvc.S, which is the only file that is
affected by this AFAICT. I will double check how RVCT deals with this,
but I will move the --cpu=Cortex-A15 flag into
ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf at the very least
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Nov. 16, 2017, 4:28 p.m. UTC | #6
On 16 November 2017 at 14:15, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:
> On 16 November 2017 at 12:34, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

>>

>>

>>> On 16 Nov 2017, at 11:59, Leif Lindholm <leif.lindholm@linaro.org> wrote:

>>>

>>>> On Thu, Nov 16, 2017 at 09:40:58AM +0000, Ard Biesheuvel wrote:

>>>>> On 15 November 2017 at 14:03, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote:

>>>>> Now that the PL031 RTC driver library no longer depends on the ARM

>>>>> platform specific ArmPlatformSysConfigLib, we no longer need to

>>>>> implement ArmPlatform.h or have a resolution for that library.

>>>>> This allows us to get rid of a rather dodgy practice of including

>>>>> platform headers using compiler flags, which is a bad idea at various

>>>>> levels.

>>>>>

>>>>> Contributed-under: TianoCore Contribution Agreement 1.1

>>>>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

>>>>> ---

>>>>> PL031 patch is on-list and pending.

>>>>>

>>>>> ArmVirtPkg/ArmVirtQemu.dsc                                         |  7 -----

>>>>> ArmVirtPkg/ArmVirtQemuKernel.dsc                                   |  6 ----

>>>>> ArmVirtPkg/ArmVirtXen.dsc                                          |  6 ----

>>>>> ArmVirtPkg/Include/ArmPlatform.h                                   | 33 --------------------

>>>>> ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c     |  1 -

>>>>> ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c |  1 -

>>>>> ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c                       |  1 -

>>>>> ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c                    |  1 -

>>>>> ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c  |  1 -

>>>>> ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c       |  1 -

>>>>> ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c               |  7 ++++-

>>>>> 11 files changed, 6 insertions(+), 59 deletions(-)

>>>>>

>>>>> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc

>>>>> index 8a60b61f2aa6..d1b3849d856a 100644

>>>>> --- a/ArmVirtPkg/ArmVirtQemu.dsc

>>>>> +++ b/ArmVirtPkg/ArmVirtQemu.dsc

>>>>> @@ -49,7 +49,6 @@ [LibraryClasses.common]

>>>>>   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf

>>>>>

>>>>>   ArmPlatformLib|ArmVirtPkg/Library/ArmVirtPlatformLib/ArmVirtPlatformLib.inf

>>>>> -  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf

>>>>>

>>>>>   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf

>>>>>   NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf

>>>>> @@ -71,12 +70,6 @@ [LibraryClasses.common]

>>>>> [LibraryClasses.common.UEFI_DRIVER]

>>>>>   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf

>>>>>

>>>>> -[BuildOptions]

>>>>> -  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include

>>>>> -  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include

>>>>

>>>> Oops. I will need to retain the -mcpu setting here, or the 'hvc'

>>>> instruction will be rejected by the assembler.

>>>

>>> Don't we have source-level overrides for that?

>>> At least ".arch_extension virt" for GNU.

>>>

>>

>> Yeah, or at least move the cflags override to the .inf of the library that uses the hvc instruction

>

> As it turns out, ArmVirtQemu.dsc builds find without the -mcpu CFLAGS,

> due to the fact that we already have .arch_extension virt' in

> ArmPkg/Library/ArmHvcLib/Arm/ArmHvc.S, which is the only file that is

> affected by this AFAICT. I will double check how RVCT deals with this,

> but I will move the --cpu=Cortex-A15 flag into

> ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf at the very least



Pushed as f311e5d8b5e1928eec602334194187d7811d905a (with the --cpu
issue fixed due to 302e8eda3b2f848e54bd21d0a8b2e5d8b891bffd 'ArmPkg:
move RVCT PLATFORM_FLAGS override into ArmHvcLib/ArmSmcLib')
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
diff mbox series

Patch

diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
index 8a60b61f2aa6..d1b3849d856a 100644
--- a/ArmVirtPkg/ArmVirtQemu.dsc
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
@@ -49,7 +49,6 @@  [LibraryClasses.common]
   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf
 
   ArmPlatformLib|ArmVirtPkg/Library/ArmVirtPlatformLib/ArmVirtPlatformLib.inf
-  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf
 
   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
   NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf
@@ -71,12 +70,6 @@  [LibraryClasses.common]
 [LibraryClasses.common.UEFI_DRIVER]
   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
 
-[BuildOptions]
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include
-  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include
-  *_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmVirtPkg/Include
-
-
 ################################################################################
 #
 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
index 9a31ec93ca06..c7058718b0a6 100644
--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
@@ -49,7 +49,6 @@  [LibraryClasses.common]
   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/BaseQemuFwCfgS3LibNull.inf
 
   ArmPlatformLib|ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/ArmQemuRelocatablePlatformLib.inf
-  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf
 
   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
   NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf
@@ -71,11 +70,6 @@  [LibraryClasses.common]
 [LibraryClasses.common.UEFI_DRIVER]
   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
 
-[BuildOptions]
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include
-  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include
-  *_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmVirtPkg/Include
-
 [BuildOptions.ARM.EDKII.SEC, BuildOptions.ARM.EDKII.BASE]
   # Avoid MOVT/MOVW instruction pairs in code that may end up in the PIE
   # executable we build for the relocatable PrePi. They are not runtime
diff --git a/ArmVirtPkg/ArmVirtXen.dsc b/ArmVirtPkg/ArmVirtXen.dsc
index e9437066ca56..7a443483d1ac 100644
--- a/ArmVirtPkg/ArmVirtXen.dsc
+++ b/ArmVirtPkg/ArmVirtXen.dsc
@@ -44,7 +44,6 @@  [LibraryClasses]
   VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
 
   ArmPlatformLib|ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/ArmXenRelocatablePlatformLib.inf
-  ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf
 
   TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
 
@@ -56,11 +55,6 @@  [LibraryClasses]
 [LibraryClasses.common.UEFI_DRIVER]
   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
 
-[BuildOptions]
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include
-  GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include
-  GCC:*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmVirtPkg/Include
-
 [BuildOptions.ARM.EDKII.SEC, BuildOptions.ARM.EDKII.BASE]
   # Avoid MOVT/MOVW instruction pairs in code that may end up in the PIE
   # executable we build for the relocatable PrePi. They are not runtime
diff --git a/ArmVirtPkg/Include/ArmPlatform.h b/ArmVirtPkg/Include/ArmPlatform.h
deleted file mode 100644
index 77178aabb310..000000000000
--- a/ArmVirtPkg/Include/ArmPlatform.h
+++ /dev/null
@@ -1,33 +0,0 @@ 
-/** @file
-*  Header defining platform constants (Base addresses, sizes, flags)
-*
-*  Copyright (c) 2011, ARM Limited. All rights reserved.
-*  Copyright (c) 2014, Linaro Limited
-*
-*  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.
-*
-**/
-
-#ifndef __PLATFORM_H__
-#define __PLATFORM_H__
-
-//
-// We don't care about this value, but the PL031 driver depends on the macro
-// to exist: it will pass it on to our ArmPlatformSysConfigLib:ConfigGet()
-// function, which just returns EFI_UNSUPPORTED.
-//
-#define SYS_CFG_RTC       0x0
-
-#define QEMU_NOR_BLOCK_SIZE    SIZE_256KB
-#define QEMU_NOR0_BASE         0x0
-#define QEMU_NOR0_SIZE         SIZE_64MB
-#define QEMU_NOR1_BASE         0x04000000
-#define QEMU_NOR1_SIZE         SIZE_64MB
-
-#endif
diff --git a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c
index be512aa3d5b1..2ce5c48d52cf 100644
--- a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c
+++ b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/QemuVirtMem.c
@@ -18,7 +18,6 @@ 
 #include <Library/PcdLib.h>
 #include <Library/IoLib.h>
 #include <Library/MemoryAllocationLib.h>
-#include <ArmPlatform.h>
 
 // Number of Virtual Memory Map Descriptors
 #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          5
diff --git a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c
index c10c09fed2bd..6df207733ab2 100644
--- a/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c
+++ b/ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/RelocatableVirt.c
@@ -18,7 +18,6 @@ 
 #include <Library/IoLib.h>
 #include <Library/ArmPlatformLib.h>
 #include <Library/DebugLib.h>
-#include <ArmPlatform.h>
 #include <Pi/PiBootMode.h>
 
 /**
diff --git a/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c b/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c
index fcaf3c681a97..140bdde8b2ac 100644
--- a/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c
+++ b/ArmVirtPkg/Library/ArmVirtPlatformLib/Virt.c
@@ -19,7 +19,6 @@ 
 #include <Library/ArmPlatformLib.h>
 #include <Library/DebugLib.h>
 #include <Library/PcdLib.h>
-#include <ArmPlatform.h>
 #include <libfdt.h>
 #include <Pi/PiBootMode.h>
 #include <Uefi/UefiBaseType.h>
diff --git a/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c b/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c
index 666edb47ce97..d10548f86dfc 100644
--- a/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c
+++ b/ArmVirtPkg/Library/ArmVirtPlatformLib/VirtMem.c
@@ -18,7 +18,6 @@ 
 #include <Library/PcdLib.h>
 #include <Library/IoLib.h>
 #include <Library/MemoryAllocationLib.h>
-#include <ArmPlatform.h>
 
 // Number of Virtual Memory Map Descriptors
 #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          5
diff --git a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c
index c10c09fed2bd..6df207733ab2 100644
--- a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c
+++ b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/RelocatableVirt.c
@@ -18,7 +18,6 @@ 
 #include <Library/IoLib.h>
 #include <Library/ArmPlatformLib.h>
 #include <Library/DebugLib.h>
-#include <ArmPlatform.h>
 #include <Pi/PiBootMode.h>
 
 /**
diff --git a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c
index 657b840059c2..63090586cf8b 100644
--- a/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c
+++ b/ArmVirtPkg/Library/ArmXenRelocatablePlatformLib/XenVirtMem.c
@@ -18,7 +18,6 @@ 
 #include <Library/PcdLib.h>
 #include <Library/IoLib.h>
 #include <Library/MemoryAllocationLib.h>
-#include <ArmPlatform.h>
 
 // Number of Virtual Memory Map Descriptors
 #define MAX_VIRTUAL_MEMORY_MAP_DESCRIPTORS          2
diff --git a/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c b/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c
index d63a2d989f69..e3bbae5b06c5 100644
--- a/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c
+++ b/ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c
@@ -12,9 +12,14 @@ 
 
  **/
 
-#include <ArmPlatform.h>
 #include <Library/NorFlashPlatformLib.h>
 
+#define QEMU_NOR_BLOCK_SIZE    SIZE_256KB
+#define QEMU_NOR0_BASE         0x0
+#define QEMU_NOR0_SIZE         SIZE_64MB
+#define QEMU_NOR1_BASE         0x04000000
+#define QEMU_NOR1_SIZE         SIZE_64MB
+
 EFI_STATUS
 NorFlashPlatformInitialization (
   VOID