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(-)
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
--
2.11.0
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
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
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
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
> 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
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
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
© 2016 - 2025 Red Hat, Inc.