Commit Graph

56 Commits

Author SHA1 Message Date
Olivier Martin 6adbd5b4d2 ArmPkg/ArmLib: Added ConvertSectionAttributesToPageAttributes()
This helper function converts the section attributes into their page equivalents.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14567 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-19 17:37:50 +00:00
Olivier Martin 047c0cbb1e ArmPkg/CpuDxe: Fixed AArch64 MMU/GCD synchronization
- Fix the length used to set the GCD Memory Space attribute
- Print a warning message if the given length of a memory space region is not 4KB-aligned

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14562 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-19 17:33:31 +00:00
Girish K S 6a343fac2c ArmPkg/CpuDxe: AArch64: Fix wrong comparison of exception type
During the interrupt registration comparison is made against
max value of exception types for ARMV7, but in the common handling
function the check is made against max value of exceptions types
for ARMV8. This can lead to undefined behaviour during registration
of interrupts.

This patch modifies the registration function to handle only AArch64
exceptions.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Girish K S <ks.giri@samsung.com>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14561 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-19 13:49:09 +00:00
Olivier Martin 5b53eaffe8 ArmPkg,ArmPlatformPkg: Free memory allocated by Get.*SpaceMap()
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14507 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-26 17:12:12 +00:00
Harry Liebel 25402f5d06 ArmPkg: Added Aarch64 support
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14486 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-18 18:07:46 +00:00
Olivier Martin 591fb3781a ArmPkg/CpuDxe: Moved memory mapping functions that are not architecture specific to 'CpuMmuCommon.c'
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14482 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-18 06:20:33 +00:00
oliviermartin 2614b0c474 ArmPkg: Moved ARMv7 specific files to a 'Arm' subdirectory
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14180 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:49:42 +00:00
oliviermartin 1e57a46299 ARM Packages: Fixed line endings
This large code change only modifies the line endings to be CRLF to be
compliant with the EDK2 coding convention document.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14088 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-25 11:28:06 +00:00
oliviermartin 21de944e03 ARM Packages: Moved ARM assembly files to 'Arm' subdirectory
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13772 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 10:52:16 +00:00
oliviermartin b34e4db382 ARM Packages: Minor typo, mispellings and coding style changes
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13752 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-27 13:39:40 +00:00
oliviermartin ce88684e2a ARM Packages: Fixed mispellings
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13502 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-04 20:23:21 +00:00
oliviermartin 9207c5d758 ArmPkg: Changed ARM CPU SetMemoryAttributes to always use strongly ordered for the EFI_MEMORY_UC attribute
Changed ARM CPU SetMemoryAttributes to always use strongly ordered for the EFI_MEMORY_UC attribute. 

Signed-off-by: 
Reviewed-by: eugenecohen
Reviewed-by: yanivtal




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13011 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-14 15:54:05 +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 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 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 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 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 6e88239331 ArmPkg/CpuDxe: ZeroMem the gExceptionHandlers[] array
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-01 20:02:14 +00:00
oliviermartin 8513037f2c ArmPkg/CpuDxe: Register a callback for the gIdleLoopEventGuid event
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-20 21:35:50 +00:00
oliviermartin d7b6c49b78 ArmPkg/CpuDxe: Change chain of dependency for CpuDxe and PL390Gic
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-20 21:30: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 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 eeec69c5dc ArmPkg: Introduce the PCD PcdDebuggerExceptionSupport
The Exception Vector can be set before installing the CPU DXE driver to add
debugger support at the early stage of the firmware initialization.
If no one has touched the exception vector prior to the CPU DXE then the Vector
might contain non zero data.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11733 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 09:18:00 +00:00
andrewfish 8ea50d2e4a Fix Xcode compile bug. It looks like these two arguments had an extra level of indirection that was in error. Good thing about extra compilers is we catch this kind of thing for almost free.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11491 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 15:31:36 +00:00
oliviermartin 2297613a3f ArmPkg/CpuDxe: Replace SIZE_4KB by TT_DESCRIPTOR_PAGE_SIZE
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11468 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 11:26:00 +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 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 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 5792e320d3 Fix build break on Apple Xcode, caused by fixing normal gcc build break.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11166 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-14 22:45:46 +00:00
andrewfish fe295078f2 Add vpush/vpop to the exception handler as we added CopyMem/SetMem that can use NEON registers to speed things up. This means we need to save state so we don't blow up a CopyMem.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11130 6f19259b-4bc3-4df7-8a09-765794883524
2010-12-08 00:14:23 +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 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 9f50cb977c Remove hook for debugger. Should be implemented using the new library scheme.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10264 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-17 02:37:34 +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 41d478023f Make these drivers more compatible with a projected Debug Agent Library implementation.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10196 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-05 00:57:07 +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
andrewfish 98bc0c8c05 Sync gcc with armasm. update some memory barriers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10025 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-19 18:51:10 +00:00
andrewfish 65e2744587 Fix bug in UncachedMemoryAllocationLib, Assembler, make DefaultExceptionHandler lib inc the PC past the faulting instruction to aid debug. Update LR in Exception hanlder, so return address can get updated properly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10018 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 23:45:42 +00:00
andrewfish eeb78924ec Cleanup to match MdePkg cleanups. More progress on ARM disassembler.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9924 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-03 22:34:43 +00:00
andrewfish 6f72e28d04 Added a library for the default exception handler and started to add a dissasembler. Cleaned up some issues with BlockIo in BeagleBoard and add some extra info on Ebl devices command to show if a blk device has a file system on it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9830 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-27 02:47:47 +00:00
AJFISH 920cb92642 Fix RVCT compiler warnings, and a bug in the GdbStub
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9790 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-17 04:44:33 +00:00
AJFISH d4f167a92a Missed a fix in the Cpu Driver. Added some more debug for Execption handling and clean up some uncached stuff.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9789 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-17 02:54:31 +00:00
AJFISH 79b9790fb8 Minor update to move array into function to dead strip better on release builds
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9778 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15 18:33:26 +00:00
AJFISH 235605b5c7 Updated ARM Exception handler to print out text values for CPSR register
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9777 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-15 17:30:25 +00:00
AJFISH 225290eba7 Added new PeCoffGetEntryPoint lib function to get size of PE/COFF header. This is needed for debug prints with PE/COFF images that started as ELF or Mach-O. Moved and debugged ARM semihosting lib for RVD that prints out the debugger symbol load commands in a window on the debugger. Trying to write a script file, but that crashes RVD. Added debug print to BeagleBoard Sec that prints out RVD debugger command to load symbols for the Sec. Synced the rest of the code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9763 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 23:39:29 +00:00
AJFISH 62e797a489 Fix GCC build bug and add a debug library to dump load and unload commands into the RVI debugger window.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9752 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 16:18:02 +00:00
AJFISH f659880bfa Added support for L2 (4K) page tables and made the CPU driver change cachability attributes on request. Also got the DebugUncache infrastructure working for the first time. Looks like it works for the simple case. Checking in so we can get more eyes looking at the code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9734 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 03:25:08 +00:00