summaryrefslogtreecommitdiff
path: root/ArmPkg
AgeCommit message (Collapse)Author
2011-09-22ArmPkg: Create MpCoreInfo PPI and HOB to describe CPU Cores on a MPCore platformoliviermartin
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-22ArmPlatformPkg: Introduce ArmPlatformGlobalVariableLiboliviermartin
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-22ARM Packages: Rename PcdNormal* into Pcd* PCDsoliviermartin
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-22ArmPlatformPkg: Changed memory model for the stacksoliviermartin
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-22ArmPlatformPkg: Introduce Primary core macrosoliviermartin
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-22ArmPkg: Renamed library 'PL390GicLib' into 'ArmGicLib'oliviermartin
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-22ArmPkg/Application/LinuxLoader: Create a Linux Loader EFI applicationoliviermartin
There are two variants of the Linux Loader EFI application: - the ATAG version 'LinuxAtagLoader.inf': expect to start an ATAG 'zImage' in the same directory as the EFI application - the FDT version 'LinuxFdtLoader.inf': load the FDT blob 'platform.dtb' and the FDT 'zImage' from the same directory as the EFI application. When these applications are started without any argument, a menu appears to the user to create/update a boot entry. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12410 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22ArmPkg/BdsLib: Move the code specific to the Atag preparation into a ↵oliviermartin
separate file git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12409 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22ArmPkg/BdsLib: Use two distinct functions to boot Linux either by Atag or Fdtoliviermartin
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-22Arm Packages: Fixed coding style/Line endings to follow EDK2 coding conventionoliviermartin
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-13ArmPkg/ArmDisassemblerLib: Comment out unused variableoliviermartin
'ItFlag' is set but not used. Comment out this variable for future use. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12339 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-12ArmPkg/BdsLib: Add missing BdsLoadOption.c fileoliviermartin
Missing from my commit "ArmPkg/BdsLib: Move some functions used to create/update BDS Boot Entry from ArmPlatformPkg/Bds to ArmPkg/BdsLib" git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12325 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09ArmPkg/BdsLib: Fix MemMap Device Path node supportoliviermartin
The previous version was only checking if the Remaining Device Path node was a MemMap DevicePath node. This fix also checks if the Root DevicePath node is a MemMap DevicePath node. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12315 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-09ArmPkg/BdsLib: Move some functions used to create/update BDS Boot Entry from ↵oliviermartin
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-09ArmPkg/BdsLib: Add support to pass argument to a loaded EFI applicationoliviermartin
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-09ArmPkg/BdsLib: Move the Generic BDS_LOAD_OPTION structure from ↵oliviermartin
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-07ArmPkg/CompilerIntrinsicsLib: Add memory intrinsics for RVCToliviermartin
New intrinsics: __aeabi_memmove, __aeabi_memset, __aeabi_memclr and __aeabi_memclr4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12293 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-30ArmPlatformPkg: Fix ARM RealView EB and VE buildsoliviermartin
Tested with RVCTLINUX and ARMGCC toolchains. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12233 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-22ArmPkg/BdsLib: InitrdImageSize was not initialized when no initrd was oliviermartin
passed The PrepareAtagList function is using this variable to determine if a initrd was passed to the kernel. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12181 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-19ArmPkg/BdsLib: Fixed parameters passed to AllocatePages()oliviermartin
Typo issue ... git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12176 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18BeagleBoardPkg: Use gArmTokenSpaceGuid.PcdSystemMemoryBase/Size to define ↵oliviermartin
System Memory These PCDs are used by ArmPlatformPkg/Bds to know where to load the Linux kernel and its parameters. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12171 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18ArmPkg/BdsLib: Allocate memory with AnyPage type if it failed with the one ↵oliviermartin
initially requested git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12170 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18ArmPlatformPkg/Bds: Add Linux 'initrd' support to BDSoliviermartin
An 'initrd' file can be specified for a Linux kernel. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12169 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18ArmPkg: Fix ARMGCC buildoliviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12165 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15ArmPkg/DebugAgentSymbolsOnlyLib: Fix the Firmware Base Address containing ↵oliviermartin
the Sec module The previous version was using the FD base address. But the FV base address should be used instead. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12138 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15ArmPkg/ArmDmaLib: Fix coherency issues in DmaLiboliviermartin
Some coherencies issues were existing in the former version of DmaLib. These issues could have for consequences to not make the MdeModulePkg/Bus/Usb software stack not work. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12137 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15ArmPkg/DebugAgentSymbolsOnlyLib: Fixed switch() statement - missing 'break'oliviermartin
This library is used to display the loaded address of the 'Sec' at the early stage of the boot process. The debug command line generated by PeCoffExtraActionLib can be used for Source Level Debugging at the early stage of the UEFI boot process. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12136 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-15ArmPkg/PL390Gic: Fix RegisterInterruptSource() to be able to unregister an ↵oliviermartin
interrupt handler git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12135 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-28ArmPkg: Fix ARM builds for XCode32oliviermartin
- Build BeagleBoardPkg, ArmRealViewEb-A8, ArmRealView-A9x2 and ArmVExpress-CTA9x4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12055 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-19ArmPkg/SemiHostingSerialPortLib: Return number of written bytes in ↵oliviermartin
SerialPortWrite() It was previously returning '0' written bytes that was interprating by the higher layers as a failing operation. Fix proposed by Eugene Cohen (HP) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12026 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-18ArmPkg/UncachedMemoryAllocationLib: Use gDS function to set memory attributesoliviermartin
Calling directly the CPU Architectural protocol does not update the GCD. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12024 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-18ArmPkg/DebugAgentSymbolsOnlyLib: Add library to print loaded address of the ↵oliviermartin
SEC and PEI_CORE modules This library that uses the DebugAgentLib interface prints the loaded addresses of the SEC and PEI_CORE module using PeCoffExtraActionLib. Note: Because there is no PE loader for these XIP modules, PeCoffExtraActionLib is not invoked. This library scans the firmware volume to find these modules and calculate their fixup loaded addresses used to load their symbols in the debugger. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12023 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06ArmPkg: Minor coding style changesoliviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11993 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06ArmPlatformPkg: Remove PcdStandalone from Sec module and Introduce ↵oliviermartin
ArmPlatformSecExtraAction() The PcdStandalone is a PCD ARM Ltd uses to make the difference between a standalone UEFI (boot from cold boot to Boot Manager without user intervention) and a Debug UEFI firmware (the firmware engineer has to copy the Normale World image into the DRAM to enable his/her firmware). By coping the firmware into DRAM in the non standalone version it is much faster than reflashing the NOR Flash after each build. ArmPlatformSecExtraAction() function is called just before the Sec module jump to normal world. The platform firmware can run extra actions at this stage. The 'ARM Standalone' concept has moved to the implementation of ArmPlatformSecExtraAction() for the ARM development boards (in ArmPlatformPkg/Library/DebugSecExtraActionLib). ArmPlatformPkg: Enable DebugAgentLib in Sec and PrePeiCore ArmPlatformPkg: Fix line endings in some source files Use CR+LF line endings as defined by the EDK2 coding convention git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11991 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-04ArmPkg/BdsLib: Linux kernel supports either FDT or ATAGoliviermartin
If a FDT blob is passed to the kernel it is required we can load it. If we fail to load the binary then we must abort the Linux booting process. ArmPkg/CpuDxe: Ensure the reset vector passed to the CP15 VBAR register is aligned on the right boundary git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11968 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01ArmPkg/CpuDxe: ZeroMem the gExceptionHandlers[] arrayoliviermartin
Prevent an IRQ (or any other exceptions) to make a call to an undefined handler when the interrupt handler has not been registered yet. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11965 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01ArmPlatformPkg: Fix buildsoliviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11964 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01ArmPkg: Move ARM Platform drivers from ArmPkg/Drivers/ to ↵oliviermartin
ArmPlatformPkg/Drivers/ The idea is to keep ArmPkg responsible for the ARM architectural modules and ArmPlatformPkg the ARM development platform packages (with their respective drivers). ArmPlatformPkg: Reduce driver dependency on ArmPlatform.h - Move some driver definitions from C-Macro to PCD values - Unify PCD driver namespace git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11956 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-28ArmPkg/BdsLib: Check if the performance timer is counting down or up in ↵oliviermartin
PrintPerformance() git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11914 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-20ArmPkg/CpuDxe: Register a callback for the gIdleLoopEventGuid eventoliviermartin
This gIdleLoopEventGuid event signals the Cpu that it should go into the idle state waiting for any events. CpuSleep() is used in this implementation to make the Cpu wait for the next interrupt (WFI instruction). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11863 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-20ArmPkg/CpuPei: Declare the CPU HOBoliviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11862 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-20ArmPkg/CpuPei: Get the System Memory from the Resource Memory HOBoliviermartin
Declare the system memory provided by the first Resource Memory HOB as cached memory to the MMU. All the remaining memory space is declared as Device Memory. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11861 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-20ArmPkg/CpuDxe: Change chain of dependency for CpuDxe and PL390Gicoliviermartin
Previously the CPU driver had a dependency on the GIC driver. But by design is should be the opposite. The CPU driver installs the CPU protocol that exposes the exception registration function. And then, the interrupt controller registers its IRQ handler through this interface. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11860 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-15ArmPlatformPkg/Bds: Fix various bugs in the new BDSoliviermartin
The errors were: - uncaught returned error - used of uninitialized variables ArmPlatformPkg/Bds: Implement the update of MemMap Boot Device git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11830 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-15ArmPkg: Fix warnings raised by ARMGCColiviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11829 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPlatformPkg: Unify the Secure and Normal FD and FV PCD namingoliviermartin
With this change, we now have these following PCDs values to define the location of the Secure and Normal firmwares: - gArmTokenSpaceGuid.PcdSecureFd(BaseAddress|Size) - gArmTokenSpaceGuid.PcdSecureFv(BaseAddress|Size) - gArmTokenSpaceGuid.PcdNormalFd(BaseAddress|Size) - gArmTokenSpaceGuid.PcdNormalFv(BaseAddress|Size) git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11806 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPkg/BdsLib: Upgrade the library to use natively the Device Patholiviermartin
The previous version was using the string representation of the Device Path. This new version takes as paramater the binary representation of the Device Path It also tries to detect which kind of device support it refers by using the remaining part of the Device Path after it has been loaded by gBS->ConnectController() Lots of bug have been fixed as well in this new version. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11799 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPkg/PL35xSmc: Split the SMC initialization in multiple Chip Select ↵oliviermartin
initialization functions Some ArmVExpress-based tiles do not map all the ArmVExpress Chips into their memory map. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11797 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPkg: Fix coding style to follow EDK2 coding conventionoliviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11789 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11ArmPkg/PL180MciDxe: Replace VenHw Device Path GUID by EFI_CALLER_ID_GUIDoliviermartin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11788 6f19259b-4bc3-4df7-8a09-765794883524