As said Eugene, the distinction has to be made between UEFI firmware and UEFI OS Loader.

To port UEFI to a new ARM platform, I would recommend you to use the EDK2 mailing-list (edk2-devel@lists.sourceforge.net ) for any question related to this topic.

For the UEFI OS Loader, I hope to be able to push an UEFI OS Loader upstream this week. This application will only be a demonstrator before we have clarified the interface between the boot firmware and the Linux kernel (the purpose of this working group and mailing-list)

 

A safe approach to port UEFI on ARM Platforms is to implement the library ArmPlatformPkg\Include\Library\ArmPlatformLib.h for your platform.

This library linked to some common ARM Platform modules should allow you to reduce code duplication and re-use code which has been tested on various ARM Platforms (from Cortex A8 to Cortex A9 MP Core with Trustzone support).

 

An overview of the various boot stages of EDK2 (an UEFI implementation) and its components can be found here:

https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ArmPlatformPkg/Documentation/ARM-EDK2-Overview.png

 

Following the boot process of your platforms, I will advise you to have a look to either the ARM Versatile Express UEFI port (https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ArmPlatformPkg/ArmVExpressPkg/ ) or the BeagleBoard one (https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/BeagleBoardPkg/ ).

 

Here is an other short documents I wrote to help porting UEFI on new ARM Platforms:
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/ArmPlatformPkg/Documentation/ArmPlatformPkg.txt

 

I am aware the current documentation is a bit too light but I am planning to work on it.

 

Regards,

Olivier

 

 

From: Cohen, Eugene [mailto:eugene@hp.com]
Sent: 29 August 2011 14:11
To: Murali Kothandapani
Cc: Girish K S; boot-architecture@lists.linaro.org; Olivier Martin
Subject: RE: Regarding a git Repository for Vendors supporting Uefi Boot Loader

 

Murali,

 

Ok thanks for the clarification.  There are a number of ARM UEFI reference platform builds at edk2.svn.sourceforge.net so it probably make sense to host your platform there as well.  This makes it easy to take in enhancements coming to edk2 like IPv6 net boot and USB 3.0 host controller support.

 

I have had some discussions with Olivier about different approaches to booting Linux from UEFI firmware.  The current ARM code can boot into Linux directly from a customized BDS, this is the closed/embedded model where the boot firmware and OS are tightly coupled.  There is also work underway to support the standard UEFI boot mechanism using UEFI Linux OS Loader, enabling open systems where the boot firmware and OS are independent.  This will be a key milestone since it allows us to really take advantage of the modularity of UEFI.

 

Eugene

 

From: Murali Kothandapani [mailto:skp.murali@gmail.com]
Sent: Sunday, August 28, 2011 10:17 PM
To: Cohen, Eugene
Cc: Girish K S; boot-architecture@lists.linaro.org; olivier.martin@arm.com
Subject: Re: Regarding a git Repository for Vendors supporting Uefi Boot Loader

 

Eugene,

I am referring to the UEFI Firmware which will be starting at the reset vector. I am using the BeagleBoardPkg as a starting point to customize for Soc-specific requirements.

In order to sync upstream of UEFI Fw I referred the mailing list and used -- 11950 revision.

 

the plan is to setup the UEFI FW and boot to the Linux images using ATAG list.

 

Regards

Murali

On Mon, Aug 29, 2011 at 5:08 AM, Cohen, Eugene <eugene@hp.com> wrote:

Murali, are you referring to a UEFI boot loader application that boots on an existing UEFI firmware environment? Or when you say bootloader do you mean a new UEFI firmware variant starting at or near the reset vector?

 

Terminology is getting a bit confusing here since other boot systems may not make a formal distinction, but from a UEFI Spec point of view the platform firmware and OS loader are separate entities.

 

If you’re referring to a UEFI loader application I would expect this to be generic and theoretically able to boot on any ARM UEFI system.  I would expect SoC-specific stuff to be handled in the UEFI firmware environment.

 

Thanks,

 

Eugene

 

From: Murali Kothandapani [mailto:skp.murali@gmail.com]
Sent: Saturday, August 27, 2011 11:43 PM
To: Cohen, Eugene; Girish K S; boot-architecture@lists.linaro.org; olivier.martin@arm.com
Subject: Re: Regarding a git Repository for Vendors supporting Uefi Boot Loader

 

Olivier Martin,

 

I am doing the Bootloader for a ARM Cotex A8 based SoC. I started this task with BeagleBoardPkg project in tianocore . Please advice if there is anything else that I need to patch for including my updates.

 

Regards

Murali



 

2011/8/26 Cohen, Eugene <eugene@hp.com>

Girish,

 

Please coordinate this with Olivier Martin from ARM, I believe he is already working on a UEFI loader.  My guess is that we should be able to host this in the existing sourceforge SVN repository used for edk2.  I think it would make sense use of the existing build system, interfaces and libraries already in edk2.  If people wanted to we could probably do some kind thing where a Liano git repo imports the edk2 svn tree.

 

Thanks!

 

Eugene Cohen

HP IPG LaserJet

Boise, ID

 

From: boot-architecture-bounces@lists.linaro.org [mailto:boot-architecture-bounces@lists.linaro.org] On Behalf Of Girish K S
Sent: Thursday, August 25, 2011 10:32 PM
To: boot-architecture@lists.linaro.org
Subject: Regarding a git Repository for Vendors supporting Uefi Boot Loader

 

Dear Grant Likely,
                    In the boot architecture meeting held in Linaro connect Q3, we discussed regarding a separate git repository for vendors supporting the Uefi boot loader.
I am responsible for the supporting Uefi for samsung platform. Can you please let me know when the git repository will be available to upstream the UEFI.


Regards
Girish K S


_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/boot-architecture