Commit Graph

247 Commits

Author SHA1 Message Date
oliviermartin 68dda854c6 ArmPlatformPkg/NorFlashDxe: Fixed CFI NOR Flash driver
CFI Flash differentiates DeviceBaseAddress with BlockAddress in
its protocol. The DeviceBaseAddress was not considered in the
previous version of this driver.
This version also fixes some bugs in the implementation of the
CFI protocol.

This new version also uses the Boot Mode Hob to reinitialized the
FVB when Boot Mode is equal to BOOT_WITH_DEFAULT_SETTINGS.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13064 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:32:47 +00:00
oliviermartin e34114ea3f ArmPlatformPkg/Bds: Fixed the size of the unicode string use to represent hexadecimal memory address
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13063 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:31:17 +00:00
oliviermartin d9c69d99ff ArmPlatformPkg/Sec: Add ASSERT() for checking the Secure Monitor Stack PCD values
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13062 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:30:20 +00:00
oliviermartin 3d93aeaef8 ArmPlatformPkg/Sec: Move 'ArmPlatformSecExtraAction' before we set NSACR & SCR
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13061 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:29:41 +00:00
oliviermartin a853088911 ArmPlatformPkg/Sec: Fix transition to Trusted Monitor World with ARMGCC
The enter_monitor_world() function was trashing r0/r1/r2 registers and then
was returning back to 'C'. The compiler might have used these registers in the C code.
These new design prevents register corruptions.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13060 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:28:44 +00:00
oliviermartin 8cc852f791 ArmPlatformPkg: Move the Secure Monitor initialization into a separate 'ArmTrustedMonitorLib' library
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13059 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:27:15 +00:00
oliviermartin 1377db63ff ArmPlatformPkg: Updated the stack setup to have the same geometry between the Secure and Normal World
Having a similar setup reduces the error during the MPCore stack setup.
The stack setup is described on this wikipage:
https://sourceforge.net/apps/mediawiki/tianocore/index.php?title=ArmPlatformPkg/Stack



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13058 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:23:53 +00:00
oliviermartin 2569b06868 ArmPlatformPkg/PrePi: Fixed stack setup when System Memory is mapped upto 0xFFFFFFFF
The stacks must be 32-bit aligned (which is not the case of 0xFFFFFFFF).
This change ensures the stacks are setup properperly in case the system
memory is available at 0xFFFFFFFF.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13057 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:22:13 +00:00
oliviermartin 65acd8e7b3 ArmPlatformPkg: Moved 'ArmTrustZoneLib' from ArmPkg/Library to ArmPlatformPkg/Drivers
This library is really the driver for the ARM Trustzone controllers (TZPC and TZASC).



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13054 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:16:58 +00:00
oliviermartin f8c9f1c18c ArmPlatformPkg/LcdGraphicsOutputDxe: Added support for ARM HDLCD controller (2)
... Forgot the new files



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13053 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:13:30 +00:00
oliviermartin 0db25ccc6c ArmPlatformPkg: Minor code changes (comments, misspellings, coding stylei, line endings)
- Fixed misspellings
- Updated Copyright
- Remove unused sections in INF file
- Fixed incorrect commentsi
- Fixed coding style
- Fixed line endings (CRLR)



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13052 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:11:42 +00:00
oliviermartin 986223907f ArmPlatformPkg/LcdGraphicsOutputDxe: Added support for ARM HDLCD controller
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13051 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:09:16 +00:00
oliviermartin 3222e7b1ef ArmPlatformPkg/PrePeiCore: Ensured the size is 8-byte aligned
Once divided by 2, the size should be 4-byte aligned to ensure the
stack pointer is 4-byte aligned.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13044 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-27 10:27:10 +00:00
oliviermartin 782d45d1e3 ArmPlatformPkg/ArmPlatformGlobalVariableLib: Added an assert to ensure the 'VariableOffset' belongs to the GlobalVariable region
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13043 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-27 10:26:16 +00:00
oliviermartin 8ddaf4710c ArmPlatformPkg/SP804TimerDxe: Move 'gVector' initialization earlier in the code
The global variable 'gVector' is also used by the function TimerDriverSetTimerPeriod().



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13042 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-27 10:25:20 +00:00
oliviermartin 91213ad3dd ArmPlatformPkg/Bds: Add support for 'BootCurrent'
The UEFI variable 'BootCurrent' defines the EFI application started by the Boot Manager.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13000 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:34:16 +00:00
oliviermartin 49a25d8490 ArmPlatformPkg/Bds: Fixed update of boot entries
There were some incorrect pointer calculations.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12999 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:33:02 +00:00
oliviermartin 0e29bf5c91 ArmPlatformPkg/Bds: Fixed 'BootNext' support
The 'BootNext' environment variable should only contain the index of the 'next' boot entry.
It was containing a complete Boot Option.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12998 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:30:19 +00:00
oliviermartin b148591a8c ArmPlatformPkg/Bds: Fixed memory leak
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12997 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:29:35 +00:00
oliviermartin 947a14a0a8 ArmPlatformPkg: Fix ARM EB and VE builds
The EDID protocol defintions were missing from their ArmPlatformLcdLib.inf INF files.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12878 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-15 18:54:18 +00:00
oliviermartin 53f39c6c9a ArmPlatformPkg/ArmVExpressPkg: Add PL180 MCI support to ARM RTSM
The MMC controller is accessible through the ARM RTSM model.
A filesystem can be added on a MMC file to be accessible through the 
UEFI firmware running on RTSM.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12862 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-14 10:43:36 +00:00
oliviermartin c7b7c44598 ArmPlatformPkg: Renamed 'DebugSecExtraActionLib' into 'ArmPlatformSecExtraActionLib'
This library interface is not related to adding extra action to debug support.
But it adds extra action to the ArmPlatform/Sec component.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12861 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-14 10:39:07 +00:00
oliviermartin 6d8d736334 ArmPlatformPkg/LcdPlatformLib: Produce the protocols EFI_EDID_DISCOVERED_PROTOCOL and EFI_EDID_ACTIVE_PROTOCOL
These two EDID protocols are excepted to be produced by the GOP.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12860 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-14 10:35:04 +00:00
oliviermartin fab5507a04 ArmPlatformPkg/Sec: Fixed Monitor stack setup
Because GET_CORE_POS(MpId) returns 0x0 for the primary core, the
stack position must be defined by the top of the stack. It means
stack_size must be added to the stack base.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12858 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-14 10:22:43 +00:00
oliviermartin d65502601e MdeModulePkg/Variable: Check if there is a NV Variable Storage header prior to use its attributes
The Variable PEI and RuntimeDxe drivers were using the attribute 'HeaderLength' of
EFI_FIRMWARE_VOLUME_HEADER without checking if a Firmware Volume Header was existing at
the base address.
In case the Firmware Volume Header does not exist or is corrupted, the attribute 'HeaderLength'
is a non valid value that can lead to a non valid physical address when accessing produces an
access error.

