Commit Graph

125 Commits

Author SHA1 Message Date
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 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 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 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 95a411abe4 BeagleBoardPkg/BeagleBoardPkg.dsc: Removing no more valid comment
EHCI support was working on the BeagleBoard after the coherency issue
in ArmPkg/DmaLib was fixed (svn rev12137).

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



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14135 6f19259b-4bc3-4df7-8a09-765794883524
2013-02-19 22:53:48 +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 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 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 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 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 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 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 1c8f9a70d0 BeagleBoardPkg/b.bat: Updated RVCT toolchain name
Signed-off-by: Olivier Martin <olivier.martin@arm.com>



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13263 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-02 20:16:38 +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 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 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 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 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 fa449c61c4 BeagleBaordPkg: Removed out of date comment in FDF file about USB stack
The USB stack has been fixed last year (cache coherencey issue in DmaLib).
USB stack has been tested on BeagleBoard-xm with rev 12923 (10/01/2012).



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12924 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-11 10:52:57 +00:00
oliviermartin 9308b78a60 BeagleBoard: Support bash script when 'set -u'
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12902 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-29 12:16:57 +00:00
oliviermartin f5df743f48 BeagleBoard: Allow to overwrite the default toolchain
Each OS has its own default EDK2 toolchain. This change allows to overwrite
this default option.
Example: On Linux the default toolchain is ARMLINUXGCC, this command line can overwrite it:
TARGET_TOOLS=ARMGCC ./build.sh



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12901 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-29 12:16:02 +00:00
oliviermartin 0b6b57c4d7 BeagleBoardPkg: Check if the compiler arm-linux-gnueabi-gcc is present in the path
'arm-linux-gnueabi-gcc' is the compiler attached to the ARMLINUXGCC toolchain.
This compiler is available in the PATH environment variable when the Linaro's
toolchain package is installed (Ubuntu distribution).

If if compiler is in the path then select the ARMLINUXGCC toolchain. This change
is to make easier to build UEFI on the BeagleBoard for new starters by hiding the
toolchain.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12673 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-08 18:30:26 +00:00
oliviermartin 89a9f54f80 BeagleBoard: Clean DSC and FDF files
BeagleBoard pass the Linaro's Linux kernel command line argument as default parameter



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12647 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 23:46:18 +00:00
oliviermartin 839864b216 BeagleBoardPkg: Fix build
Was still pointing to the former FDF filename.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12478 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-29 20:40:00 +00:00
oliviermartin 0bade1054d BeagleBoardPkg: Replaced the original DSC/FDF files by their new versions that use the ARM Platform Framework
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12468 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-28 18:59:32 +00:00
oliviermartin e78b4e13b1 BeagleBoardPkg: Removed 'SimpleTextInOutSerial' driver
The BeagleBoard is now using ConSplitter.
Update the Console DevicePaths to point to the Console Splitter driver.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12467 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-28 18:55:40 +00:00
oliviermartin 886f97c86b ARM Packages: Fixed Build failings/warnings/EDK2 coding convention
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12458 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-27 16:42:47 +00:00
oliviermartin 0641c5405c BeagleBoardPkg: The FDF file does not reserve any more the area for the OMAP35xxx header
It is the tool BeagleBoardPkg/Tools/generate_image which will add a CH header to a the
BeagleBoard FD file.

The build macro EDK2_SECOND_STAGE_BOOTOLADER is not required any more.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12433 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:25:39 +00:00
oliviermartin 3d15d6c424 BeagleBoardPkg: Add Display Driver support to the BeagleBoard
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12432 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:24:54 +00:00
oliviermartin efe5f1a232 BeagleBoardPkg: Set paddings following the BeagleBoard revision (A, B, xM, etc)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12431 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:23:54 +00:00
oliviermartin 8fc38a3f50 ArmPlatformPkg: Introduce ArmPlatformGlobalVariableLib
This library hides where the 'XIP' Global Variable are located in the memory.
It is expected the Sec/PrePi modules define the Global Variable area through
the GlobalVariable HOB.

The ArmPlatformGlobalVariableLib library allows access to global variables by
their offsets in this region.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12420 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:11:03 +00:00
oliviermartin c524ffbb67 ArmPlatformPkg/PrePi: Removed the dependency on 'PcdCPUCoresNonSecStackBase'
In PrePi the StackBase is automatically calculated from the top of the memory.
The information is now passed from the assembly files to the C code.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12418 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:07:55 +00:00
oliviermartin f92b93c9a3 ARM Packages: Rename PcdNormal* into Pcd* PCDs
The denomination 'Normal' was used to make reference to the 'Normal'
or 'Non Secure' or 'Non Trusted' world.
To avoid confusion, this prefix has been removed from PCDs to define
the normal world.

