Commit Graph

182 Commits

Author SHA1 Message Date
oliviermartin 7fffeef9be ARM Packages: Fixed th 'NS' (Non Secure) bit in the MMU page Table Descriptor
The 'NS' bit must only be set in Secure world to define the Non-Secure region
of the Non-Secure World.
This bit must not be set in Non-Secure World.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13252 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:00:54 +00:00
oliviermartin 96a8bc1150 ArmPkg/PeCoffExtraActionLib: Enabled DS-5 command line when using ARM Toolchain v5
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13251 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 19:58:46 +00:00
oliviermartin b1d41be7c9 ArmPkg/ArmCpuLib: Replaced complex functions ArmCpuSynchronizeWait & ArmCpuSynchronizeSignal by sev & wfe
Previsouly the synchronization of MpCore was using the SGI (Software
Generated Interrupt) to synchronize MpCore during the early boot.
This commit replaced this mechanism by the more appropriate SEV/WFE
instructions (Send/Wait Event instructions).
That also eases the port to a new cpu/platform.

Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13249 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 19:55:32 +00:00
oliviermartin 82325f95c5 ARM Packages: Minor changes (fixed mispelling, line endings, incorrect comments)
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13243 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 19:46:40 +00:00
oliviermartin 18029bb911 ArmLib/ArmV7: Add ISB to ArmEnableVFP
ArmEnableVFP could crash on an out-of-order CPU. Adding an instruction barrier after writing to CPACR cures the problem.

Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13134 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 11:01:21 +00:00
oliviermartin afb9f4da94 ArmPkg/Library/SemihostLib: Removed depenencies on Uefi.h (Base library)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13065 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:34:12 +00:00
oliviermartin 5ed2368498 ArmPkg/ArmLib: Fixed 'ArmConfigureMmu()' to avoid overflow when an entry is mapped at 0xFFFFFFFF
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13056 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:20:34 +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 31d196c16f ArmPkg/ArmArchTimerLib: Renamed the constructor to 'TimerConstructor()'
Some ARM Platform components (ie: PrePei) use this constructor name to
initialize the timers (at this time there is no PE loader to call the
library constructors) when PI/UEFI is started to initialize the
PerformanceLib.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13041 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-27 10:23:08 +00:00
oliviermartin c0a1f7776b ArmPkg/BdsLib: Added support for using uInitrd
Detect if there is a u-boot header on the initrd (by checking the
signature) and skip it.

Signed-off-by: ryan.harkin@linaro.org
Reviewed-by: oliviermartin




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13031 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-24 16:11:51 +00:00
oliviermartin 1093e3074f ArmPkg/BdsLib: Fixed LinuxImageSize if uImagei format
The uImage is 64Bytes smaller (size of the u-boot header) than
the size of the file read from the file system.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13030 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-24 16:05:00 +00:00
oliviermartin d60f6af456 ArmPkg/ArmV7Lib: Add support for Invalid Instruction Cache to Point of Unification
This patch adds support to invalidate Instruction Cache to the Point of Unification (PoU).