Signed-off-by: oliviermartin
Reviewed-by: niruiyu



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12836 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-12 19:00:59 +00:00
oliviermartin c20d62b5d2 ArmPlatformPkg: Coding style changes (tab and line endings) - Minor changes
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12828 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-07 17:16:03 +00:00
oliviermartin 22ed9fb70a BaseTools: Pending patches update
Add patch:
- ARMLINUXGCC: Set the linked base address at 0x0 (0x8000 by default)



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12824 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-06 16:40:43 +00:00
oliviermartin 8234441688 ArmPlatformPkg/Sec: Enabled VFP (if supported by platform) prior to any library invocation
Some compilers uses VFP for some 64bit operation. If the VFP coprocessor is not enabled at
this stage the processor raises an undefined exception.
To prevent this case, the VFP enabling has been moved at the beginning of the platform
initialization phase.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12823 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-06 16:32:11 +00:00
oliviermartin 8e0b5e07b7 ArmPlatformPkg: Update pending patches with the latest BaseTools SyncUp
- ARMLINUXGCC toolchain is now supported
- ARMGCC: Set '0x0' for the linkage base address
- Fixed Trim utility
- Fixed support for !include in DSC files


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12819 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-05 14:29:16 +00:00
oliviermartin 1aa9860e8f ArmPlatformPkg/PrePi: Ony synchronize cores when it is a MPCore System
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12726 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-16 12:53:25 +00:00
oliviermartin d0da41c285 ArmPlatformPkg: Remove inappropriate comment in ArmPlatformPkg.dec
The comment was not related to the context.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12709 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-15 10:39:42 +00:00
oliviermartin 720b0d8878 ArmPlatformPkg/patches: Update pending patches to fix builds
This update should fix the build errors due to the postfix 'U' added to PCD numbers.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12708 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-15 10:26:58 +00:00
oliviermartin 09bb585cb2 ArmPlatformPkg/patches: Update the 'PendingPatches' on the latest BaseTools syncup
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12680 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-10 10:57:37 +00:00
oliviermartin 5f5b907c0d ArmPlatformPkg: Fix Global Variable region initialization when GlobalVariable's size is zero
The exit loop was not considering a size of zero for the Global Variable region.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12678 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-09 11:52:37 +00:00
oliviermartin 710b8acb56 ArmPlatform/Sec: Ensure all the CPU cores are calling ArmCpuSetup()
Only the primary core was calling this function.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12646 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:45:41 +00:00
oliviermartin aa26b8f6c8 ArmPlatformPkg/PrePi: Remove duplicate call of BuildMemoryTypeInformationHob()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12645 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:45:09 +00:00
oliviermartin d17afc8a02 ArmPlaformPkg/ArmVExpressPkg: Move initialization of SP810 at the early stage of the platform initialization (SEC)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12644 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:44:51 +00:00
oliviermartin ce5ed6c8d5 ArmPlatformPkg: Fix PCD namespace for PCD that defines the the size of a Secure/Non Secure FD/FV files
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12643 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:44:30 +00:00
oliviermartin c0658bd6b8 ArmPlatformPkg/Bds: Fix the Boot Manager option to set the FDT device path
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12642 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:44:05 +00:00
oliviermartin 22a262c8ee ArmPlatformPkg/Bds: Fixed and Improved initrd support in the ArmPlatformPkg Boot Manager
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12641 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:43:37 +00:00
oliviermartin 483bc3d330 ArmPlatformPkg/Bds: Fix when the default console variables are empty (or null)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12640 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:43:12 +00:00
oliviermartin 031f52ce0f ArmPlatformPkg: Fix initialization of the Global Variable when stack pointer higher than 0x7FFFFFFF
Fixed signed comparison error.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12639 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:42:29 +00:00
oliviermartin 99565b88c1 ArmPlatform/PrePi: Fixed PrePi for MP Cores platform and Global Variable region settings
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12638 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:41:52 +00:00
oliviermartin 513aa3497a ArmPlatformPkg/Sec: Replaced hardcode SCR and NSACR values by PCDs to enable CPU and Platform Specific settings
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12637 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:41:20 +00:00
oliviermartin 504d14603d ArmPlatformPkg: Use EmuVariable, Add Simple TextInTextOut to make easier to port to a new platform
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12636 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:40:49 +00:00
oliviermartin 00b2153446 ArmPlatformPkg: Boot Linux from semihosting on RTSM by default (was NOR Flash)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12635 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:40:18 +00:00
oliviermartin d4bec9f955 ArmPlatformPkg: Use fixed PcdTrustzoneSupport to define if Trustzone is enabled for a firmware
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12634 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:39:43 +00:00
oliviermartin d48e4b19ae ArmPlatformPkg: Fix PrePi firmwares for ArmRealViewEb
The SEC component was using the wrong library for the Global Variable region.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12633 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:39:17 +00:00
oliviermartin 8d0fe26cbf ArmPlatformPkg: Remove ArmPlatformBootRemapping() function from the ArmPlatformLib
Memory map remapping is a platform specific feature only enabled by some platforms.
Instead of keeping this function empty for most platforms, the function has been
removed. This feature can easily fit in any other ArmPlatformLib function.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12632 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:36:59 +00:00
oliviermartin 81be6e070f ArmPkg/ArmCpuLib: Fix GCC/XCode builds
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12626 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:32:04 +00:00
oliviermartin 793275a858 ArmPlatformPkg: Coding style (minor changes)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12625 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:31:02 +00:00
oliviermartin a79803d7f9 ArmPlatformPkg/ArmVExpressPkg: Do not declare SCC base for the RTSM VE Model
The System Control Configuration registers are not implemented on the Model



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12624 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:28:27 +00:00
oliviermartin 89bbce116a Arm Packages: Fix builds for XCODE32 toolchain
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12509 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-04 13:58:28 +00:00
oliviermartin fa16d12dcc ArmPlatformPkg/ArmVExpressPkg: The virtual memory must have the Secure attribute when the platform does not make the transition in Normal World.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12480 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-29 20:48:36 +00:00
oliviermartin 66f530edfa ArmPlatformPkg/ArmVExpressPkg: HiiDatabaseDxe driver was missing
UefiHiiServicesLib requires an implementation of gEfiHiiDatabaseProtocolGuid.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12479 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-29 20:44:16 +00:00
oliviermartin 705b0c031f ArmPlatformPkg/Bds: Fix GetConsoleDevicePathFromVariable() when SetVariable has failed
Return the Default Device Path even when SetVariable has failed.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12469 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-28 19:05:54 +00:00
oliviermartin 886f97c86b ARM Packages: Fixed Build failings/warnings/EDK2 coding convention
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12458 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:42:47 +00:00
oliviermartin 12fcdcb83d ArmPlatformPkg: Create an ARM Platform DSC / FDF / ArmPlatformLib template
By copying these templates, it should make easier to port EDK2 to new ARM
Platforms.

