[RFC] Request to move MinPlatformPkg out of the Intel folder


Nate DeSimone
 

Hi Everyone,

This has come up informally a couple of times already, but I do think that it would be beneficial to move MinPlatformPkg out of the Platform/Intel folder and into a vendor neutral folder. MinPlatform really isn't Intel specific, it's just "middleware" that is intended to make it easier and faster to build EDK II based firmware. We have always intended MinPlatform to be vendor neutral, and it would be great to see MinPlatform based implementations for non-Intel silicon. Anyone working with EDK II should feel welcome to work with us on MinPlatform, regardless of the SoC in use.

To that end, I propose that we move MinPlatformPkg out of edk2-platforms/Platform/Intel to edk2-platforms/Platform/MinPlatformPkg. It might also make sense to move edk2-platforms/Platform/Intel/Tools and edk2-platforms/Platform/Intel/build_bios.py to edk2-platforms/Platform as well since those are all useful for building MinPlatform based firmware, but I could also see that being something for another time. Let me know what you think!

Thanks,
Nate


Abner Chang
 

That makes sense to move out MinPlatformPkg to under the vendor neutral folder if it is not Intel specific. On RISC-V, we have Platforms/RISC-V/PlatformPkg and the vendor neutral folder of RISC-V platform (e.g. Platforms/SiFive) which could leverage the driver/lib provided by RISC-V PlatformPkg.

-----Original Message-----
From: Desimone, Nathaniel L [mailto:nathaniel.l.desimone@...]
Sent: Thursday, October 1, 2020 7:17 AM
To: devel@edk2.groups.io; rfc@edk2.groups.io
Cc: Leif Lindholm <leif@...>; Laszlo Ersek <lersek@...>;
Ard Biesheuvel <ard.biesheuvel@...>; Kirkendall, Garrett
<garrett.kirkendall@...>; Lendacky, Thomas
<thomas.lendacky@...>; thomas.abraham@...;
Frank.Orr@...; Jim Dailey <jim.dailey@...>; Chang, Abner (HPS
SW/FW Technologist) <abner.chang@...>; Wang, Sunny (HPS SW)
<sunnywang@...>; Schaefer, Daniel <daniel.schaefer@...>;
Liming Gao <gaoliming@...>; Tim Lewis
<tim.lewis@...>; Kevin@Insyde <kevin.davis@...>; Felix
Polyudov <felixp@...>; Kinney, Michael D
<michael.d.kinney@...>; Oram, Isaac W <isaac.w.oram@...>;
Ni, Ray <ray.ni@...>
Subject: [RFC] Request to move MinPlatformPkg out of the Intel folder

Hi Everyone,

This has come up informally a couple of times already, but I do think that it
would be beneficial to move MinPlatformPkg out of the Platform/Intel folder
and into a vendor neutral folder. MinPlatform really isn't Intel specific, it's
just "middleware" that is intended to make it easier and faster to build EDK II
based firmware. We have always intended MinPlatform to be vendor neutral,
and it would be great to see MinPlatform based implementations for non-
Intel silicon. Anyone working with EDK II should feel welcome to work with us
on MinPlatform, regardless of the SoC in use.

To that end, I propose that we move MinPlatformPkg out of edk2-
platforms/Platform/Intel to edk2-platforms/Platform/MinPlatformPkg. It
might also make sense to move edk2-platforms/Platform/Intel/Tools and
edk2-platforms/Platform/Intel/build_bios.py to edk2-platforms/Platform as
well since those are all useful for building MinPlatform based firmware, but I
could also see that being something for another time. Let me know what you
think!

Thanks,
Nate


Laszlo Ersek
 

On 10/01/20 01:17, Desimone, Nathaniel L wrote:
Hi Everyone,

This has come up informally a couple of times already, but I do think that it would be beneficial to move MinPlatformPkg out of the Platform/Intel folder and into a vendor neutral folder. MinPlatform really isn't Intel specific, it's just "middleware" that is intended to make it easier and faster to build EDK II based firmware. We have always intended MinPlatform to be vendor neutral, and it would be great to see MinPlatform based implementations for non-Intel silicon. Anyone working with EDK II should feel welcome to work with us on MinPlatform, regardless of the SoC in use.

To that end, I propose that we move MinPlatformPkg out of edk2-platforms/Platform/Intel to edk2-platforms/Platform/MinPlatformPkg. It might also make sense to move edk2-platforms/Platform/Intel/Tools and edk2-platforms/Platform/Intel/build_bios.py to edk2-platforms/Platform as well since those are all useful for building MinPlatform based firmware, but I could also see that being something for another time. Let me know what you think!
Since I've been CC'd -- the MinPlatformPkg move seems logical to me.
Regarding the tools, I guess it depends on how many Intel-specific
quirks they contain. I guess they could be moved too after a potential
refactoring / splitting.

Laszlo


Kirkendall, Garrett <garrett.kirkendall@...>
 

We have recently been evaluating the merits of MinPlatformPkg. We would welcome a MinPlatformPkg that is more accessible.

