summaryrefslogtreecommitdiffstats
path: root/ArmPkg/Drivers/CpuDxe
Commit message (Collapse)AuthorAgeFilesLines
* ARM Packages: Fixed line endingsoliviermartin2013-01-253-640/+640
| | | | | | | | | 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
* ARM Packages: Moved ARM assembly files to 'Arm' subdirectoryoliviermartin2012-09-285-11/+11
| | | | | | | | 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
* ARM Packages: Minor typo, mispellings and coding style changesoliviermartin2012-09-271-8/+8
| | | | | | | | 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
* ARM Packages: Fixed mispellingsoliviermartin2012-07-041-1/+1
| | | | | | | | 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
* ArmPkg: Changed ARM CPU SetMemoryAttributes to always use strongly ordered ↵oliviermartin2012-02-142-15/+4
| | | | | | | | | | | | | | | 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
* ARM Packages: Fixed Build failings/warnings/EDK2 coding conventionoliviermartin2011-09-271-1/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12458 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/ArmLib: Clean ArmV7Liboliviermartin2011-09-271-2/+0
| | | | | | | | | - 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
* ArmPkg: Create MpCoreInfo PPI and HOB to describe CPU Cores on a MPCore platformoliviermartin2011-09-224-1/+129
| | | | | | | | | | 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
* Arm Packages: Fixed coding style/Line endings to follow EDK2 coding conventionoliviermartin2011-09-222-26/+25
| | | | | | | | | | | 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
* ArmPlatformPkg: Remove PcdStandalone from Sec module and Introduce ↵oliviermartin2011-07-061-295/+295
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ArmPkg/BdsLib: Linux kernel supports either FDT or ATAGoliviermartin2011-07-041-2/+5
| | | | | | | | | | | | | | | 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
* ArmPkg/CpuDxe: ZeroMem the gExceptionHandlers[] arrayoliviermartin2011-07-011-0/+2
| | | | | | | | | 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
* ArmPkg/CpuDxe: Register a callback for the gIdleLoopEventGuid eventoliviermartin2011-06-202-2/+38
| | | | | | | | | | | 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
* ArmPkg/CpuDxe: Change chain of dependency for CpuDxe and PL390Gicoliviermartin2011-06-202-3/+2
| | | | | | | | | | | 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
* ArmPkg: Introduce ArmSetLowVectors/ArmSetHighVectors functionsoliviermartin2011-06-031-0/+8
| | | | | | | | | | | | | | 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
* Armkg: Fix EDK2 coding styleoliviermartin2011-06-031-46/+46
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11734 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg: Introduce the PCD PcdDebuggerExceptionSupportoliviermartin2011-06-032-1/+5
| | | | | | | | | | | 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
* Fix Xcode compile bug. It looks like these two arguments had an extra level ↵andrewfish2011-03-311-1/+1
| | | | | | 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
* ArmPkg/CpuDxe: Replace SIZE_4KB by TT_DESCRIPTOR_PAGE_SIZEoliviermartin2011-03-311-5/+5
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11468 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPkg/Mmu: Support page size granularity in the initial MMU settingoliviermartin2011-03-311-30/+193
| | | | | | | | | | | 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
* Fix issue with fixing tabs.andrewfish2011-02-022-10/+10
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11297 6f19259b-4bc3-4df7-8a09-765794883524
* Remove tabs from all text files in the package.andrewfish2011-02-022-10/+10
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11295 6f19259b-4bc3-4df7-8a09-765794883524
* Sync up ArmPkg with patch from mailing list. Changed name of BdsLib.h to ↵andrewfish2011-02-026-282/+176
| | | | | | 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
* Update remaining ARM .S files with INTERWORK_FUNC macro. This is the 2nd ↵andrewfish2010-12-151-0/+5
| | | | | | half of check-in 11167. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11169 6f19259b-4bc3-4df7-8a09-765794883524
* Fix build break on Apple Xcode, caused by fixing normal gcc build break.andrewfish2010-12-141-1/+4
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11166 6f19259b-4bc3-4df7-8a09-765794883524
* Add vpush/vpop to the exception handler as we added CopyMem/SetMem that can ↵andrewfish2010-12-082-0/+9
| | | | | | 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
* Update the copyright notice formathhtian2010-04-299-19/+19
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10444 6f19259b-4bc3-4df7-8a09-765794883524
* Cleanup MMU code to do book required sync. Update exception handler to clear ↵andrewfish2010-04-133-22/+57
| | | | | | fault registers. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10366 6f19259b-4bc3-4df7-8a09-765794883524
* Remove hook for debugger. Should be implemented using the new library scheme.andrewfish2010-03-173-320/+17
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10264 6f19259b-4bc3-4df7-8a09-765794883524
* Added FIQ interrupt primatives. Update exception handler to disable/reenable ↵andrewfish2010-03-051-4/+15
| | | | | | 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
* Make these drivers more compatible with a projected Debug Agent Library ↵andrewfish2010-03-051-11/+21
| | | | | | implementation. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10196 6f19259b-4bc3-4df7-8a09-765794883524
* Remove svn:executable on *.c, *.h, *.asm, *.S, *.inf and *.asl*jljusten2010-02-253-0/+0
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10087 6f19259b-4bc3-4df7-8a09-765794883524
* Sync gcc with armasm. update some memory barriers.andrewfish2010-02-193-2/+285
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10025 6f19259b-4bc3-4df7-8a09-765794883524
* Fix bug in UncachedMemoryAllocationLib, Assembler, make ↵andrewfish2010-02-161-0/+1
| | | | | | 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
* Cleanup to match MdePkg cleanups. More progress on ARM disassembler.andrewfish2010-02-032-0/+2
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9924 6f19259b-4bc3-4df7-8a09-765794883524
* Added a library for the default exception handler and started to add a ↵andrewfish2010-01-276-188/+37
| | | | | | 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
* Fix RVCT compiler warnings, and a bug in the GdbStubAJFISH2010-01-171-0/+2
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9790 6f19259b-4bc3-4df7-8a09-765794883524
* Missed a fix in the Cpu Driver. Added some more debug for Execption handling ↵AJFISH2010-01-172-14/+24
| | | | | | and clean up some uncached stuff. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9789 6f19259b-4bc3-4df7-8a09-765794883524
* Minor update to move array into function to dead strip better on release buildsAJFISH2010-01-151-17/+16
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9778 6f19259b-4bc3-4df7-8a09-765794883524
* Updated ARM Exception handler to print out text values for CPSR registerAJFISH2010-01-151-10/+83
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9777 6f19259b-4bc3-4df7-8a09-765794883524
* Added new PeCoffGetEntryPoint lib function to get size of PE/COFF header. ↵AJFISH2010-01-142-50/+9
| | | | | | 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
* Fix GCC build bug and add a debug library to dump load and unload commands ↵AJFISH2010-01-141-55/+57
| | | | | | into the RVI debugger window. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9752 6f19259b-4bc3-4df7-8a09-765794883524
* Added support for L2 (4K) page tables and made the CPU driver change ↵AJFISH2010-01-145-61/+445
| | | | | | 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
* Working on adding paging to the CpuDxe driver so it can update cachablity. ↵AJFISH2010-01-121-0/+750
| | | | | | At this point it is coded, but untested. So this file is not yet hooked into the driver. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9721 6f19259b-4bc3-4df7-8a09-765794883524
* Fixed a bug in the HardwareInterrupt handler that would blow the stack if ↵AJFISH2010-01-082-13/+3
| | | | | | you reenable interrupts in the TimerHandler. It should be noted this happens as the TimerHandler raises and restores TPL for the timer tick used by the DXE Core. There was some work around code in the CPU driver to prevent interrupts from being enabled while handling exceptions. This has been removed. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9701 6f19259b-4bc3-4df7-8a09-765794883524
* Fix stray charcter in comment.AJFISH2010-01-081-1/+1
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9698 6f19259b-4bc3-4df7-8a09-765794883524
* Adding support for a single stack, GCC check in will followAJFISH2010-01-085-102/+214
| | | | git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9697 6f19259b-4bc3-4df7-8a09-765794883524
* Working on having a single stack for all modes. This code currently has an ↵AJFISH2009-12-221-0/+225
| | | | | | issue nesting interrupts in a big honking loop, but seems to save and restore context correctly. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9587 6f19259b-4bc3-4df7-8a09-765794883524
* Adding support for BeagleBoard. AJFISH2009-12-067-0/+1090
ArmPkg - Supoprt for ARM specific things that can change as the architecture changes. Plus semihosting JTAG drivers. EmbeddedPkg - Generic support for an embeddded platform. Including a light weight command line shell. BeagleBoardPkg - Platform specifics for BeagleBoard. SD Card works, but USB has issues. Looks like a bug in the open source USB stack (Our internal stack works fine). git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9518 6f19259b-4bc3-4df7-8a09-765794883524