- ArmPlatformPkg.(dsc|fdf): For EDK2 firmwares which support the full boot
story from cold boot to OS loading
- ArmPlatformPkg-2ndstage.(dsc|fdf): For EDK2 as a second stage boot loader
(either started after a proprietary ROM firmware or x-loader)


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12457 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:40:46 +00:00
oliviermartin 88d4f51dfc ArmPlatformPkg: Add support for ARM RTSM Versatile Express A15x1 and A15x4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12456 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:37:01 +00:00
oliviermartin bd6b97994a ArmPkg/ArmLib: Clean ArmV7Lib
- Move the non specific ArmV7 functions to ArmLib.
- Clean the ARM Platform common components to not depend on ArmV7 if not required



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12453 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:31:20 +00:00
oliviermartin 12c5ae238e ArmPlatformPkg: Replaced 'ArmPlatformTrustzoneSupported' by the fixed Pcd gArmTokenSpaceGuid.PcdTrustzoneSupport
This change does not make possible to disable Trustzone from the firmware.
The firmware has to be built for Trustzone support enabled or disabled.

The memory page table are now defined as 'Normal Memory' in any case.
Except for RTSM Device Memory which as to be Secure Device Memory due
to a RTSM bug.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12452 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:29:07 +00:00
oliviermartin 4103bc94fb ArmPlatformPkg: Replaced '!if' conditions by more appropriate '!ifdef' conditions
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12451 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:27:05 +00:00
oliviermartin aa84fef5fe ArmPkg: Removed 'ArmV7/ArmV7MPCore*' files
These files were Cortex A9 specific. The A9 specific functions have
moved to ArmCpuLib/ArmCortexA9Lib.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12449 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:24:30 +00:00
oliviermartin 90d6a1bbf1 ArmPkg: Introduce ArmCpuLib to abstract ARM Cpu specific initialization
Every CPUs have their own initialization requirements.
This library allows to allows to abstract these initialization requirements
into the ARM Platform common components.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12448 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:22:09 +00:00
oliviermartin 9703e34729 ArmPlatformPkg/patches: Update the pending patches with the updated ARMGCC and RVCT toolchains and the new ARMLINUXGCC toolchain patches.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12438 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-23 09:05:36 +00:00
oliviermartin 95b3580f82 ArmPlatformPkg/Bds: Add an option in the Boot Manager to edit the Device Path of the Platform Device Tree
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12430 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:23:19 +00:00
oliviermartin 1ddb209e0e ArmPlatformPkg/ArmVExpressPkg: Add support for ARM Versatile Express A9x4 Model
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12429 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:22:31 +00:00
oliviermartin 4463f70698 ArmPlatformPkg/ArmiVExpressPkg: Introduce 'ArmVExpress.dsc.inc' to avoid duplication of library and PCD defintions around ARM Versatile Express Boards
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12428 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:21:02 +00:00
oliviermartin f4ee7a8234 ArmPlatformPkg/ArmRealViewEbPkg: Introduce 'ArmRealViewEb.dsc.inc' to avoid duplication of library and PCD defintions around ARM RealView Emulation Boards
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12427 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:19:23 +00:00
oliviermartin c21e237866 ArmPlatformPkg/ArmRealViewEbPkg: Removed unused 'Pei' module
ArmRealViewEbPkg is now using the ArmPlatform Common modules (ArmPlatformPkg/Sec
and ArmPlatformPkg/PrePeiCore).



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12425 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:16:56 +00:00
oliviermartin 1d2bbdbb8d ArmPkg: Removed deprecated 'ArmMPCoreMailBoxLib'
This library has been replaced by ArmMpCoreInfo PPI and HOBs.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12424 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:16:04 +00:00
oliviermartin 44788bae6f ArmPkg: Create MpCoreInfo PPI and HOB to describe CPU Cores on a MPCore platform
These info are:
- ClusterId, CoreId
- MailBox Set/Get/Clear address



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12423 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:14:01 +00:00
oliviermartin 77de7e5372 ArmPlatformPkg: Add ArmPlatformGetPlatformPpiList()
This function exposes the Platform Specific PPIs. They can be used by
any PrePi modules or passed to the PeiCore by PrePeiCore



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12422 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:12:23 +00:00
oliviermartin 93d451c67b ArmPlatformPkg/PrePeiCore: Reverse Stack & PeiTemporary
To get the global variable at top of the Primary Stack such as in the Pei module.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12421 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:11:34 +00:00
oliviermartin 8fc38a3f50 ArmPlatformPkg: Introduce ArmPlatformGlobalVariableLib
This library hides where the 'XIP' Global Variable are located in the memory.
It is expected the Sec/PrePi modules define the Global Variable area through
the GlobalVariable HOB.