GARRETT KIRKENDALL
SMTS Firmware Engineer
7171 Southwest Parkway, Austin, TX 78735 USA
AMD   facebook  |  amd.com

-----Original Message-----
From: Desimone, Nathaniel L <nathaniel.l.desimone@...>
Sent: Wednesday, September 30, 2020 6:17 PM
To: devel@edk2.groups.io; rfc@edk2.groups.io
Cc: Leif Lindholm <leif@...>; Laszlo Ersek <lersek@...>;
Ard Biesheuvel <ard.biesheuvel@...>; Kirkendall, Garrett
<Garrett.Kirkendall@...>; Lendacky, Thomas
<Thomas.Lendacky@...>; thomas.abraham@...;
Frank.Orr@...; Jim Dailey <jim.dailey@...>; Abner Chang
<abner.chang@...>; Wang, Sunny (HPS SW) <sunnywang@...>;
Daniel Schaefer <daniel.schaefer@...>; Liming Gao
<gaoliming@...>; Tim Lewis <tim.lewis@...>;
Kevin@Insyde <kevin.davis@...>; Felix Polyudov
<felixp@...>; Kinney, Michael D <michael.d.kinney@...>; Oram,
Isaac W <isaac.w.oram@...>; Ni, Ray <ray.ni@...>
Subject: [RFC] Request to move MinPlatformPkg out of the Intel folder

[CAUTION: External Email]

Hi Everyone,

This has come up informally a couple of times already, but I do think that it
would be beneficial to move MinPlatformPkg out of the Platform/Intel folder
and into a vendor neutral folder. MinPlatform really isn't Intel specific, it's
just "middleware" that is intended to make it easier and faster to build EDK II
based firmware. We have always intended MinPlatform to be vendor
neutral, and it would be great to see MinPlatform based implementations for
non-Intel silicon. Anyone working with EDK II should feel welcome to work
with us on MinPlatform, regardless of the SoC in use.

To that end, I propose that we move MinPlatformPkg out of edk2-
platforms/Platform/Intel to edk2-platforms/Platform/MinPlatformPkg. It
might also make sense to move edk2-platforms/Platform/Intel/Tools and
edk2-platforms/Platform/Intel/build_bios.py to edk2-platforms/Platform as
well since those are all useful for building MinPlatform based firmware, but I
could also see that being something for another time. Let me know what you
think!

Thanks,
Nate


Leif Lindholm <leif@...>
 

Hi Nate,

On Wed, Sep 30, 2020 at 23:17:15 +0000, Desimone, Nathaniel L wrote:
This has come up informally a couple of times already, but I do
think that it would be beneficial to move MinPlatformPkg out of the
Platform/Intel folder and into a vendor neutral folder. MinPlatform
really isn't Intel specific, it's just "middleware" that is intended
to make it easier and faster to build EDK II based firmware. We have
always intended MinPlatform to be vendor neutral, and it would be
great to see MinPlatform based implementations for non-Intel
silicon. Anyone working with EDK II should feel welcome to work with
us on MinPlatform, regardless of the SoC in use.
Very positive to this on the whole.

I have only been following MinPlatformPkg peripherally - at the time
it was merged, I did not have the bandwidth to look into it and help
make it cross-architecture from the start, so I mostly refrained from
comment.

One thing I think is needed for this to move out of Platform/Intel
would be a ReadMe.rst describing the intended real-world use.
Some of this lives in Platform/Intel/Readme.md today.
Could we start with a set moving this text into a separate file under
MinPlatformPkg and rework that into something that stands on its own?

To that end, I propose that we move MinPlatformPkg out of
edk2-platforms/Platform/Intel to
edk2-platforms/Platform/MinPlatformPkg.
If I was to bikeshed, I'd probably suggest
Platform/TianoCore/MinPlatformPkg. Oops, guess I did.

It might also make sense to
move edk2-platforms/Platform/Intel/Tools and
edk2-platforms/Platform/Intel/build_bios.py to
edk2-platforms/Platform as well since those are all useful for
building MinPlatform based firmware, but I could also see that being
something for another time. Let me know what you think!
I think we should see this as a separate step, regardless.

I do think we should be able to do better on sharing some of this
platform image tooling cross-architecture (even moreso now Risc-V is
involved), but I would prefer for us to spend the effort of
identifying the intersections upfront before we start uploading tools
to places where they look generic and may confuse people.

Maybe we should raise this part as a BZ?

Best Regards,

Leif


Wim Vervoorn <wvervoorn@...>
 

Hi Nate,

I agree this sounds like a good plan. The MinPlatform should be as generic as possible and suitable for all architectures.

In fact it is similar to the UEFIPayload package wich is also standalone.

Best Regards,
Wim Vervoorn

Eltan B.V.
Ambachtstraat 23
5481 SM Schijndel
The Netherlands

T : +31-(0)73-594 46 64
E : wvervoorn@...
W : http://www.eltan.com


"This message contains confidential information. Unless you are the intended recipient of this message, any use of this message is strictly prohibited. If you have received this message in error, please immediately notify the sender by telephone +31-(0)73-5944664 or reply email, and immediately delete this message and all copies."

