Benjamin,

 

There was some discussion of FSP and MinPlatform resources on the mailing list today.  I would check those out to augment your exploration.  Especially note the MinPlatform porting training links. 

 

I would also make sure that you have the board information you need.  Whatever datasheets and such that are required.

In addition to the Minimum Platform spec, I like to have the UEFI Spec and the UEFI Platform Initialization arch specs handy for reference.  ACPI too.

That gives you the HW and SW documents.  And you have mentors and the mailing list for a network of experts.  Those plus hardware and tools should set you up.  Minimum tools capabilities should be flash programming and serial debug.

 

Attached is a document I haven’t figured out where to post.  It outlines what should be the basic control flow.  I say should because I don’t think that we have fully implemented or tried to enforce yet.  Thus any given board port may have excursions.

 

The intention is that you can take this and use the Stage column to sort for what functions you care about for implementing the different stage functionality.

Step one, you would filter on Stage “1” and Use Case “Board Porting” and you would see all the functions you need to implement to get basic debug functionality on your board.  Then progressively work through Stage 2 through 5 respectively in order to increase functionality.  You can also look at functions by UEFI phase (SEC, PEI, DXE, SMM).  This is very Dispatch mode oriented by the way.  The Order and Absolute columns just exist to order the functions in column A in sensible ways.

 

This can also be useful for identifying “what didn’t happen that was supposed to”.  If you have a debug log from a working system, that often serves the same purpose.  But since the Minimum Platform Arch is intended to make new board porting easier, we don’t want to assume that we have logs of successful boots available. 

 

I will defer to Nate on communication recommendations as all the GSoC projects will be working those out.  And I have to admit I didn’t read the GSoC documentation thoroughly yet. 

 

Regards,
Isaac

 

 

From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Benjamin Doron
Sent: Wednesday, May 19, 2021 4:45 PM
To: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; devel@edk2.groups.io
Subject: Re: [edk2-devel] MinPlatform Board port (GSoC 2021)

 

Hi all,
My GSoC project proposal to work on a MinPlatform board port has been accepted, mentored by Nate DeSimone and Isaac Oram. Hopefully it will be an educational and enjoyable experience for me and a productive summer overall.

Nate and I have already discussed the project briefly on here, but in general, what would be a good way to communicate with mentors?

I've compiled a Kabylake RVP image, so my development environment is working here. I've also looked at the features directory and the board libraries to get an idea of the integration required. It appears that the libraries supporting FSP API and dispatch modes, respectively, offer different features (for instance, microcode patch in dispatch mode, HDA verb tables in API mode)? I had noted previous observations in the project proposal, but I will continue to familiarise myself with the OpenBoardPkg and MinPlatform control flow, so that I can identify and plan for possible issues in advance.

What else should I do in preparation/during the next 3 weeks?

Best regards,
Benjamin Doron