<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto">Ethin I’m not sure what issue you are hitting with VFR? When you built the C build tools it should have built the VFR compiler that matches the code?<div><br></div><div>Did you run <span style="caret-color: rgb(70, 70, 70); color: rgb(70, 70, 70); font-family: "courier new", courier, monospace; font-size: 15.399999618530273px; background-color: rgb(253, 253, 253);">edksetup.bat Rebuild?</span><div><br><div dir="ltr"></div><div dir="ltr"><br><blockquote type="cite">On Mar 31, 2021, at 10:05 PM, Ethin Probst <harlydavidsen@gmail.com> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><span>Hello there,</span><br><span></span><br><span>Some good advice, and thank you! I might add it to the other virtIO*</span><br><span>drivers if I can figure out a good template for that.</span><br><span></span><br><span>One thing I'm running into right now is that my build setup is</span><br><span>currently unable to build MdeModulePkg (which is required to build</span><br><span>OVMF, according to the readme). I've reported it on the bugzilla; its</span><br><span>issue 3289. This doesn't appear to occur on Linux, however, which is</span><br><span>odd.</span><br><span></span><br><span>Are there any suggestions that you guys have for improving my</span><br><span>proposal? I didn't want to write too much or go overboard, like</span><br><span>explaining how the sound driver would work and such, since I assumed</span><br><span>-- while writing it -- that anyone who wanted to know those inner</span><br><span>details would go read the VirtIO specification. But I'd appreciate any</span><br><span>extra feedback before I submit my final version; I haven't made any</span><br><span>changes since my initial proposal as of yet.</span><br><span></span><br><span>On 3/31/21, Nate DeSimone <nathaniel.l.desimone@intel.com> wrote:</span><br><blockquote type="cite"><span>Another option is to put the protocol definition in MdeModulePkg and mark it</span><br></blockquote><blockquote type="cite"><span>with the EDKII_ prefix. For my last “code first” UEFI spec contribution I</span><br></blockquote><blockquote type="cite"><span>did this with the PPI that added up getting added.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Thanks,</span><br></blockquote><blockquote type="cite"><span>Nate</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>From: <devel@edk2.groups.io> on behalf of "Andrew Fish via groups.io"</span><br></blockquote><blockquote type="cite"><span><afish=apple.com@groups.io></span><br></blockquote><blockquote type="cite"><span>Reply-To: "devel@edk2.groups.io" <devel@edk2.groups.io>, "afish@apple.com"</span><br></blockquote><blockquote type="cite"><span><afish@apple.com></span><br></blockquote><blockquote type="cite"><span>Date: Tuesday, March 30, 2021 at 10:54 PM</span><br></blockquote><blockquote type="cite"><span>To: edk2-devel-groups-io <devel@edk2.groups.io>, "harlydavidsen@gmail.com"</span><br></blockquote><blockquote type="cite"><span><harlydavidsen@gmail.com></span><br></blockquote><blockquote type="cite"><span>Cc: Rafael Rodrigues Machado <rafaelrodrigues.machado@gmail.com></span><br></blockquote><blockquote type="cite"><span>Subject: Re: [edk2-devel] VirtIO Sound Driver (GSoC 2021)</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>On Mar 30, 2021, at 5:01 PM, Ethin Probst</span><br></blockquote><blockquote type="cite"><span><harlydavidsen@gmail.com<mailto:harlydavidsen@gmail.com>> wrote:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I'm wondering where exactly I should add the VirtIO sound protocol. I</span><br></blockquote><blockquote type="cite"><span>just familiarized myself with the build system and am about to test it</span><br></blockquote><blockquote type="cite"><span>by building OVMF if possible, but I'm wondering where I should</span><br></blockquote><blockquote type="cite"><span>actually put the protocol and all that stuff. Maybe there's</span><br></blockquote><blockquote type="cite"><span>documentation I've missed as well.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Ethin,</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>For the driver I’d match the patter of OVMF [1] and use</span><br></blockquote><blockquote type="cite"><span>OvmfPkg/VirtioSoundDxe/. Maybe even use one of the other drivers as a</span><br></blockquote><blockquote type="cite"><span>template.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>The protocol is more of a public thing. I think eventually we would like to</span><br></blockquote><blockquote type="cite"><span>publish the protocol in the UEFI Spec (I can help with that part) and that</span><br></blockquote><blockquote type="cite"><span>would mean we put the Protocol definition in MdePkg/Include/Protocol, but we</span><br></blockquote><blockquote type="cite"><span>don’t want to do that before it is standardized as that causes compatibility</span><br></blockquote><blockquote type="cite"><span>issues. So this is a “code first project” (code prototype and then</span><br></blockquote><blockquote type="cite"><span>contribute to the UEFI Forum for inclusion in the specification) so we need</span><br></blockquote><blockquote type="cite"><span>to follow some code first rules that I don’t remember of the top of my head?</span><br></blockquote><blockquote type="cite"><span>So why not start out the protocol definition OvmfPkg/Include/Protocol. You</span><br></blockquote><blockquote type="cite"><span>can also add a test application looks like you can just use the root [2] of</span><br></blockquote><blockquote type="cite"><span>OVMF for that. That way the project is not blocked.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>We can have a conversation on the mailing list about better places to put</span><br></blockquote><blockquote type="cite"><span>stuff, and it should be easy enough to move stuff around if everything else</span><br></blockquote><blockquote type="cite"><span>is working.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>[1] find OvmfPkg  -iname '*Virtio*.inf'</span><br></blockquote><blockquote type="cite"><span>OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf</span><br></blockquote><blockquote type="cite"><span>OvmfPkg/VirtioScsiDxe/VirtioScsi.inf</span><br></blockquote><blockquote type="cite"><span>OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf</span><br></blockquote><blockquote type="cite"><span>OvmfPkg/Library/VirtioLib/VirtioLib.inf</span><br></blockquote><blockquote type="cite"><span>OvmfPkg/VirtioGpuDxe/VirtioGpu.inf</span><br></blockquote><blockquote type="cite"><span>OvmfPkg/VirtioBlkDxe/VirtioBlk.inf</span><br></blockquote><blockquote type="cite"><span>OvmfPkg/Virtio10Dxe/Virtio10.inf</span><br></blockquote><blockquote type="cite"><span>OvmfPkg/VirtioNetDxe/VirtioNet.inf</span><br></blockquote><blockquote type="cite"><span>OvmfPkg/VirtioRngDxe/VirtioRng.inf</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>[2] /Volumes/Case/edk2-github/OvmfPkg>git grep APPLICATION -- *.inf | grep</span><br></blockquote><blockquote type="cite"><span>MODULE_TYPE</span><br></blockquote><blockquote type="cite"><span>EnrollDefaultKeys/EnrollDefaultKeys.inf:13:  MODULE_TYPE</span><br></blockquote><blockquote type="cite"><span>= UEFI_APPLICATION</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Thanks,</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Andrew Fish</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>On 3/30/21, Ethin Probst via groups.io<http://groups.io/></span><br></blockquote><blockquote type="cite"><span><harlydavidsen=gmail.com@groups.io<mailto:harlydavidsen=gmail.com@groups.io>></span><br></blockquote><blockquote type="cite"><span>wrote:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I agree. Plus, it gives me a chance to finally learn the EDK2 build</span><br></blockquote><blockquote type="cite"><span>system and how it works! I've been working on a hobby OS as a side</span><br></blockquote><blockquote type="cite"><span>project and, though learning from other code examples from OSes is</span><br></blockquote><blockquote type="cite"><span>fun, I have to say that learning from the firmware code like from</span><br></blockquote><blockquote type="cite"><span>SeaBIOS has been some of the most enlightening and interesting times</span><br></blockquote><blockquote type="cite"><span>thus far.</span><br></blockquote><blockquote type="cite"><span>Thanks for the link to your code, Rafael; once I get virtIO support</span><br></blockquote><blockquote type="cite"><span>in, I can work on HDA support, though I might tackle USB support</span><br></blockquote><blockquote type="cite"><span>second and HDA third. We'll see, but VirtIO definitely is coming</span><br></blockquote><blockquote type="cite"><span>first.</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>As I said before, I look forward to working with all of you wonderful</span><br></blockquote><blockquote type="cite"><span>people!</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>On 3/30/21, Rafael Rodrigues Machado</span><br></blockquote><blockquote type="cite"><span><rafaelrodrigues.machado@gmail.com<mailto:rafaelrodrigues.machado@gmail.com>></span><br></blockquote><blockquote type="cite"><span>wrote:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>This would be amazing so people can continue my work related to</span><br></blockquote><blockquote type="cite"><span>accessibility at BIOS. Something desired by the blind people since the</span><br></blockquote><blockquote type="cite"><span>90's</span><br></blockquote><blockquote type="cite"><span>Just for reference, this is what I have done:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>https://github.com/RafaelRMachado/Msc_UefiHda_PreOs_Accessibility</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Thanks</span><br></blockquote><blockquote type="cite"><span>Rafael</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Em seg, 29 de mar de 2021 20:24, Ethin Probst <harlydavidsen@gmail.com></span><br></blockquote><blockquote type="cite"><span>escreveu:</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>Hello everyone,</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>This is the first time I've ever contributed to EDK2. As part of GSoC</span><br></blockquote><blockquote type="cite"><span>2021, I have submitted a proposal to implement a UEFI audio output</span><br></blockquote><blockquote type="cite"><span>protocol that will utilize the VirtIO sound driver. I've already</span><br></blockquote><blockquote type="cite"><span>submitted a draft proposal, and apologize if I've done things out of</span><br></blockquote><blockquote type="cite"><span>order. This is my first time doing GSoC 2021, and contributing to EDK2</span><br></blockquote><blockquote type="cite"><span>felt like a really fun thing to do!</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>I look forward to working with you guys on this and any future projects!</span><br></blockquote><blockquote type="cite"><span>:-)</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>--</span><br></blockquote><blockquote type="cite"><span>Signed,</span><br></blockquote><blockquote type="cite"><span>Ethin D. Probst</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>--</span><br></blockquote><blockquote type="cite"><span>Signed,</span><br></blockquote><blockquote type="cite"><span>Ethin D. Probst</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span>--</span><br></blockquote><blockquote type="cite"><span>Signed,</span><br></blockquote><blockquote type="cite"><span>Ethin D. Probst</span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><blockquote type="cite"><span></span><br></blockquote><span></span><br><span></span><br><span>-- </span><br><span>Signed,</span><br><span>Ethin D. Probst</span><br></div></blockquote></div></div></body></html>


 <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/73690">View/Reply Online (#73690)</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>