Commit Graph

509 Commits

Author SHA1 Message Date
Olivier Martin 8a25bd7c54 ArmPlatformPkg/ArmPlatformStackLib: Do not directly use PcdArmPrimaryCore
To make the code platform independent we should not use PcdArmPrimaryCore
in libraries other than the platform specific libraries.
Some platforms allow to change the primary core with external registers.
These platforms do not use PcdArmPrimaryCore to identify the primary CPU.

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@14938 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-06 16:12:24 +00:00
Olivier Martin 99267097f3 ArmPlatformPkg: Fix and Implement ArmPlatformGetPrimaryCoreMpId
- Used correct PCD
- Implement the function for AArch64, BeagleBoard, CTA15A7

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@14937 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-06 16:11:34 +00:00
Olivier Martin 34b292fa9e EmbeddedPkg/EmbeddedPkg.dec: Defined default values for PcdPrePiCpuMemorySize & PcdPrePiCpuIoSize
This change introduces default values for the PCDs PcdPrePiCpuMemorySize & PcdPrePiCpuIoSize.
These values are for the architectures ARM, AARCH64, IA32 and X64.

The redefinition of these PCDs (with the same default values) have been removed from the DSC files.

Note: the default value for AARCH64 was 32. It was preventing to allocate buffer above the 32bit
address space.

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@14914 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-28 21:40:14 +00:00
Olivier Martin ace8987748 ArmPlatformPkg/Ds5: Update script to support System Memory above the 32bit space on AArch64
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@14912 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-28 21:39:23 +00:00
Olivier Martin d4c92adef7 ArmPlatformPkg/ArmVExpressLibCTA9x4: Fixed the initial secondary core bringup when remapping DRAM at 0x0
If the DRAM is remapped at 0x0 then we need to wake up the secondary cores from wfe
(waiting for the memory to be initialized) as the instruction is still in the remapped
flash region at 0x0 to make them jumping into the C-code which lives in the NOR1 at 0x44000000 before
the region 0x0 is remapped as DRAM.

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@14910 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-28 21:38:32 +00:00
Olivier Martin 6cc28dc4c0 ARM Packages: Removed 'Chipset/ArmV7.h' inclusion from the non-ARMv7 specific files
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@14909 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-28 21:38:06 +00:00
Olivier Martin 54ed21dbbb ArmPlatformPkg/ArmVExpressPkg: Removed unused PCDs declaration from INF file
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@14907 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-28 21:37:10 +00:00
Olivier Martin 8c6ab85790 ArmPlatformPkg/ArmVExpressPkg: Fixed when EDK2_ARMVE_STANDALONE is set to zero
If EDK2_ARMVE_STANDALONE is not defined then the value is set to 1.
The developer has to explicit set the macro to zero to build a non standalone build.
It means this macro is always defined.

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@14906 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-28 21:36:17 +00:00
Olivier Martin 75f630347c ArmPlatformPkg: Added initial support for the FVP Base and Foundation Models
The FVP Base Model has GICv3 support.
UEFI SEC does limited configuration of GICv3 if present. This is required for Linux to use GICv3.
UEFI itself uses the GICv3 in legacy mode (GICv2).

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@14824 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-05 18:10:36 +00:00
Olivier Martin 017baa1cf3 ARM Packages: Renamed PL390Gic driver into ArmGic driver
The aim is to make this driver follows the ARM GIC specifications and
be implementation independent.

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@14810 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-29 06:36:34 +00:00
Olivier Martin cc104d19a9 ArmPlatformPkg/PL031RealTimeClockLib: Fixed the conditions in LibSetTime()
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@14794 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-21 11:12:21 +00:00
Olivier Martin 4f8c9ae05d ArmPlatformPkg/PL180MciDxe: Fixed check for space in transmit FIFO
This patch prevents a buffer underrun error on the Versatile Express

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@14793 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-21 11:06:51 +00:00
Roy Franz ae26789a50 ArmPlatformPkg/NorFlashDxe: Fix checking of return value of NorFlashWriteBlocks()
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Roy Franz <roy.franz@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14792 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-21 10:29:56 +00:00
Olivier Martin 1d7b547e69 LcdGraphicsOutputDxe: Update FrameBufferSize as per UEFI spec section 11.9
The shift by 1 on the left was expected. It eases the access to CSSELR and set/way operations
where the cache level field is at the BIT1 position.

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@14705 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-23 09:42:53 +00:00
Olivier Martin d8c4bb9afa ArmPlatformPkg/LcdGraphicsOutputDxe: Call LcdShutdown() on ExitBootServices() if PcdGopDisableOnExitBootServices
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@14702 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-23 09:40:27 +00:00
Olivier Martin 64669acab3 LcdGraphicsOutputDxe: Fix BltVideoFill for non-32-bit architectures
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@14701 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-23 09:39:40 +00:00
Garrett Kirkendall 2a414cd3c3 ArmPlatformPkg/MemoryInitPei: AARCH64 fix memory address calculations
At least for AARCH64 currently, SystemMemoryTop and FdTop can overflow
while adding the 32-bit PCDs together.  The resulting value loses the
upper 32-bits.  Cast each of the values to EFI_PHYSICAL_ADDRESS size
before doing the addition to prevent erroneous overflow.  There is currently
no 32-bit platform in EDKII open source that will overflow and this change
would not fix that problem anyway.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Garrett Kirkendall <garrett.kirkendall@amd.com>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14675 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-16 09:29:52 +00:00
Olivier Martin c683aa9cd1 ArmPlatformPkg/patches: Updated BaseTools-Pending-Patches.patch
This updated patch contains the patch:
- Fixed calculation of BaseOfCode in GenFw when the first code section is aligned:
    Fixes the calculation of the PE/COFF header attribute .BaseOfCode. when the first ..text. section is aligned.
    In the current code base, the alignment of the first code section is not taken into account for the calculation of BaseOfCode.

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@14628 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-04 10:30:27 +00:00
Olivier Martin 0171906d10 ArmPlatformPkg: Update AArch64 models to match the binaries generated by the AArch64 Linux kernel
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@14627 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-04 09:38:53 +00:00
Olivier Martin 55b0a24ad2 ARM Package: Increase FV file size for some EDK2 firmware
GCC47 generates bigger binaries in Debug build than GCC46.

This large increase is considered as a regression.
It will require some investigation to understand the reason
of this increase in size.

The size of the FV has been increased to allow developers to
build these images with the current BaseTools.

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@14611 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-30 11:50:36 +00:00
Girish K S 98fed08f9f SCR_EL3 is the control register for setting the security state
modified the comment which can mislead.

The "ldr r0, [r1]" is overrided with a immediate "mov ro, #3"
instruction. This mov instruction will over write the contents
of the ro register. So replacing 'mov' by 'orr' instruction would
prevent to override the original value.

This patch assumes mov is the right instruction to be retained

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@14606 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-27 09:17:20 +00:00
Olivier Martin 18e44b07d4 ArmPlatformPkg/ArmVExpressPkg: Added 'EfiResetPlatformSpecific' to ResetSystemLib
This value was missing from the switch on 'ResetType'.

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@14583 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-21 14:45:02 +00:00
Olivier Martin 5232a5e2af ArmPlatformPkg/Sec: Removed SetupExceptionLevel3()
This function only does the GIC initialization that is always taken care by Sec.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@14581 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-21 12:07:01 +00:00
Olivier Martin cc93554486 ArmPlatformPkg/Sec: Remove SCR and CPTR initialization from SetupExceptionLevel3
This is already taken care by Sec when PcdTrustzoneSupport = TRUE.

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@14580 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-21 12:05:44 +00:00
Olivier Martin a639401d2f ArmPlatformPkg/ArmVExpressPkg: Set PcdTrustzoneSupport to TRUE on the AArch64 platforms
This PCD ensures the transition from EL3 to EL2 in ArmPlatformPkg/Sec.

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@14579 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-21 12:04:57 +00:00
Olivier Martin 48999d26c5 ArmPlatformPkg/ArmVExpressPkg: Add System ID of FVP models to VE LCD driver.
- Setting DVI fails on VE models. The FVP models behave the same.
  These have updated SYS ID numbers and they need to be added to the
  driver.

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@14564 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-19 17:35:18 +00:00
Olivier Martin 4ca88ec73f ArmPlatformPkg/ArmVExpress.dsc.inc: Added DEBUG_GCD & DEBUG_CACHE values to the list of DEBUG_*
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@14563 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-19 17:34:17 +00:00
Olivier Martin 6dafb3030d ArmPlatformPkg: PrePei Cache disable and invalidate.
- Disable data cache on all cores.
- Do not clean caches as there might be junk in them, invalidate only.

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@14527 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-06 17:41:53 +00:00
Olivier Martin bb058bcdfb ArmPlatformPkg/PL180MciDxe: Increased the TPL at the highest priority to disable interrupts
This change prevent any interrupt to disturb the PL180 data transfer.
If the data transfer is not fast enough, we get UNDERRUN error.

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@14526 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-06 12:11:13 +00:00
Olivier Martin d6dc67ba1b ARM: Remove NSACR from the common code
NSACR (Non-Secure Access Control Register) is AArch32 specific.

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@14522 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-06 10:59:19 +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 f9cec5f1d9 ArmPlatformPkg: Added Aarch64 Foundation Model
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@14495 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-19 00:07:16 +00:00
Harry Liebel e3d495e1b9 ArmPlatformPkg/Ds5: 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@14491 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-18 21:32:43 +00:00
Harry Liebel 27be3601d2 ArmPlatformPkg: Added support for Aarch64 AEM RTSM model
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@14490 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-18 19:53:43 +00:00
Harry Liebel 1bc8326695 ArmPlatformPkg: 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@14489 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-18 19:06:52 +00:00
Olivier Martin da275244e3 ArmPkg: Removed the non-used PCD PcdGicPrimaryCoreId
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@14480 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-17 06:26:10 +00:00
Olivier Martin f93f248a78 ArmPlatformPkg: Removed the check on the CpuId to release the secondary cores from their mailbox spinning
The idea is to remove the PCD PcdGicPrimaryCoreId to make the port easier (and also to allow changing
the primary boot CPU without adding more platform specific code to UEFI).

There is a risk the mailboxes contain garbage at boot time. But it should be easy enough to clear the
mailboxes when starting UEFI to workaround this limitation.

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@14477 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-17 06:23:07 +00:00
Olivier Martin e8ee4b2d43 ArmPlatformPkg/ArmVExpressLibCTA15-A7: Mapped the extra 1GB of DRAM in the MMU
ARM Versatile Express TC2 Core Tile has two profiles: the 1GB DRAM core tile or
the 2GB DRAM core tile profiles.
By default UEFI assumes, it is the 1GB core tile. In case of 2GB DRAM it declares
this additional 1GB resource system memory to UEFI. But the previous code did
not map this memory in the MMU Page Table.
So, the memory was allocatable by UEFI modules, but was not accessible by the CPU
(because not mapped).

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




git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14449 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-01 14:14:37 +00:00
Olivier Martin 6f050ad6bf ArmPkg: Made ArmConfigureMmu() returns a status code
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@14445 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-27 18:16:06 +00:00
Olivier Martin e7c578c902 ArmPlatformPkg: Fixed deprecated ifdef syntax in DSC files
The syntax '!ifdef $(MACRO)' is deprecated and should be replaced by '!ifdef MACRO'.

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@14440 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-21 11:08:17 +00:00
Ryan Harkin cae32cfeb2 ArmPlatformPkg/ArmVExpressPkg: CTA9x4: Default to EDK2_ARMVE_STANDALONE=1
This patch changes the Versatile Express A9 BSP to build with
EDK2_ARMVE_STANDALONE=1 as the default option.

The user may then specify zero if they wish to build the non-standalone
version.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14439 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-21 10:59:53 +00:00
Ryan Harkin e375b7e0bd ArmPlatformPkg/ArmVExpressPkg: Add Shutdown support
LibResetSystem was performing a cold reboot for both reboot and
shutdown.

This patch updates LibResetSystem to pass SYS_CFG_SHUTDOWN to the
microcontroller when called wit EfiResetShutdown.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14438 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-21 10:09:50 +00:00
Leif Lindholm 0d304bef4b ArmPlatformPkg/Bds: Make ".EFI" files recognizable as EFI applications
Currently, only ".efi" files are recognized as valid ARM UEFI
applications by BDS. This patch also makes ".EFI" files recognised.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14437 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-21 10:01:27 +00:00
Olivier Martin ec6b73d7a6 ArmPlatformPkg/PL011Uart: Ignore BAUD rate if Integral non-zero
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@14432 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-19 18:06:12 +00:00
Olivier Martin c57482d11c ArmPlatformPkg/PL011Uart: Fixed condition
The aim of the condition is to check if we should use the default BaudRate
value (case when *BaudRate == 0).

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@14431 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-19 18:03:12 +00:00
Olivier Martin 4076165359 ArmPlatformPkg/Bds: Moved the PrintLib() after forcing the last character to be null
That should prevent the risk of buffer overflow.

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@14430 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-19 18:00:46 +00:00
Olivier Martin 9d94fa2da2 ArmPlatformPkg/ArmVExpressLibCTA15-A7: Fixed ARM Toolchain build
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@14429 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-19 17:58:26 +00:00
Olivier Martin 9e2e89f013 ArmPlatformPkg: Fixed size of RTSM FDs
The size of the FDs did not match the FD layout.

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@14426 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-17 09:52:51 +00:00
Ryan Harkin 7ff3b9494d ArmPlatformPkg/Bds: Fixed potential overflow in EditHIInputStr()
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Signed-off: Olivier Martin <olivier.martin@arm.com>




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14393 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-29 14:56:35 +00:00
oliviermartin 15e277d5ac EmbeddedPkg/SerialPortExtLib.h: Changed SerialPortSetAttributes() prototype to return the set value(s)
To be compliant with the UEFI specification it is required to update SERIAL_IO_MODE with the values set.
This prototype change allows to get the value used inside SerialPortSetAttributes().

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@14365 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-15 08:44:59 +00:00
oliviermartin 1cb7c11957 ArmPlatformPkg/ArmVExpressPkg: Switch from ATAG to FDT for VExpress RTSM
The FDT name are the one from Linaro release.

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@14348 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-12 23:46:47 +00:00
oliviermartin b5a572238d ArmPlatform/ArmPlatformLib: Introduced ArmPlatformPeiBootAction()
This function allows platform to do any specific actions prior to
the start the PEI phase.
For instance, this function could be used by some platforms to initialize clocks that
are required at the early stage of the PEI phase.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Acked-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14347 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-10 12:49:10 +00:00
oliviermartin 2d45f194d9 ARM Packages: Replaced the macro GetCorePositionFromMpId() by the ArmPlatformGetCorePosition()
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Acked-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14346 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-10 12:46:11 +00:00
oliviermartin d05ca26cb8 ArmPlatformPkg/ArmPlatformLib: Added ArmPlatformGetPrimaryCoreMpId()
ArmPlatformGetPrimaryCoreMpId returns the MPID of the primary core.
The primary core might not be known at build time (eg: the platform allows
the boot CPU to be changed through board config).