The ArmPlatformGlobalVariableLib library allows access to global variables by
their offsets in this region.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12420 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:11:03 +00:00
oliviermartin 5b1928ffd6 ArmPlatformPkg/Sec: Clean and Move all declaration into 'SecInternal.h' (2)
Missed header file.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12419 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:08:40 +00:00
oliviermartin c524ffbb67 ArmPlatformPkg/PrePi: Removed the dependency on 'PcdCPUCoresNonSecStackBase'
In PrePi the StackBase is automatically calculated from the top of the memory.
The information is now passed from the assembly files to the C code.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12418 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:07:55 +00:00
oliviermartin 009f583fa0 ArmPlatformPkg/Sec: Clean and Move all declaration into 'SecInternal.h'
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12417 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:07:06 +00:00
oliviermartin f92b93c9a3 ARM Packages: Rename PcdNormal* into Pcd* PCDs
The denomination 'Normal' was used to make reference to the 'Normal'
or 'Non Secure' or 'Non Trusted' world.
To avoid confusion, this prefix has been removed from PCDs to define
the normal world.

The PCDs explicitely related to the Secure/Trusted World continue to
have the 'Sec' prefix.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12416 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:06:31 +00:00
oliviermartin 2dbcb8f0a3 ArmPlatformPkg: Changed memory model for the stacks
In the previous version, every cores had the same stack size.
To avoid to waste memory with secondary core stacks, the primary core stack
size is now different from the secondary cores stack size.

These are the Stack PCDs and their default values:

gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecPrimaryStackSize|0x10000
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecSecondaryStackSize|0x1000

gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecMonStackSize|0x1000

gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0
gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x10000
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize|0x1000




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12415 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:05:20 +00:00
oliviermartin f156d5b49d ArmPlatformPkg/ArmPlatformLib: Removed 'ArmPlatformIsMemoryInitialized' function
'ArmPlatformInitializeBootMemory' function can check if the memory has already
been initialized.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12414 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:04:06 +00:00
oliviermartin 44e272fd6a ArmPlatformPkg/ArmPlatformLib: Introduce ArmPlatformSecBootAction function
This function is called at the initial stage of the Secure boot process to allow
platform vendors to add early actions.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12413 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:02:13 +00:00
oliviermartin 0787bc6184 ArmPlatformPkg: Introduce Primary core macros
On MpCore system, the primary core can now be any core of the system.

To identify the primary core, you can use 'gArmTokenSpaceGuid.PcdArmPrimaryCoreMask'
and 'gArmTokenSpaceGuid.PcdArmPrimaryCore'.
These PCDs by default use the ClusterId and CoreId to identify the core. And the
primary core is defined as the ClusetrId=0 and CoreId=0.

The helper macros are: IS_PRIMARY_CORE(MpId), GET_CORE_ID(MpId), GET_CLUSTER_ID(MpId),
GET_CORE_POS(MpId), PRIMARY_CORE_ID.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12412 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:01:13 +00:00
oliviermartin 55a0d64b88 ArmPkg: Renamed library 'PL390GicLib' into 'ArmGicLib'
This library is the interface for the ARM Generic Interrupt Controller
Architecture Specification.
ARM Platform can use any GIC controller (not necessary PL390 GIC).




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12411 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:59:52 +00:00
oliviermartin 76d17c3156 ArmPkg/BdsLib: Use two distinct functions to boot Linux either by Atag or Fdt
Separate the BdsBootLinux() function into two functions for Atag and Fdt specific Linux booting
- BdsBootLinuxAtag ()
- BdsBootLinuxFdt ()



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12408 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:54:38 +00:00
oliviermartin 11c20f4e06 Arm Packages: Fixed coding style/Line endings to follow EDK2 coding convention
Arm Packages: Fixed mispelling

