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.falc...@gmail.com>
Sent: Monday, April 4, 2022 2:13 PM
To: edk2-devel-groups-io <devel@edk2.groups.io>; theojeh...@gmail.com
Cc: Desimone, Nathaniel L <nathaniel.l.desim...@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 
<theojeh...@gmail.com<mailto:theojeh...@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


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88553): https://edk2.groups.io/g/devel/message/88553
Mute This Topic: https://groups.io/mt/90148141/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to