The PCDs explicitely related to the Secure/Trusted World continue to
have the 'Sec' prefix.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12416 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 23:06:31 +00:00
oliviermartin 11c20f4e06 Arm Packages: Fixed coding style/Line endings to follow EDK2 coding convention
Arm Packages: Fixed mispelling

Arm Packages: Reduced warnings all over the code




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12407 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-22 22:53:54 +00:00
oliviermartin 6740ea74e2 Clean up Rules of Platform FDFs to apply only one EFI image and Depex for each driver
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12285 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-06 18:41:55 +00:00
oliviermartin 8c454d9800 BeagleBoardPkg: Use gArmTokenSpaceGuid.PcdSystemMemoryBase/Size to define System Memory
These PCDs are used by ArmPlatformPkg/Bds to know where to load the Linux kernel and its parameters.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12171 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18 21:15:50 +00:00
oliviermartin 5ec65e96b2 Omap35xxPkg/Library/RealTimeClockLib: Add RTC Support
Omap35xxPkg/MmcHostDxe: Implement MmcHost protocol for Omap35xx

BeagleBoardPkg: Use Omap35xx RTC and MmcHost drivers




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12161 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-18 10:02:15 +00:00
oliviermartin 2d08d17d65 BeagleBoardPkg: Ensure there is no pending IRQ and disable timer
When the BeagleBoard UEFI is started from a 1st (or 2nd stage) boot loader
it is possible there are still some pending IRQ.
Clean the interrupts before starting the BeagleBoard UEFI.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12034 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-20 15:13:06 +00:00
oliviermartin da22bd6171 BeagleBoardPkg: Renamed ArmPlatform.h into BeagleBoard.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11999 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 20:18:02 +00:00
oliviermartin 7f21c4a227 BeagleBoardPkg: Implement ArmPlatformLib and the ARM PCDs to reuse ARM common components on the BeagleBoard.
To build the UEFI BeagleBoard firmware using this ARM framework either use ./build-next.sh
or directly call the EDK2 BaseTools with BeagleBoardPkg-next.dsc.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11998 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 20:08:28 +00:00
oliviermartin 803f94eef9 BeagleBoard: Update documentation
- Update build instructions
- Add instructions to test UEFI on qEmu either using the NOR flash or the SD card



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11997 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 18:25:47 +00:00
oliviermartin 63cea7c188 BeagleBoardPkg: Introduce macro EDK2_SECOND_STAGE_BOOTOLADER
By setting this macro, the OMAP353x header is stripped from the UEFI firmware.
Some boot loader (eg: x-loader) loads the second stage boot loader (u-boot or
uefi) to a specific address and start the firmware from this address.
This macro ensures the reset vector is located at the beginning of the image.

To build the BeagleBoard with ./build.sh to enable this feature:
./build.sh -D EDK2_SECOND_STAGE_BOOTOLADER=1

Note: in this case, you must use BEAGLEBOARD_EFI.fd (and not
BeagleBoard_EFI_flashboot.fd)



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11995 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-06 16:46:44 +00:00
oliviermartin 60884a0ae3 BeagleBoardPkg: Fix build
BeagleBoardPkg: Switch to ArmPLatformPkg/Bds

The ArmPlatformPkg/Bds is able to boot Linux. Set the default boot device
for the BeagleBoardc to the SD card.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11971 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-04 13:43:58 +00:00
oliviermartin e6b3b50834 EmbeddedPkg/Ebl: Move the flag string %a for the path from the PCD to the function call
The UEFI platform designer had to add '%a' to their EBL prompt PCD to print out the path
in the shell.
This change makes the addition of the path automatically after the platform specific value
in the EBL shell.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11798 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-11 11:28:59 +00:00
oliviermartin 4e7b7318c0 BeagleBoardPkg: Fix build
Add missing DebugPrintErrorLevelLib.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11489 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-31 12:59:00 +00:00
andrewfish b739d70ee5 Make the default toolchain for Linux CodeSourcery.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11299 6f19259b-4bc3-4df7-8a09-765794883524
2011-02-03 18:30:58 +00:00