This function is used during the secondary core stack initialization to know
the position of the secondary core in the SoC.
A secondary core that is at the position N, with N greater than the primary
core position, will be at the position N-1 in the list of secondary stacks
(the primary core has its own separate bigger stack).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Acked-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14345 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-10 12:44:30 +00:00
oliviermartin bebda7ceec ArmPlatformPkg/ArmPlatformLib: Added support for ArmPlatformIsPrimaryCore()
Checking if a core if the primary/boot core used to be done with the macro
IS_PRIMARY_CORE().
Some platforms exposes configuration registers to change the primary core.
Replacing the macro IS_PRIMARY_CORE() by ArmPlatformIsPrimaryCore() allows
some flexibility in the way to check the primary core.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Acked-by: Ryan Harkin <ryan.harkin@linaro.org>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14344 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-10 12:41:27 +00:00
oliviermartin bc7b889a03 ArmPlatformPkg/ArmPlatformLib.h: Removed non-required header file
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14343 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-10 12:34:36 +00:00
oliviermartin 6271d8c5df ArmPlatformPkg/Sec: Replaced non-required 'blx' by 'bl'
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14342 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-10 12:33:26 +00:00
oliviermartin 72647f1901 ArmPlatformPkg: Remove an unused function.
ArmPlatformGetAdditionalSystemMemory() function wasn't used anywhere in UEFI.
This patch deletes it.

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@14270 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-14 09:32:45 +00:00
oliviermartin faf74130d6 Remove unused L2 controller PCD from platform files.
Only the Cortex A9 based platforms have an external L2 controller.

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@14269 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-14 09:31:47 +00:00
oliviermartin 53cba4fea4 ArmPlatformPkg/Bds: Missing CRC32 update
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@14266 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-14 09:28:11 +00:00
oliviermartin 3d783074e1 ArmPlatformPkg/NorFlashDxe: Make the driver more compliant with the UEFI specification
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@14263 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-14 09:25:34 +00:00
oliviermartin 6bc77e7a21 ArmPlatformPkg/PL011Uart: Added support for default BaudRate
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@14261 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-14 09:23:30 +00:00
oliviermartin ecc62d1390 ArmPlatformPkg/Bds: Fixed adding support for new boot entry when the generated DevicePath is bigger than one node
The initial support was only considering the added Device Path will be a single node.
TFTP for instance requires two new nodes on the top of the ethernet Device Path; a first
one for the IP address of the server and a second one for the file to download.

This change replace the return argument from a DevicePath node by a DevicePath.
It means the End Device Path node is now required.

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@14194 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 01:03:23 +00:00
oliviermartin 4d83284aee ArmPlatformPkg/LcdGraphicsOutputDxe: The structure signature is a 32 bit value
The signature was declared as UINTN.

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@14190 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 01:00:30 +00:00
oliviermartin bc87b5075a ArmPkg/BdsLib: Added support to declare Power State Coordination Interface (PSCI) to the Flat Device Tree (FDT)
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@14185 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:56:37 +00:00
oliviermartin a9d7090fc2 ArmPlatformPkg: 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@14182 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:54:02 +00:00
oliviermartin 6f711615ba ARM Packages: Fixed coding style and typos
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@14179 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:45:29 +00:00
oliviermartin 8274521330 ArmPlatformPkg/NorFlashDxe: Fixed BufferSize calculation in NorFlashWriteSingleBlock()
Needed to convert Word into Byte.

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@14178 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:44:30 +00:00
oliviermartin 9f5c60c38b ArmPlatformPkg/CTA15-A7: Add a convenient way to restore default values in NOR flash.
Setting bit4 of SCC register 48 now triggers the erasing of the memory region
reserved for variable storage in NOR flash and the restoration of the default
headers in flash.

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@14177 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:43:58 +00:00
oliviermartin c0b2e4775d ArmPkg: Introduce GetGlobalEnvironmentVariable() function.
Rename GetEnvironmentVariable() function into GetGlobalEnvironmentVariable().
GetEnvironmentVariable() function sill exists but caller must now pass a Guid.

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@14176 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:42:59 +00:00
oliviermartin 7135d76d56 ArmPlatformPkg/BootMenu.c: Print loader type in a more friendly way.
In debug mode, the loader type (EFI application or linux kernel with
FDT/ATAG support) is displayed in UEFI boot menu.

Before this patch it was printed as a decimal number which is
meaningful to the user only if he knows the values of the
ARM_BDS_LOADER_TYPE enumeration type in the source code...

This patch modifies the boot menu so that it also prints a
user-friendly string describing the loader type.

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@14175 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:41:52 +00:00
oliviermartin b9ee70610b ArmPlatformPkg/ArmPlatformLibNull: Fixed build
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@14174 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:41:05 +00:00
oliviermartin d38c35f9f7 EmbeddedPkg: Introduced a separate SerialPortExtLib library
Formerly only the header was defined and it was expecting the SerialPortExtLib
interface to be implemented by SerialPortLib if supported. This behaviour was
not conform to the EDK2 framework.

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@14173 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 00:40:11 +00:00
oliviermartin 166c01fbc2 ArmPkg: Move ArmSmcLib from ArmPlatformLib to ArmPkg
A ArmSmcLib Null implementation has also been added for CPU without the ARM Security
Extension (Trustzone support).

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14164 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-06 00:01:49 +00:00
oliviermartin 1e43cdfdd4 ArmPlatformPkg/PL031RealTimeClockLib: Set PL031_{TimeZone,Daylight} UEFI variables as local
PL031_TimeZone and PL031_Daylight are not global variables as defined by UEFI specification

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14107 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-28 11:59:37 +00:00
oliviermartin d5cd447b1f ArmPlatformPkg: Fixed unsigned type to be architecture independent
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14106 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-28 11:56:33 +00:00
oliviermartin e7072e04e4 ArmPlatformPkg/ArmPlatformLibNull: Added template for ArmPlatformGetCorePosition()
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14105 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-28 11:51:15 +00:00
oliviermartin aeaf64d64d ArmPlatformPkg/Bds/BootMenu.c: Set "Fdt" UEFI variable as local
"Fdt" UEFI variable is not a global variable as defined by UEFI specification.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14104 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-28 11:44:50 +00:00
oliviermartin 72efe0271f ArmPlatformPkg/Scripts: Added '--verbose' support to DS-5 scripts
Verbose mode can also be enabled by the shorter argument '-v'

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14100 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-25 12:14:09 +00:00
oliviermartin 063ad84e20 ArmPlatformPkg/PrePi: Removed magic values
Introduced CPSR (Coprocessor Status Register) definitions

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14097 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-25 12:05:17 +00:00
oliviermartin c3adcc9755 ArmPlatformPkg: Fixed ArmPlatformPkg/ArmPlatform(-2ndstage).dsc builds
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14096 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-25 12:02:59 +00:00
oliviermartin 67fb865cbd ArmPlatformPkg: Replaced FatPkg source package by the pre-built FatPkg binary
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14095 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-25 12:00:33 +00:00
oliviermartin 9127a094fd ArmPlatformPkg/Bds: Fixed the deletion of boot option entries
When deleting a boot entry from the boot menu all next entries must
be copied one entry up to rearrange the BootOrder list.

This patch fixes the copy: each boot entry is 16 bits, not 8 bits.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14090 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-25 11:50:59 +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 25328e4354 ArmPlatformPkg/Scripts: Fixed the Makefile for Windows
This is the Makefile for the Windows version of Eclipse (use
MingW for Unix 'emulation').

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13886 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-29 14:54:21 +00:00
oliviermartin d5c5ad419e ArmPlatformPkg/Scripts/Ds5: Added missing package declarations in Python scripts
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13876 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-22 15:45:10 +00:00
oliviermartin 6e9ed5b80d ArmPlatformPkg/Scripts/Ds5: Updated DS-5 scripts to be used by DS-5 v5.12
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13875 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-22 14:04:47 +00:00
oliviermartin a8e812dea5 ArmPlatformPkg/Scripts: Added ARM DS-5 scripts to debug UEFI
These scripts allow to automatically load the symbols using either the
report file created by the BaseTools or using the memory regions
defined in the arguments.

This is the scripts for DS-5 prior to DS5 v5.12.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13874 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-22 14:01:38 +00:00
oliviermartin 74418fe963 ArmPlatformPkg/BaseTools-Pending-Patches.patch: Added latest ARMGCC & ARMLINUXGCC updated flags
All these changes are already in BaseTools subversion repository.

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




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13865 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-18 16:27:14 +00:00
oliviermartin deb8a0615d ArmPlatformPkg/LcdPlatformLib.h: Updated HD mode settings to produce a 60Hz frame rate
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13777 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 11:12:13 +00:00
oliviermartin beeb44f425 ArmPlatformPkg/LcdPlatformLib.h: Added support for 'WSXGA+ Mode: 1680 x 1050'
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13776 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 11:11:00 +00:00
oliviermartin 295c2eb804 ArmPlatformPkg/ArmVExpress-CTA15-A7: Added support for CoreTile Express A15x2_A7x3
This is the big.LITTLE test chip for ARM Versatile Express Motherboard.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13775 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 11:09:36 +00:00
oliviermartin 17839a45b8 ArmPlatformPkg/ArmPlatformStackLib: Introduced helper library to initialize stacks
The new functions are:
- ArmPlatformStackSet(IN UINTN StackBase, IN UINTN MpId, IN UINTN PrimaryStackSize, IN UINTN SecondaryStackSize);
- ArmPlatformStackSetPrimary(IN UINTN StackBase, IN UINTN MpId, IN UINTN PrimaryStackSize, IN UINTN SecondaryStackSize);
- ArmPlatformStackSetSecondary(IN UINTN StackBase, IN UINTN MpId, IN UINTN PrimaryStackSize, IN UINTN SecondaryStackSize);

The stack topology can be changed by implementing a new ArmPlatformStackLib

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




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13774 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 11:01:36 +00:00
oliviermartin 7d49ced0cf EmbeddedPkg: Introduced 'SerialPortExtLib.h'
EmbeddedPkg/SerialDxe was not allowing to set/get the control of the
Serial connection because the needed functions were not exposed in
SerialPortLib.h.
This commit introduces an additional library to extend the SerialPort
features.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13773 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 10:56:12 +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 145292e4c8 ArmPlatformPkg/EblCmdLib: Added the command 'dumpfdt'
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13771 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 10:48:35 +00:00
oliviermartin 0657689b29 ArmPlatformPkg/ArmPlatformLib.h: Introduced ArmPlatformGetCorePosition()
The MP ID Register is not enough to know the position of the core in the SoC.
We could have SoC with multi cluster of CPUs that do not contain the
same number of CPUs.
This function should return the position of the CPU in the SoC.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13770 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 10:46:28 +00:00
oliviermartin 695df8ba90 ArmPlatformPkg: Introduction of gArmPlatformTokenSpaceGuid.PcdCoreCount
On ARM PLatforms, there is no standard way to know how many cores are
available on the platform.
This PCD is expected to contain this number.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13769 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 10:43:28 +00:00
oliviermartin 0a6653bc2a ArmPkg/BdsLib: Added FDT support for BdsLib
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13768 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 09:58:42 +00:00
oliviermartin 619b399888 ArmPkg/DefaultExceptionHandlerLib: Added support to the BASE-type library
This library could be used before the UEFI phases to expose the CPU state
when an unexpected exception interrupt the firmware.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13767 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 09:55:48 +00:00
oliviermartin fb47559347 ArmPlatformPkg/PrePi: Moved Exception Vector Table to ArmPkg/DebugAgentBaseLib
In case a DebugAgent library is supported for a specific debugger, we would
expect the exception be caught by DebugAgentLib.
The DebugAgentBaseLib exposes the cause of the exception to the user in the
Serial Terminal.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13766 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 09:54:13 +00:00
oliviermartin 9d6b024ded ArmPlatformPkg/Sec: Moved Exception Vector Table to ArmPkg/DebugAgentBaseLib
In case a DebugAgent library is supported for a specific debugger, we would
expect the exception be caught by DebugAgentLib.
The DebugAgentBaseLib exposes the cause of the exception to the user in the
Serial Terminal.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13765 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-28 09:52:11 +00:00
oliviermartin 751915bcd9 ArmPlatformPkg/ArmVExpress-CTA9x4.dsc: Fixed build
Removed unavailable driver.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13761 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-27 22:25:56 +00:00
oliviermartin fa4a706338 EmbeddedPkg: Added support to libfdt
Use the library libdt from the Device Tree Compiler project.
The used version is from Wednesday 22nd August 2012 (commit: 8716901d2215a3)

The Device Tree Compiler project is under dual BSD/GPL license (it means the
license is either BSD or GPL). The BSD license is the license that fits to the
Tianocore contribution requirements.
The use of libfdt into Tianocore has been authorised by David Gibson the
author of libfdt and its current maintainer Jon Loeliger (email thread on 7th
September 2011).

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13760 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-27 16:53:57 +00:00
oliviermartin 8213627ef7 ArmPlatformPkg/Bds: Replaced 'EBL' by 'UEFI Shell' as the default shell on ARM Platforms
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13759 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-27 15:33:10 +00:00
oliviermartin e1772adfef ARM Packages: Replaced the build of Fat driver and EBL by the binaries of Fat driver and UEFI Shell
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13758 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-27 15:31:54 +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 68978a52ae ArmPlatformPkg/EblCmdLib: Fixed 'performance' command
Added support for performance counter that counts up or down

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




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13747 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-26 20:24:10 +00:00
oliviermartin ba8bd8ce71 ArmPlatformPkg/VExpressMotherBoard.h: Added more motherboard definitions
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13746 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-26 20:22:37 +00:00
oliviermartin 554451b2de ArmPlatformPkg/PL011Uart: The PL011 UART fractional part does not need to be zero
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13745 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-26 20:21:20 +00:00
oliviermartin e349327f1a ArmPlatformPkg: Added 'Makefile' to build EDK2 from Makefile based IDE
This makefile can be used to build EDK2 from Eclipse CDT plug-in.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13743 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-26 20:12:55 +00:00
oliviermartin 30d1bcd131 ArmPlatformPkg/Bds: Fixed device path of the default error output device
Replaced 'ConErr' by 'ErrOut'.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13600 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-08 16:47:51 +00:00
oliviermartin cdd3f03236 ArmPlatformPkg/Drivers/PL011Uart: Fixed PL011UartWrite()
Forget to increment pointer.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13591 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-03 17:38:17 +00:00
oliviermartin f2e6099a35 ArmPlatformPkg: Fixed ArmRealViewEb & BeagleBoard builds
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13589 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02 18:21:16 +00:00
oliviermartin dad28de188 ArmPlatformPkg/PL180MciDxe: Clean code
- Removed duplicated code
- Removed unreachable code

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13588 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02 14:25:17 +00:00
oliviermartin ebef1b7421 ArmPlatformPkg/PL011Uart: PL011UartWrite() stop to transmit if the buffer is full
Before we were waiting the buffer to be empty before to continue to send data.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13587 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02 14:22:51 +00:00
oliviermartin 93b429fc21 ArmPlatformPkg/PL180MciDxe: Fixed coding style
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13586 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-02 11:20:37 +00:00
oliviermartin a08dcb2ab1 ArmPlatformPkg/ArmVExpressPkg: Fixed build issue
ConSpillter now requires DxeServicesLib.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13578 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-01 10:07:33 +00:00
oliviermartin b113ddc3d8 ArmPlatformPkg/ArmVExpressLibCTA9x4: Fixed build
Signed-off-by: Olivier Martin <olivier.martin@arm.com>




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13523 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-11 18:57:31 +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 8cfd2e2457 ArmPlatformPkg/Sec: Fixed Primary Non-Cold Boot Path
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13499 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-04 20:20:21 +00:00
oliviermartin 0dbbacdf18 ArmPlatformPkg/PrePi: Declared the ARM MP Core Info
Registered the gArmMpCoreInfoGuid Data Hob.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13497 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-04 20:17:46 +00:00
oliviermartin 92034e14da ARM Packages: Clean code (Remove unused PCDs, ...)
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13494 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-04 20:12:29 +00:00
oliviermartin a32dae4878 ArmPkg/AsmMacroIoLib: Renamed 'GetCorePositionInStack' macro into 'GetCorePositionFromMpId'
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13493 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-04 20:10:18 +00:00
oliviermartin a75568e9c9 ArmPlatformPkg/Sec: Added support for Non Cold Boot Paths
For instance, in case of CpuHotPlug boot path the platform has already been
initialized. The CPU core should not execute any of the platform initialization
in this case.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13492 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-04 20:08:54 +00:00
oliviermartin 2575b72620 ArmPkg: Fixed RVCT compiler warnings
Signed-off-by: Olivier Martin <olivier.martin@arm.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13490 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-04 20:06:23 +00:00
oliviermartin f8181c90f4 ArmPlatformPkg: Replaced 'ArmGicSecLib' by 'ArmGicLib'
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13265 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:19:00 +00:00
oliviermartin 14238a61c8 ArmPlatformPkg/Bds: Fixed Memory Corruption when updating the path of a Linux initrd
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13264 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:17:36 +00:00
oliviermartin cfe1bb1765 ArmPlatformPkg/DebugSecExtraActionLib: Added Warning comment to signal the DRAM must be inititalized at this stage
Since the System Memory initialization has been moved inside ArmPlatformSecLib
on some platforms, the use of this library could crash if the firmware engineer
forgot to initialize the DRAM.
This library 'patches' the DRAM to add an infinite loop.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13262 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:15:49 +00:00
oliviermartin e314d564db ArmPlatformPkg: Introduced 'ArmPlatformSecLib'
The function only used in Secure Firmware used to be mixed with
the Non-Secure/Normal functions in ArmPlatformLib.
When the Secure Firmware was not required for some platforms (eg:
BeagleBoard), these functions were empty functions.
This new interface has been created to clean the ArmPlatformLib
interface between the SEC and PEI phases.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13260 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:13:32 +00:00
oliviermartin 315649cda2 ArmPkg/ArmGicLib: Replaced 'ArmGicAcknowledgeSgiFrom' by 'ArmGicAcknowledgeInterrupt'
The function 'ArmGicAcknowledgeSgiFrom' was actually acknowledging Interrupts (and not only SGIs).


ArmPkg/ArmGicLib: Introduced the PCD PcdGicPrimaryCoreId

This PCD defines the Id of the primary core in the GIC.


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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13259 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:09:16 +00:00
oliviermartin 4c19ece32a ArmPkg/ArmGicLib: Changed ArmGicSendSgiTo() to allow to send a specific SGI
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13258 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:08:03 +00:00
oliviermartin 40ab42ddca EmbeddedPkg/SerialDxe: Do not block UART when no data is available on the port
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13255 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:04:42 +00:00
oliviermartin c54de82204 ArmPlatformPkg/PL35xSmc: Added function PL35xSmcSetRefresh
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13254 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:04:00 +00:00
oliviermartin 836c350061 ArmPkg/ArmLib: Added new functions to access ARM coprocessors
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13253 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:02:39 +00:00
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 f463bb00ad ArmPlatformPkg/ArmPlatformGlobalVariableLib: Fixed calculation of GlobalVariableBase
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13248 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 19:54:21 +00:00
oliviermartin 3f305c063a ArmPlatformPkg: Removed the 'Identify' functions
This function was introduced in some drivers to check if the ARM controller
was present in the memory map.
It was using a 8 bit access to get the value from the Identification registers.
These accesses could generate access error on some buses. Instead of replacing
the 8bit access by a 32bit access, these fcuntions have been removed because
they are only useful when the boot firmware is ported on a new platform.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13247 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 19:52:49 +00:00
oliviermartin d9efd68ef5 ArmPlatformPkg/ArmPlatformGlobalVariableLib: Added new function ArmPlatformGetGlobalVariableAddress()
This function returns the address of a Global Variable in the Global Variable Region.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13246 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 19:51:08 +00:00
oliviermartin f437141a9c ArmPlatformPkg: Renamed and Invoked earlier ArmPlatformNormalInitialize()
- ArmPlatformNormalInitialize() has been renamed into ArmPlatformInitialize()
- Make the function be called at the early stage of the PEI phase as some
  platforms require their interconnects or clocks to be initialize before any
  access to Timers or UARTs.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13245 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 19:49:35 +00:00
oliviermartin e9f7c58f25 ArmPkg: Replaced gArmTokenSpaceGuid.PcdGicNumInterrupts by ArmGicGetMaxNumInterrupts()
The maximum number of interrupts can be retrieve through the GIC distributor.

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13244 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 19:48:00 +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 ff4d6bb315 ArmPlatformPkg: Fixed build after latest BaseTools syncup
BaseTools now raises an error when a PCD is not declared in a DEC.
This change:
- Remove undeclared PCDs
- Add PCD declaration to DEC file

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@13195 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-13 10:17:39 +00:00
oliviermartin 84cf376245 EDK II Packages: Added License.txt files
License.txt is a per-project document showing the license terms
used by that project.

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@13194 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-12 16:40:32 +00:00
jljusten ea4ee7ac38 EDK II Packages: Add Contributions.txt and License.txt files
Contributions.txt documents the contribution process for all
tianocore projects. The conents of Contributions.txt should
match in all cases.

License.txt is a per-project document showing the license terms
used by that project.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13187 6f19259b-4bc3-4df7-8a09-765794883524
2012-04-11 23:19:46 +00:00
oliviermartin 37363dff65 ArmPlatformPkg/PrePi: Added Firmware Version String to the 'welcome' statement
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13139 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 11:08:32 +00:00
oliviermartin 99744d5219 ArmPlatformPkg/Sec: Change initial 'welcome' string from 'UEFI Firmware' to 'Secure/Boot Firmware'
The 'SEC' component is not part of the UEFI software stack.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13138 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 11:06:29 +00:00
oliviermartin e28e0ad9d7 ArmPlatformPkg/SP805WatchdogDxe: Removed late initialization capability from the watchdog
The watchdog driver is a UEFI architectural driver. The watchdog controller
is always going to be intialized.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13137 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 11:05:25 +00:00
oliviermartin 8dd9e159b9 ArmPlatformPkg: Fixed gcc build (minor change)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13136 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 11:04:25 +00:00
oliviermartin 5e7731443c ArmPlatformPkg/Sec: Allowed the Secondary Cores to set the Secure/Non Secure bits to their PPIs
The GICD_IGROUPR0 is banked for each connected processor. It means the
Non-Secure bits for the PPIs (Private Peripheral Interrupts) must be
configured for every processor.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13135 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 11:03:36 +00:00
oliviermartin eac42a514b ArmPlatformPkg/ArmSmcLib: Added helper library to make SMC call to the Secure World
This library adds C-wrapper around the SMC instruction and allows to pass
parameters to the Secure World.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13133 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 10:59:50 +00:00
oliviermartin a12da33bc1 ArmPlatformPkg/SP805Watchdog.h: Removed the DXE function declarations from the header
The DXE functions are local to the DXE driver.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13132 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 10:58:06 +00:00
oliviermartin 80dfbc1122 ArmPlatformPkg/Sec: Move ArmGicSetupNonSecure() prior to initialize platform-specific security bit
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13127 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 10:51:43 +00:00
oliviermartin 59a2b365ea ArmPlatformPkg/Sec: Fixed monitor stack setup
The Secure Monitor stack was not when a stack base was not provided by the Secure SVC world.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13126 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 10:49:58 +00:00
oliviermartin 7defe7b354 ArmPlatformPkg/PrePi: Fix comment (minor change)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13125 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 10:48:45 +00:00
oliviermartin f15f91a22f ArmPlatformPkg/ArmPlatformGlobalVariableLib: Fixed incorrect type casting
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13121 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-26 10:41:50 +00:00
oliviermartin 793ae6eeb3 ARM Packages: Added the NULL implementation of CpuExceptionHandlerLib
This NULL implementation should not affect the existing code flow and
avoid the builds to be broken by a missing dependency.
In a longer term, an implementation of CpuExceptionHandlerLib should
be provided for ARM architecture.

Signed-off-by: oliviermartin



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13103 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-15 16:03:41 +00:00
oliviermartin af0283b82b ArmPlatformPkg/ArmPlatformSysConfigLib: Removed dependency on Uefi.h since it is a Base Library
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13072 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-29 17:21:17 +00:00
oliviermartin 051e63bb55 ArmPlatformPkg/PL011Uart: Allowed to change UART settings in its initialization function
Because this driver can be used for different purposes (Terminal, Debug port, communication),
its initialization function has been extended to accept additional settings.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13071 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-29 17:19:52 +00:00
oliviermartin 911da88693 ArmPlatformPkg/ArmPlatformSysConfigLib: Add function 'ArmPlatformSysConfigGetValues'
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13066 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-28 17:35:03 +00:00
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