-----Original Message-----
From: rfc@edk2.groups.io [mailto:rfc@edk2.groups.io] On Behalf Of Nate DeSimone
Sent: Thursday, October 1, 2020 1:17 AM
To: devel@edk2.groups.io; rfc@edk2.groups.io
Cc: Leif Lindholm <leif@...>; Laszlo Ersek <lersek@...>; Ard Biesheuvel <ard.biesheuvel@...>; Kirkendall, Garrett <garrett.kirkendall@...>; Lendacky, Thomas <thomas.lendacky@...>; thomas.abraham@...; Frank.Orr@...; Jim Dailey <jim.dailey@...>; Abner Chang <abner.chang@...>; Wang, Sunny (HPS SW) <sunnywang@...>; Daniel Schaefer <daniel.schaefer@...>; Liming Gao <gaoliming@...>; Tim Lewis <tim.lewis@...>; Kevin@Insyde <kevin.davis@...>; Felix Polyudov <felixp@...>; Kinney, Michael D <michael.d.kinney@...>; Oram, Isaac W <isaac.w.oram@...>; Ni, Ray <ray.ni@...>
Subject: [edk2-rfc] [RFC] Request to move MinPlatformPkg out of the Intel folder

Hi Everyone,

This has come up informally a couple of times already, but I do think that it would be beneficial to move MinPlatformPkg out of the Platform/Intel folder and into a vendor neutral folder. MinPlatform really isn't Intel specific, it's just "middleware" that is intended to make it easier and faster to build EDK II based firmware. We have always intended MinPlatform to be vendor neutral, and it would be great to see MinPlatform based implementations for non-Intel silicon. Anyone working with EDK II should feel welcome to work with us on MinPlatform, regardless of the SoC in use.

To that end, I propose that we move MinPlatformPkg out of edk2-platforms/Platform/Intel to edk2-platforms/Platform/MinPlatformPkg. It might also make sense to move edk2-platforms/Platform/Intel/Tools and edk2-platforms/Platform/Intel/build_bios.py to edk2-platforms/Platform as well since those are all useful for building MinPlatform based firmware, but I could also see that being something for another time. Let me know what you think!

Thanks,
Nate


Nate DeSimone
 

Hey Leif,

On 10/1/20, 4:52 AM, " Leif Lindholm" <leif@...> wrote:

Very positive to this on the whole.
Happy to hear!

I have only been following MinPlatformPkg peripherally - at the time it was
merged, I did not have the bandwidth to look into it and help make it cross-
architecture from the start, so I mostly refrained from comment.

One thing I think is needed for this to move out of Platform/Intel would be a
ReadMe.rst describing the intended real-world use.
Some of this lives in Platform/Intel/Readme.md today.
Could we start with a set moving this text into a separate file under
MinPlatformPkg and rework that into something that stands on its own?
Yeah agreed, given that the feedback on this RFC has been pretty positive thus far, I'm planning on making a patch series for this. I'll make these changes part of said patch series.

If I was to bikeshed, I'd probably suggest
Platform/TianoCore/MinPlatformPkg. Oops, guess I did.
Seems a little superfluous to me... isn't edk2-platforms part of TianoCore by definition? 😊

I think we should see this as a separate step, regardless.

I do think we should be able to do better on sharing some of this platform
image tooling cross-architecture (even moreso now Risc-V is involved), but I
would prefer for us to spend the effort of identifying the intersections
upfront before we start uploading tools to places where they look generic
and may confuse people.

Maybe we should raise this part as a BZ?
Yup, sounds like good next steps to me. I've filed the BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2992

Thanks,
Nate


Leif Lindholm <leif@...>
 

On Thu, Oct 01, 2020 at 23:20:01 +0000, Desimone, Nathaniel L wrote:
One thing I think is needed for this to move out of Platform/Intel would be a
ReadMe.rst describing the intended real-world use.
Some of this lives in Platform/Intel/Readme.md today.
Could we start with a set moving this text into a separate file under
MinPlatformPkg and rework that into something that stands on its own?
Yeah agreed, given that the feedback on this RFC has been pretty
positive thus far, I'm planning on making a patch series for
this. I'll make these changes part of said patch series.
Sounds good.

If I was to bikeshed, I'd probably suggest
Platform/TianoCore/MinPlatformPkg. Oops, guess I did.
Seems a little superfluous to me... isn't edk2-platforms part of TianoCore by definition? 😊
It is. It's just the pattern for everything else in edk2-platforms
(apart from OptionRomPkg, which was just transplanted from edk2)
exists in the form of <section>/$VENDOR/. Platform/MinPlatformPkg
would be the only bare package in Platform/.

I think we should see this as a separate step, regardless.

I do think we should be able to do better on sharing some of this platform
image tooling cross-architecture (even moreso now Risc-V is involved), but I
would prefer for us to spend the effort of identifying the intersections
upfront before we start uploading tools to places where they look generic
and may confuse people.

Maybe we should raise this part as a BZ?
Yup, sounds like good next steps to me. I've filed the BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2992
Top man.

Best Regards,

Leif