Arm Packages: Reduced warnings all over the code




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12407 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:53:54 +00:00
oliviermartin c93ab96c01 ArmPlatformPkg/Bds: Fix menu when no boot entry are present for deletion or update
When there are no boot entries to delete, the boot manager was prompting the
user to select an entry to delete. This fix prints a message to let the
user know that he is trying delete boot entry when there are none.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12405 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:51:35 +00:00
oliviermartin e8e1daee63 ArmPlatformPkg/Bds: Fixed initialization of default Boot Entry with an initrd
The Boot CmdLine was used instead of the initrd Device Path.

Issue found by Sivasakthivel N (AMI India)



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12404 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:50:13 +00:00
oliviermartin e291948ce0 ArmPlatformPkg/patches: Updated list of Pending patches after latest BaseTools sync
BaseTools-GenC-Cast-Pcd-Types.patch changes are now part of the EDK2 Basetools mainline.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12391 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-20 16:09:47 +00:00
oliviermartin 3e710183d1 ArmPlatformPkg/Bds: Fix the update of existing boot entries
Variables were not initialized in the right order in the boot entry update function.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12335 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-13 09:03:10 +00:00
oliviermartin ff7666c511 ArmPlatformPkg/Bds: Minor fixes and coding style changes
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12316 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:56:14 +00:00
oliviermartin 4aa2417061 ArmPkg/BdsLib: Move some functions used to create/update BDS Boot Entry from ArmPlatformPkg/Bds to ArmPkg/BdsLib
These functions can be reused by any EFI application to add/update a BDS Boot Entry.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12314 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:54:33 +00:00
oliviermartin 2755d844f9 ArmPkg/BdsLib: Add support to pass argument to a loaded EFI application
OptionalData argument has to be set in the Loaded Image Protocol of the
new EFI application.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12313 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:53:42 +00:00
oliviermartin a6e97d28aa ArmPkg/BdsLib: Move the Generic BDS_LOAD_OPTION structure from Armplatform/Pkg to ArmPkg/Bds
This structure is defined by the UEFI specification and has a better location in BdsLib.


ArmPlatformPkg/Bds: Encapsulate the BDS_LOAD_OPTION into a list entry structure




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12312 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:52:31 +00:00
oliviermartin 2ccfb71ebe ArmPlatformPkg/Bds: Add a signature in front of the Boot Argument propoer to this Bds
Each application loader has its own OptionalData format. To avoid to start a Boot Entry
that has not been created by ArmPlatform/Bds a signature has been added to the
OptionalData.


ArmPlatformPkg/Bds: Rename some internal structure from BDS_* to ARM_BDS_*



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12311 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:51:13 +00:00
oliviermartin 74b961324c ArmPlatformPkg/Bds: Get User inputs in Unicode
The user input was getting in Ascii and converted later to Unicode
when required.
In this change, the user inputs are caught in Unicode and converted
to Ascii only when needed.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12310 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09 10:49:54 +00:00
oliviermartin 6740ea74e2 Clean up Rules of Platform FDFs to apply only one EFI image and Depex for each driver
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12285 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-06 18:41:55 +00:00
oliviermartin 16d88c2d20 EmbeddedPkg/MmcDxe: Add 'This' pointer attribute to protocol function
This attribute allows the EFI_MMC_HOST_PROTOCOL interface to manage
multiple instances in one driver.


EmbeddedPkg/MmcDxe: Add Revision attribute to the EFI_MMC_HOST_PROTOCOL


Note: The ARM PL180 and Omap35xx MMC host drivers has been updated.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12255 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-01 17:08:41 +00:00
oliviermartin c8ece79ccd ArmPlatformPkg: Fix ARM RealView EB and VE builds (2)
This file is missing from the earlier commit (ArmPlatformPkg: Fix ARM RealView EB and VE builds).



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12235 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-30 17:12:13 +00:00
oliviermartin 192039d7b3 ArmPlatformPkg: Update list of pending patches
BaseTools has recently been updated in edk2. Some of the BaseTools patches are now available in edk2 mainline.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12234 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-30 17:09:34 +00:00