Signed-off-by: eugenecohen
Reviewed-by: oliviermartin



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13012 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-14 18:44:40 +00:00
oliviermartin 3d565dd674 ArmPkg/BdsLib: Fixed memory leak
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12996 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:28:25 +00:00
oliviermartin 7598f36265 ArmPkg/BdsLib: Fixed incorrect typecasting
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12995 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:27:22 +00:00
oliviermartin 4671d15d7a ArmPkg/BdsLib: Load initrd next to the Linux kernel to allow to reduce the memory from the Linux command line
The initrd was loaded at the top of the UEFI System Memory. By consequence, if the system memory
was reduced by the Linux command line then the initrd was not part of the system memory.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12994 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:25:40 +00:00
oliviermartin 995d9676c8 ArmPkg/BdsLib: Added support to start uImage
Detect if there is a u-boot header (by checking the signature) and skip it.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12993 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-09 15:23:58 +00:00
oliviermartin 3d4c7abc56 ArmPkg/RvdPeCoffExtraActionLib: Add quotes in RVD command line for RVD under Linux
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12630 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:35:05 +00:00
oliviermartin 7755dfd3a5 ArmPkg/DefaultExceptionHandlerLib: Replace the Print() by SerialOutputWrite() function
Print() is using the Console Output Protocol that cannot be available at the time of the exception.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12629 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:34:14 +00:00
oliviermartin ce4b2bd4c2 ArmPkg/ArmArchTimerLib: Fix TimerLib when the security extension is not implemented
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12628 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:33:29 +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 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 68085d37f8 ArmPkg/CompilerIntrinsicsLib: Reverse the order of the 'ldrb' instructions in __aeabi_uread4
Change __aeabi_uread4 from:
    ldrb    r2, [r0, #1]
    ldrb    r1, [r0]
    (...)
to:
    ldrb    r1, [r0]
    ldrb    r2, [r0, #1]
    (...)

This change is a workaround to handle correctly __aeabi_uread4 on ARM
Versatile Express RTSM.
It should not have any major consequence on the other ARM platforms.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12481 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-29 20:55:10 +00:00
oliviermartin 19a7404aec ArmPkg/BdsLib: Fix incorrect pointer casting
A physical address (64bit) was cast to a 32bit pointer.

Signed-off-by: Eugene Cohen (HP)
Reviewed-by: oliviermartin



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12460 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 18:27:20 +00:00
oliviermartin ae7f81cba3 ArmPkg/CompilerIntrinsicsLib: Fix __aeabi_memclr and __aeabi_memclr4
The passed arguments did not match the __aeabi_memset prototype.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12459 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 18:13:26 +00:00
oliviermartin da9675a241 ArmPkg: Add ARM Architectural Timer support
ARM Architectural Timer support is defined by the ARM Generic Timer Specification.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12455 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:35:16 +00:00
oliviermartin 0c0e7ef451 ArmPkg/ArmLib: Update Arm11 port
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12454 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:33:20 +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 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 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 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 d9325c8e4f ArmPkg/BdsLib: Move the code specific to the Atag preparation into a separate file
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12409 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:55:54 +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 2a9f433bc9 ArmPkg/ArmDisassemblerLib: Comment out unused variable
'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-13 09:55:01 +00:00
oliviermartin a6d4d0ac16 ArmPkg/BdsLib: Add missing BdsLoadOption.c file
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-12 09:37:11 +00:00
oliviermartin aa863d357a ArmPkg/BdsLib: Fix MemMap Device Path node support
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-09 10:55:26 +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 796b0b15e8 ArmPkg/CompilerIntrinsicsLib: Add memory intrinsics for RVCT
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-09-07 19:09:39 +00:00
oliviermartin cc1e814923 ArmPlatformPkg: Fix ARM RealView EB and VE builds
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-30 16:54:48 +00:00
oliviermartin 48be3ea2e0 ArmPkg/BdsLib: InitrdImageSize was not initialized when no initrd was
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-22 11:01:44 +00:00
oliviermartin 1c6f402c24 ArmPkg/BdsLib: Fixed parameters passed to AllocatePages()
Typo issue ...



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12176 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-19 15:37:16 +00:00
oliviermartin 8c454d9800 BeagleBoardPkg: Use gArmTokenSpaceGuid.PcdSystemMemoryBase/Size to define 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-18 21:15:50 +00:00
oliviermartin bd54c237f3 ArmPkg/BdsLib: Allocate memory with AnyPage type if it failed with the one initially requested
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12170 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18 21:11:27 +00:00
oliviermartin 656416bc2e ArmPlatformPkg/Bds: Add Linux 'initrd' support to BDS
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-18 13:21:14 +00:00
oliviermartin 151acec6e1 ArmPkg: Fix ARMGCC build
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12165 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18 11:12:39 +00:00
oliviermartin abb4e5f346 ArmPkg/DebugAgentSymbolsOnlyLib: Fix the Firmware Base Address containing 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-15 17:00:09 +00:00
oliviermartin e6d572ba03 ArmPkg/ArmDmaLib: Fix coherency issues in DmaLib
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-15 16:55:05 +00:00
oliviermartin 9201b04422 ArmPkg/DebugAgentSymbolsOnlyLib: Fixed switch() statement - missing 'break'
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-15 16:51:11 +00:00
oliviermartin 1d36ec02a5 ArmPkg: Fix ARM builds for XCode32
- 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-28 14:58:52 +00:00
oliviermartin 5f4f1334e3 ArmPkg/SemiHostingSerialPortLib: Return number of written bytes in 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-19 15:01:27 +00:00
oliviermartin 44c011619e ArmPkg/UncachedMemoryAllocationLib: Use gDS function to set memory attributes
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-18 17:40:12 +00:00
oliviermartin 65cd89d008 ArmPkg/DebugAgentSymbolsOnlyLib: Add library to print loaded address of the 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-18 10:27:12 +00:00
oliviermartin 438311a3bd ArmPkg: Minor coding style changes
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11993 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 16:35:30 +00:00
oliviermartin a6caee65ac ArmPlatformPkg: Remove PcdStandalone from Sec module and Introduce 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-06 16:07:54 +00:00
oliviermartin 1c1e70fa6e ArmPkg/BdsLib: Linux kernel supports either FDT or ATAG
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-04 10:02:49 +00:00
oliviermartin 3723a71a33 ArmPlatformPkg: Fix builds
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11964 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-01 19:51:48 +00:00
oliviermartin 5cc45b70c3 ArmPkg: Move ARM Platform drivers from ArmPkg/Drivers/ to 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-07-01 15:30:01 +00:00
oliviermartin 5b491514ec ArmPkg/BdsLib: Check if the performance timer is counting down or up in PrintPerformance()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11914 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-28 11:41:34 +00:00
oliviermartin 6bab33c7b6 ArmPlatformPkg/Bds: Fix various bugs in the new BDS
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-15 19:56:50 +00:00
oliviermartin e862cd50c6 ArmPkg: Fix warnings raised by ARMGCC
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11829 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-15 19:53:15 +00:00
oliviermartin a355a3654f ArmPkg/BdsLib: Upgrade the library to use natively the Device Path
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-11 11:56:30 +00:00
oliviermartin 0530bfe360 ArmPkg: Implement PeiServicesTablePointerLib using TPIDRURW register
This implementation use the Tpidrurw software context register to
store the PEI Services Table Pointer.

The author of this patch is Eugene Cohen (HP).



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11750 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:43:12 +00:00
oliviermartin f0a7a8ce23 ArmPkg/CompilerIntrinsincsLib: Add div and mullu functions to ARMGCC
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11742 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:28:40 +00:00
oliviermartin e748229889 ArmPkg/PeCoffExtraActionLib: Add the return carriage character after printing the debugger command lines
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11741 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:26:44 +00:00
oliviermartin 4705b7da4b ArmPkg: Add comments to ArmEnableVFP
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11740 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:25:51 +00:00
oliviermartin f0fef790ff ArmPkg: Introduce ArmSetLowVectors/ArmSetHighVectors functions
These functions set/clear the SCTLR.V bit that controls the location
of the Vector Table.
This commit also forces the SCTLR.V to be clear when the VBAR register
is set.

Note: The original fix has been proposed by Eugene Cohen (HP).




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11739 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:25:01 +00:00
oliviermartin 51d191aad5 ArmPkg/PL310L2Cache: Remove magic values in PL310L2Cache and clean the code
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11735 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:20:30 +00:00
oliviermartin 63adfb1129 Armkg: Fix EDK2 coding style
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11734 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:18:48 +00:00
oliviermartin 2e3650d97d ArmPkg/Arm9Lib: Assert if memory region size is TT_DESCRIPTOR_SECTION_SIZE aligned
The current code does not support memory region size that is not
aligned on TT_DESCRIPTOR_SECTION_SIZE boundary.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11490 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 13:06:48 +00:00
oliviermartin 643ec0e7c1 ArmPkg: Fix InternalMemCopyMem()
This function crashed when regions overalapped. The condition to
optimize the copy of overlapped regions was not correct.
    

ArmPkg: Add comments to InternalMemCopyMem()
    
These comments explain the flow of this assembly function.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11486 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 12:26:20 +00:00
oliviermartin 61afd6a9e2 ArmPkg/ArmDisassemblerLib: Fix register list
'r1' register was missing from the list.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11485 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 12:24:44 +00:00
oliviermartin cf3a77a02a ArmPkg/BdsLib: Fix GetSystemMemoryResources()
The function was not correctly merging the system memory chunks.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11479 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 12:17:37 +00:00
oliviermartin bad880b172 ArmPkg/BdsLib: Prevent application to hang the platform using watchdog
Before to start an image we start the watchdog. And it stops when the
application returns.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11478 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 12:16:28 +00:00
oliviermartin 2cf4b60895 ArmPkg/Mmu: Support page size granularity in the initial MMU setting
Formerly, it was only possible to use section size granularity for the
translation table regions.
This change allows to define initial translation table regions with
4K-byte granularty (page size granularity).



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11467 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 11:23:55 +00:00
andrewfish 507ebc1a35 Fixes to get CodeSourcery GCC and RVCT 3.1 compiling.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11298 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-03 01:49:07 +00:00
andrewfish 2ac288f919 Fix issue with fixing tabs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11297 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-02 23:19:30 +00:00
andrewfish 58b5d037b4 Remove tabs from all text files in the package.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11295 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-02 22:52:07 +00:00
andrewfish 1bfda055df Sync up ArmPkg with patch from mailing list. Changed name of BdsLib.h to BdsUnixLib.h and fixed a lot of issues with Xcode building.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11293 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-02 22:35:30 +00:00
andrewfish 98fc7c77ac Fix typo in __switchiu8() to use r0 in place of r3.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11234 6f19259b-4bc3-4df7-8a09-765794883524
2011-01-06 21:46:54 +00:00
andrewfish 7d9524051e Fix semihosting on gcc. We need to save lr as svc instruction will change it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11171 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-15 02:39:00 +00:00
andrewfish 63ca740217 Update remaining ARM .S files with INTERWORK_FUNC macro. This is the 2nd half of check-in 11167.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11169 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-15 01:06:20 +00:00
andrewfish d9629029f2 Add support for semihosting with GCC. Still needs more testing.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11168 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-15 01:00:54 +00:00
hhtian b28fe0e209 update copyright format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10857 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-08 03:15:05 +00:00
andrewfish 934309d58e Add a temp BasePeCoffLib that deals with MOVT instruction. At this point we don't know how the PE/COFF spec will change, but we can merge the real change into the MdePkg when the PE/COFF spec is updated and remove this library. To be clear I made up the PE/COFF relocation extension for these relocations, but as long as the tools match it all works.... Mainly doing this to support gcc.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10762 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-31 01:50:35 +00:00
andrewfish 28d1916584 Fix Xcode build break.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10713 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-29 18:26:19 +00:00
andrewfish 54a7013153 Fix CodeSourcery 2010q1 link issue by adding missing intrinsics
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10692 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-25 05:38:36 +00:00
andrewfish 3ea3ff88e3 Fix issue in DmaMap with buffers that are smaller than a cache line. Also make any buffer that is not an even quanta of cache lines double buffer.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10654 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-15 17:27:13 +00:00
andrewfish 938f46b44f Add DMA Lib for generic ARM cache coherency model.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10556 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-29 00:34:43 +00:00
hhtian d6ebcab769 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10444 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-29 12:15:47 +00:00
andrewfish d39eb83cc5 Add some ldm/vldm optimized CopyMem routines. Add performance macros to BDS
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10388 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-21 22:04:35 +00:00
andrewfish 5b792f1abf Add a PE/COFF extra action lib that DEBUG prints the debugger command to load symbols. Turn off DXE Core DEBUG print on load and use this new library in its place.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10373 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-14 21:52:26 +00:00
andrewfish e9fc14b6e1 Make sure FIQ debugger stuff can work.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10369 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-13 22:30:42 +00:00
andrewfish bb02cb8071 Cleanup MMU code to do book required sync. Update exception handler to clear fault registers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10366 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-13 19:27:03 +00:00
andrewfish 7800c283e0 Cleanup Cache an MMU operations.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10348 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-07 18:13:58 +00:00
andrewfish 3a753121f2 Fix bug
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10263 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-17 02:29:58 +00:00
andrewfish 4e471bfd4d Update intrinsics for code sourcery gcc
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10262 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-17 02:29:12 +00:00
andrewfish 0416278cfd Added FIQ interrupt primatives. Update exception handler to disable/reenable FIQ when updating in case debug agent library is using FIQ.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10197 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-05 02:15:41 +00:00
andrewfish 548af3e780 Syncing GCC and ARMASM assembly. Made chunks of the ARMASM lowercase to make the diff easier.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10163 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-03 04:14:16 +00:00
jljusten a495774f69 Remove svn:executable on *.c, *.h, *.asm, *.S, *.inf and *.asl*
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10087 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 18:17:41 +00:00