<div dir="ltr"><div>Hi all, especially Ethin.</div><div><br></div><div>Apologies for radio silence - last week I was off on holiday, and before that ... let's just say corporate acquisitions generate some distractions.</div><div>Anyway, I'm back, and since I'm down as the mentor for this task, feel free to spam me with any remaining/new questions.</div><div><br></div><div>/</div><div>    Leif<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Apr 6, 2021 at 4:17 PM Ethin Probst <<a href="mailto:harlydavidsen@gmail.com">harlydavidsen@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I'll attach the bug for the build tools to the BZ shortly.<br>
Laszlo, thanks for that. I don't know their email addresses though.<br>
And yes, I was going to make it device independent, as the majority<br>
(if not all) of UEFI protocols are.<br>
<br>
On 4/6/21, Laszlo Ersek <<a href="mailto:lersek@redhat.com" target="_blank">lersek@redhat.com</a>> wrote:<br>
> On 03/31/21 08:41, Nate DeSimone wrote:<br>
>> Another option is to put the protocol definition in MdeModulePkg and<br>
>> mark it with the EDKII_ prefix. For my last “code first” UEFI spec<br>
>> contribution I did this with the PPI that added up getting added.<br>
><br>
> The new audio protocol should be generic, only its implementation in<br>
> question should be virtio specific.<br>
><br>
> Please include Gerd Hoffmann (CC'd) in the protocol design, as well as<br>
> the developers of the virtio-sound device model in QEMU.<br>
><br>
> Thanks<br>
> Laszlo<br>
><br>
><br>
>><br>
>><br>
>><br>
>> Thanks,<br>
>><br>
>> Nate<br>
>><br>
>><br>
>><br>
>> *From: *<<a href="mailto:devel@edk2.groups.io" target="_blank">devel@edk2.groups.io</a>> on behalf of "Andrew Fish via <a href="http://groups.io" rel="noreferrer" target="_blank">groups.io</a>"<br>
>> <afish=<a href="mailto:apple.com@groups.io" target="_blank">apple.com@groups.io</a>><br>
>> *Reply-To: *"<a href="mailto:devel@edk2.groups.io" target="_blank">devel@edk2.groups.io</a>" <<a href="mailto:devel@edk2.groups.io" target="_blank">devel@edk2.groups.io</a>>,<br>
>> "<a href="mailto:afish@apple.com" target="_blank">afish@apple.com</a>" <<a href="mailto:afish@apple.com" target="_blank">afish@apple.com</a>><br>
>> *Date: *Tuesday, March 30, 2021 at 10:54 PM<br>
>> *To: *edk2-devel-groups-io <<a href="mailto:devel@edk2.groups.io" target="_blank">devel@edk2.groups.io</a>>,<br>
>> "<a href="mailto:harlydavidsen@gmail.com" target="_blank">harlydavidsen@gmail.com</a>" <<a href="mailto:harlydavidsen@gmail.com" target="_blank">harlydavidsen@gmail.com</a>><br>
>> *Cc: *Rafael Rodrigues Machado <<a href="mailto:rafaelrodrigues.machado@gmail.com" target="_blank">rafaelrodrigues.machado@gmail.com</a>><br>
>> *Subject: *Re: [edk2-devel] VirtIO Sound Driver (GSoC 2021)<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>>     On Mar 30, 2021, at 5:01 PM, Ethin Probst <<a href="mailto:harlydavidsen@gmail.com" target="_blank">harlydavidsen@gmail.com</a><br>
>>     <mailto:<a href="mailto:harlydavidsen@gmail.com" target="_blank">harlydavidsen@gmail.com</a>>> wrote:<br>
>><br>
>><br>
>><br>
>>     I'm wondering where exactly I should add the VirtIO sound protocol. I<br>
>>     just familiarized myself with the build system and am about to test<br>
>> it<br>
>>     by building OVMF if possible, but I'm wondering where I should<br>
>>     actually put the protocol and all that stuff. Maybe there's<br>
>>     documentation I've missed as well.<br>
>><br>
>><br>
>><br>
>> Ethin,<br>
>><br>
>><br>
>><br>
>> For the driver I’d match the patter of OVMF [1] and use<br>
>> OvmfPkg/VirtioSoundDxe/. Maybe even use one of the other drivers as a<br>
>> template.<br>
>><br>
>><br>
>><br>
>> The protocol is more of a public thing. I think eventually we would like<br>
>> to publish the protocol in the UEFI Spec (I can help with that part) and<br>
>> that would mean we put the Protocol definition in<br>
>> MdePkg/Include/Protocol, but we don’t want to do that before it is<br>
>> standardized as that causes compatibility issues. So this is a “code<br>
>> first project” (code prototype and then contribute to the UEFI Forum for<br>
>> inclusion in the specification) so we need to follow some code first<br>
>> rules that I don’t remember of the top of my head? So why not start out<br>
>> the protocol definition OvmfPkg/Include/Protocol. You can also add a<br>
>> test application looks like you can just use the root [2] of OVMF for<br>
>> that. That way the project is not blocked.<br>
>><br>
>><br>
>><br>
>> We can have a conversation on the mailing list about better places to<br>
>> put stuff, and it should be easy enough to move stuff around if<br>
>> everything else is working.<br>
>><br>
>><br>
>><br>
>> [1] find OvmfPkg  -iname '*Virtio*.inf'<br>
>><br>
>> OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf<br>
>><br>
>> OvmfPkg/VirtioScsiDxe/VirtioScsi.inf<br>
>><br>
>> OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf<br>
>><br>
>> OvmfPkg/Library/VirtioLib/VirtioLib.inf<br>
>><br>
>> OvmfPkg/VirtioGpuDxe/VirtioGpu.inf<br>
>><br>
>> OvmfPkg/VirtioBlkDxe/VirtioBlk.inf<br>
>><br>
>> OvmfPkg/Virtio10Dxe/Virtio10.inf<br>
>><br>
>> OvmfPkg/VirtioNetDxe/VirtioNet.inf<br>
>><br>
>> OvmfPkg/VirtioRngDxe/VirtioRng.inf<br>
>><br>
>><br>
>><br>
>> [2] /Volumes/Case/edk2-github/OvmfPkg>git grep APPLICATION -- *.inf |<br>
>> grep MODULE_TYPE<br>
>><br>
>> EnrollDefaultKeys/EnrollDefaultKeys.inf:13:  MODULE_TYPE<br>
>>     = UEFI_APPLICATION<br>
>><br>
>><br>
>><br>
>> Thanks,<br>
>><br>
>><br>
>><br>
>> Andrew Fish<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>>     On 3/30/21, Ethin Probst via <a href="http://groups.io" rel="noreferrer" target="_blank">groups.io</a> <<a href="http://groups.io/" rel="noreferrer" target="_blank">http://groups.io/</a>><br>
>>     <harlydavidsen=<a href="mailto:gmail.com@groups.io" target="_blank">gmail.com@groups.io</a><br>
>>     <mailto:<a href="mailto:harlydavidsen" target="_blank">harlydavidsen</a>=<a href="mailto:gmail.com@groups.io" target="_blank">gmail.com@groups.io</a>>> wrote:<br>
>><br>
>>         I agree. Plus, it gives me a chance to finally learn the EDK2<br>
>> build<br>
>>         system and how it works! I've been working on a hobby OS as a<br>
>> side<br>
>>         project and, though learning from other code examples from OSes<br>
>> is<br>
>>         fun, I have to say that learning from the firmware code like from<br>
>>         SeaBIOS has been some of the most enlightening and interesting<br>
>> times<br>
>>         thus far.<br>
>>         Thanks for the link to your code, Rafael; once I get virtIO<br>
>> support<br>
>>         in, I can work on HDA support, though I might tackle USB support<br>
>>         second and HDA third. We'll see, but VirtIO definitely is coming<br>
>>         first.<br>
>><br>
>>         As I said before, I look forward to working with all of you<br>
>>         wonderful<br>
>>         people!<br>
>><br>
>>         On 3/30/21, Rafael Rodrigues Machado<br>
>>         <<a href="mailto:rafaelrodrigues.machado@gmail.com" target="_blank">rafaelrodrigues.machado@gmail.com</a><br>
>>         <mailto:<a href="mailto:rafaelrodrigues.machado@gmail.com" target="_blank">rafaelrodrigues.machado@gmail.com</a>>><br>
>>         wrote:<br>
>><br>
>>             This would be amazing so people can continue my work related<br>
>> to<br>
>>             accessibility at BIOS. Something desired by the blind people<br>
>>             since the<br>
>>             90's<br>
>>             Just for reference, this is what I have done:<br>
>><br>
>><br>
>> <a href="https://github.com/RafaelRMachado/Msc_UefiHda_PreOs_Accessibility" rel="noreferrer" target="_blank">https://github.com/RafaelRMachado/Msc_UefiHda_PreOs_Accessibility</a><br>
>><br>
>>             Thanks<br>
>>             Rafael<br>
>><br>
>>             Em seg, 29 de mar de 2021 20:24, Ethin Probst<br>
>>             <<a href="mailto:harlydavidsen@gmail.com" target="_blank">harlydavidsen@gmail.com</a>><br>
>>             escreveu:<br>
>><br>
>><br>
>>                 Hello everyone,<br>
>><br>
>>                 This is the first time I've ever contributed to EDK2. As<br>
>>                 part of GSoC<br>
>>                 2021, I have submitted a proposal to implement a UEFI<br>
>>                 audio output<br>
>>                 protocol that will utilize the VirtIO sound driver. I've<br>
>>                 already<br>
>>                 submitted a draft proposal, and apologize if I've done<br>
>>                 things out of<br>
>>                 order. This is my first time doing GSoC 2021, and<br>
>>                 contributing to EDK2<br>
>>                 felt like a really fun thing to do!<br>
>><br>
>>                 I look forward to working with you guys on this and any<br>
>>                 future projects!<br>
>>                 :-)<br>
>><br>
>>                 --<br>
>>                 Signed,<br>
>>                 Ethin D. Probst<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>>         --<br>
>>         Signed,<br>
>>         Ethin D. Probst<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>><br>
>>     --<br>
>>     Signed,<br>
>>     Ethin D. Probst<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> <br>
><br>
><br>
<br>
<br>
-- <br>
Signed,<br>
Ethin D. Probst<br>
<br>
<br>
<br>
<br>
<br>
</blockquote></div>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr>   Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/74038">View/Reply Online (#74038)</a> |    |  <a target="_blank" href="https://groups.io/mt/81710286/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>