public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Nate DeSimone" <nathaniel.l.desimone@intel.com>
To: Pedro Falcato <pedro.falcato@gmail.com>,
	edk2-devel-groups-io <devel@edk2.groups.io>,
	"theojehl76@gmail.com" <theojehl76@gmail.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Subject: Re: [edk2-devel] [GSoC 2022] Introducing myself & seeking for project ideas
Date: Thu, 7 Apr 2022 21:36:35 +0000	[thread overview]
Message-ID: <MW4PR11MB5821093980C68986B29EB340CDE69@MW4PR11MB5821.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CAKbZUD1YvBX8MwCE9QSN4PGKkL=-x-w+_eKCDvi3HX9kKgRuPg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4554 bytes --]

Hi Theo,

Great to meet you and welcome to the TianoCore project! Great to hear you are interested! Apologize for the tardiness in my response. Pedro is correct that the audio support task unfortunately did not make it past the finish line last year. My understanding is that the communication protocol for USB audio devices turned out to be much more complex than the student anticipated! It involved implementing several audio codecs as each device was allowed per spec to have a different set of supported codecs, and the transfer protocol was also highly non-trivial. I’m not sure where exactly things left off last year, Leif (cc’d) would have a better understanding there. Overall, I wouldn’t necessarily recommend that project because it seems like there was a lot of pitfalls and unpleasant surprises that were encountered along the way, but if are really interested in tackling a challenging project you are welcome to try taking it on.

The Qemu Minplatform port is something that I can speak with high levels of authority on. I’ve kinda been hoping that someone would pick that project 😊. I provided some background information on the MinPlatform Architecture in the following message on the mailing list: https://edk2.groups.io/g/devel/message/73152 Also, I would recommend that over the next couple months you read “Beyond BIOS” to learn more about the overall UEFI architecture.

The general goal of this project is to create a method of working on full featured UEFI firmware in an emulated environment. While there is some overlap between this and OVMF, over time OVMF has evolved to be used to initialize KVM and Xen virtual machines. The goals of being a developer sandbox vs. bootstrapping VM guest OSes don’t always align, which is where QemuOpenBoardPkg comes in.

For example, OVMF only implements UEFI variable services for DXE, and does not provide UEFI variable services in PEI or SMM. This is largely due to the virtualization focus that OVMF has gained over time. Given the focus on bootstrapping OSes, only implementing UEFI variables in DXE is fine. But for developers who want to test new SMM features without immediately integrating them into a real platform, having SMM variable services would immensely help. The same is true for PEI.

In parallel, MinPlatform Architecture is moving the methodologies for platform firmware development forward, by reducing the amount of platform specific code that needs to be written. But OVMF has not kept up with these new developments. So naturally, it make sense to combine these two together, which results in the QemuOpenBoardPkg project.

If any of this piques your interest I would be happy to answer any questions you have about it!


Hope this helps and welcome to the project!



With Best Regards,

Nate

From: Pedro Falcato <pedro.falcato@gmail.com>
Sent: Monday, April 4, 2022 2:13 PM
To: edk2-devel-groups-io <devel@edk2.groups.io>; theojehl76@gmail.com
Cc: Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>
Subject: Re: [edk2-devel] [GSoC 2022] Introducing myself & seeking for project ideas

Theo,

Sorry for leaving you on read!

CC'ing Nate as he knows a lot more about MinPlatform than I do!

Meanwhile, you can also take a look at the MinPlatform spec: https://edk2-docs.gitbook.io/edk-ii-minimum-platform-specification/
Since you're new to UEFI, you may also want to take a brief look (don't read it front-to-back, that's almost useless) at the UEFI spec: https://uefi.org/sites/default/files/resources/UEFI_Spec_2_8_final.pdf

Thanks,
Pedro

On Sat, Apr 2, 2022 at 1:01 PM Théo Jehl <theojehl76@gmail.com<mailto:theojehl76@gmail.com>> wrote:
Hi Pedro,
Thanks a lot for your answer!

My bad then :') After taking a look at the tasks proposal lists I'm interested in the MinPlatform port to QEMU [1], of course, I'm open to other projects ideas that are not on the list.

To talk about myself a little more, I have a bachelor's in computer science and it's my first year as a Master's student, and I took the embedded systems programming branch to learn more about operating systems, booting, and how systems work in general :) I'm only starting in the field but I have a lot of fun making the software interact with the hardware, and understanding how computers work under the hood.

And you are right, larger projects are way better to learn :)

Best regards,
Théo

[1] https://github.com/tianocore/tianocore.github.io/wiki/Tasks-MinPlatform-QemuOpenBoardPkg



--
Pedro Falcato

[-- Attachment #2: Type: text/html, Size: 9145 bytes --]

  reply	other threads:[~2022-04-07 21:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-30 19:35 [GSoC 2022] Introducing myself & seeking for project ideas Théo Jehl
2022-03-31 15:04 ` [edk2-devel] " Pedro Falcato
2022-04-02 12:01   ` Théo Jehl
2022-04-04 21:12     ` Pedro Falcato
2022-04-07 21:36       ` Nate DeSimone [this message]
2022-04-08 16:05         ` Théo Jehl
2022-04-13 23:15           ` Nate DeSimone
2022-05-23 16:50             ` Benjamin Doron
2022-05-23 17:33               ` Pedro Falcato
2022-05-23 18:14                 ` Oram, Isaac W
2022-05-24  5:54                 ` Gerd Hoffmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MW4PR11MB5821093980C68986B29EB340CDE69@MW4PR11MB5821.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox