ArmPlatformPkg/FVP: unify support for Foundation and Base models

Now that the PL180 and PL111 drivers know how to behave when executed
on the Foundation model (which does not emulate the hardware), we can
remove the ARM_FOUNDATION_FVP ifdefs and produce a single build that
runs on both the Foundation model and the Base model.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18309 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Ard Biesheuvel 2015-08-25 13:11:25 +00:00 committed by abiesheuvel
parent 9dc94d9891
commit 0ad3e6d4a6
3 changed files with 5 additions and 17 deletions

View File

@ -41,9 +41,7 @@
ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
!ifndef ARM_FOUNDATION_FVP
LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
!endif
TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
@ -85,14 +83,9 @@
gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Fixed Virtual Platform" gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Fixed Virtual Platform"
gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ARM-FVP" gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ARM-FVP"
!ifndef ARM_FOUNDATION_FVP
# Up to 8 cores on Base models. This works fine if model happens to have less. # Up to 8 cores on Base models. This works fine if model happens to have less.
gArmPlatformTokenSpaceGuid.PcdCoreCount|8 gArmPlatformTokenSpaceGuid.PcdCoreCount|8
gArmPlatformTokenSpaceGuid.PcdClusterCount|2 gArmPlatformTokenSpaceGuid.PcdClusterCount|2
!else
# Up to 4 cores on Foundation models. This works fine if model happens to have less.
gArmPlatformTokenSpaceGuid.PcdCoreCount|4
!endif
# #
# NV Storage PCDs. Use base of 0x0C000000 for NOR1 # NV Storage PCDs. Use base of 0x0C000000 for NOR1
@ -149,14 +142,12 @@
## PL031 RealTimeClock ## PL031 RealTimeClock
gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000 gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x1C170000
!ifndef ARM_FOUNDATION_FVP
## PL111 Versatile Express Motherboard controller ## PL111 Versatile Express Motherboard controller
gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x1C1F0000 gArmPlatformTokenSpaceGuid.PcdPL111LcdBase|0x1C1F0000
## PL180 MMC/SD card controller ## PL180 MMC/SD card controller
gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x1C010048 gArmPlatformTokenSpaceGuid.PcdPL180SysMciRegAddress|0x1C010048
gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x1C050000 gArmPlatformTokenSpaceGuid.PcdPL180MciBaseAddress|0x1C050000
!endif
# #
# ARM General Interrupt Controller # ARM General Interrupt Controller
@ -283,9 +274,7 @@
ArmPkg/Drivers/ArmGic/ArmGicDxe.inf ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
ArmPkg/Drivers/TimerDxe/TimerDxe.inf ArmPkg/Drivers/TimerDxe/TimerDxe.inf
!ifndef ARM_FOUNDATION_FVP
ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
!endif
ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf
# #
@ -293,13 +282,11 @@
# #
ArmPkg/Filesystem/SemihostFs/SemihostFs.inf ArmPkg/Filesystem/SemihostFs/SemihostFs.inf
!ifndef ARM_FOUNDATION_FVP
# #
# Multimedia Card Interface # Multimedia Card Interface
# #
EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf
!endif
# #
# Platform Driver # Platform Driver

View File

@ -160,9 +160,7 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0
INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf INF ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf INF ArmPkg/Drivers/TimerDxe/TimerDxe.inf
INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf INF ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
!ifndef ARM_FOUNDATION_FVP
INF ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf INF ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/PL111LcdGraphicsOutputDxe.inf
!endif
INF ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf INF ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf
# #
@ -178,13 +176,11 @@ FvNameGuid = 87940482-fc81-41c3-87e6-399cf85ac8a0
INF FatBinPkg/EnhancedFatDxe/Fat.inf INF FatBinPkg/EnhancedFatDxe/Fat.inf
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
!ifndef ARM_FOUNDATION_FVP
# #
# Multimedia Card Interface # Multimedia Card Interface
# #
INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf INF EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
INF ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf INF ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf
!endif
# #
# Platform Driver # Platform Driver

View File

@ -239,6 +239,11 @@
# Add support for GCC stack protector # Add support for GCC stack protector
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
!if $(SECURE_BOOT_ENABLE) == TRUE
# OpenSSL requires floating point for the RNG code
NULL|StdLib/LibC/Softfloat/Softfloat.inf
!endif
[LibraryClasses.AARCH64] [LibraryClasses.AARCH64]
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf