From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from rn-mailsvcp-ppex-lapp14.apple.com (rn-mailsvcp-ppex-lapp14.apple.com [17.179.253.33]) by mx.groups.io with SMTP id smtpd.web08.788.1617597735561335170 for ; Sun, 04 Apr 2021 21:42:15 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@apple.com header.s=20180706 header.b=lcbZk6A1; spf=pass (domain: apple.com, ip: 17.179.253.33, mailfrom: afish@apple.com) Received: from pps.filterd (rn-mailsvcp-ppex-lapp14.rno.apple.com [127.0.0.1]) by rn-mailsvcp-ppex-lapp14.rno.apple.com (8.16.1.2/8.16.1.2) with SMTP id 1354g8Qu013912; Sun, 4 Apr 2021 21:42:15 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=content-type : content-transfer-encoding : from : mime-version : subject : date : message-id : references : cc : in-reply-to : to; s=20180706; bh=H6L0vNbHvW7wmYFaoInHGKYa/ee5MxSBtPKkqfWQCjE=; b=lcbZk6A1J4Ge5Qq0DBVva6JxVqeQDogRjyKqUEs3AQ2wGO3PfobU4uz2CUF7QtjKKr27 e+6ox70C3tQXEtiHcFaMtHZvwXpBzJcFp5TrdqOvLIwO44KqGySqdeq7ypGTKJMPcEJA khO5YEye1pII6CSO7w+5mAdwAhCP23kRaOOKhT3SCxPlzGR55gglzp5ylN9SxtDQpa3h 2/6AuOjuDuB1jKfuJdNr9f9jJVPxAayxc2awVEn6XI67d77PCpHhopLSn8nimkeS4gkq mkNtw9e0nX6TsatbGMZrX0YAOx+sbJnJU56r864KmtEkx2UAeinVqa5mftwfWHhd2wNZ qQ== Received: from rn-mailsvcp-mta-lapp04.rno.apple.com (rn-mailsvcp-mta-lapp04.rno.apple.com [10.225.203.152]) by rn-mailsvcp-ppex-lapp14.rno.apple.com with ESMTP id 37q2nckfdg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Sun, 04 Apr 2021 21:42:15 -0700 Received: from rn-mailsvcp-mmp-lapp02.rno.apple.com (rn-mailsvcp-mmp-lapp02.rno.apple.com [17.179.253.15]) by rn-mailsvcp-mta-lapp04.rno.apple.com (Oracle Communications Messaging Server 8.1.0.7.20201203 64bit (built Dec 3 2020)) with ESMTPS id <0QR200N3UQEFTHB0@rn-mailsvcp-mta-lapp04.rno.apple.com>; Sun, 04 Apr 2021 21:42:15 -0700 (PDT) Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp02.rno.apple.com by rn-mailsvcp-mmp-lapp02.rno.apple.com (Oracle Communications Messaging Server 8.1.0.7.20201203 64bit (built Dec 3 2020)) id <0QR200X00Q82P800@rn-mailsvcp-mmp-lapp02.rno.apple.com>; Sun, 04 Apr 2021 21:42:15 -0700 (PDT) X-Va-A: X-Va-T-CD: b2a6e213b1e93bac3561a11ee6934d40 X-Va-E-CD: 4730c80ee67030d4f2c83e40b4ab0357 X-Va-R-CD: cb89099c14db325e6e9dc63a22e96e3a X-Va-CD: 0 X-Va-ID: 03a75a0f-e5eb-4056-b795-a247029900bd X-V-A: X-V-T-CD: b2a6e213b1e93bac3561a11ee6934d40 X-V-E-CD: 4730c80ee67030d4f2c83e40b4ab0357 X-V-R-CD: cb89099c14db325e6e9dc63a22e96e3a X-V-CD: 0 X-V-ID: c8d90ff8-f1ee-4ffa-9a66-d59203b0706b X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369,18.0.761 definitions=2021-04-05_02:2021-04-01,2021-04-05 signatures=0 Received: from [17.11.182.107] (unknown [17.11.182.107]) by rn-mailsvcp-mmp-lapp02.rno.apple.com (Oracle Communications Messaging Server 8.1.0.7.20201203 64bit (built Dec 3 2020)) with ESMTPSA id <0QR200301QECR000@rn-mailsvcp-mmp-lapp02.rno.apple.com>; Sun, 04 Apr 2021 21:42:13 -0700 (PDT) From: "Andrew Fish" MIME-version: 1.0 (1.0) Subject: Re: [edk2-devel] VirtIO Sound Driver (GSoC 2021) Date: Sun, 04 Apr 2021 21:42:12 -0700 Message-id: References: Cc: devel@edk2.groups.io, nathaniel.l.desimone@intel.com, Rafael Rodrigues Machado In-reply-to: To: Ethin Probst X-Mailer: iPhone Mail (18D70) X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.369,18.0.761 definitions=2021-04-05_02:2021-04-01,2021-04-05 signatures=0 Content-type: multipart/alternative; boundary=Apple-Mail-5AA3CB89-DC3B-47A1-BA6C-C2D0F646556A Content-transfer-encoding: 7bit --Apple-Mail-5AA3CB89-DC3B-47A1-BA6C-C2D0F646556A Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ethin I=E2=80=99m not sure what issue you are hitting with VFR? When you bu= ilt the C build tools it should have built the VFR compiler that matches th= e code? Did you run edksetup.bat Rebuild? > On Mar 31, 2021, at 10:05 PM, Ethin Probst wro= te: >=20 > =EF=BB=BFHello there, >=20 > Some good advice, and thank you! I might add it to the other virtIO* > drivers if I can figure out a good template for that. >=20 > One thing I'm running into right now is that my build setup is > currently unable to build MdeModulePkg (which is required to build > OVMF, according to the readme). I've reported it on the bugzilla; its > issue 3289. This doesn't appear to occur on Linux, however, which is > odd. >=20 > Are there any suggestions that you guys have for improving my > proposal? I didn't want to write too much or go overboard, like > explaining how the sound driver would work and such, since I assumed > -- while writing it -- that anyone who wanted to know those inner > details would go read the VirtIO specification. But I'd appreciate any > extra feedback before I submit my final version; I haven't made any > changes since my initial proposal as of yet. >=20 >> On 3/31/21, Nate DeSimone wrote: >> Another option is to put the protocol definition in MdeModulePkg and ma= rk it >> with the EDKII_ prefix. For my last =E2=80=9Ccode first=E2=80=9D UEFI s= pec contribution I >> did this with the PPI that added up getting added. >>=20 >> Thanks, >> Nate >>=20 >> From: on behalf of "Andrew Fish via groups.io" >> >> Reply-To: "devel@edk2.groups.io" , "afish@apple.c= om" >> >> Date: Tuesday, March 30, 2021 at 10:54 PM >> To: edk2-devel-groups-io , "harlydavidsen@gmail.c= om" >> >> Cc: Rafael Rodrigues Machado >> Subject: Re: [edk2-devel] VirtIO Sound Driver (GSoC 2021) >>=20 >>=20 >>=20 >> On Mar 30, 2021, at 5:01 PM, Ethin Probst >> > wrote: >>=20 >> I'm wondering where exactly I should add the VirtIO sound protocol. I >> just familiarized myself with the build system and am about to test it >> by building OVMF if possible, but I'm wondering where I should >> actually put the protocol and all that stuff. Maybe there's >> documentation I've missed as well. >>=20 >> Ethin, >>=20 >> For the driver I=E2=80=99d match the patter of OVMF [1] and use >> OvmfPkg/VirtioSoundDxe/. Maybe even use one of the other drivers as a >> template. >>=20 >> The protocol is more of a public thing. I think eventually we would lik= e to >> publish the protocol in the UEFI Spec (I can help with that part) and t= hat >> would mean we put the Protocol definition in MdePkg/Include/Protocol, b= ut we >> don=E2=80=99t want to do that before it is standardized as that causes = compatibility >> issues. So this is a =E2=80=9Ccode first project=E2=80=9D (code prototy= pe and then >> contribute to the UEFI Forum for inclusion in the specification) so we = need >> to follow some code first rules that I don=E2=80=99t remember of the to= p of my head? >> So why not start out the protocol definition OvmfPkg/Include/Protocol. = You >> can also add a test application looks like you can just use the root [2= ] of >> OVMF for that. That way the project is not blocked. >>=20 >> We can have a conversation on the mailing list about better places to p= ut >> stuff, and it should be easy enough to move stuff around if everything = else >> is working. >>=20 >> [1] find OvmfPkg -iname '*Virtio*.inf' >> OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf >> OvmfPkg/VirtioScsiDxe/VirtioScsi.inf >> OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf >> OvmfPkg/Library/VirtioLib/VirtioLib.inf >> OvmfPkg/VirtioGpuDxe/VirtioGpu.inf >> OvmfPkg/VirtioBlkDxe/VirtioBlk.inf >> OvmfPkg/Virtio10Dxe/Virtio10.inf >> OvmfPkg/VirtioNetDxe/VirtioNet.inf >> OvmfPkg/VirtioRngDxe/VirtioRng.inf >>=20 >>=20 >> [2] /Volumes/Case/edk2-github/OvmfPkg>git grep APPLICATION -- *.inf | g= rep >> MODULE_TYPE >> EnrollDefaultKeys/EnrollDefaultKeys.inf:13: MODULE_TYPE >> =3D UEFI_APPLICATION >>=20 >> Thanks, >>=20 >> Andrew Fish >>=20 >>=20 >>=20 >>=20 >> On 3/30/21, Ethin Probst via groups.io >> > >> wrote: >>=20 >> I agree. Plus, it gives me a chance to finally learn the EDK2 build >> system and how it works! I've been working on a hobby OS as a side >> project and, though learning from other code examples from OSes is >> fun, I have to say that learning from the firmware code like from >> SeaBIOS has been some of the most enlightening and interesting times >> thus far. >> Thanks for the link to your code, Rafael; once I get virtIO support >> in, I can work on HDA support, though I might tackle USB support >> second and HDA third. We'll see, but VirtIO definitely is coming >> first. >>=20 >> As I said before, I look forward to working with all of you wonderful >> people! >>=20 >> On 3/30/21, Rafael Rodrigues Machado >> > >> wrote: >>=20 >> This would be amazing so people can continue my work related to >> accessibility at BIOS. Something desired by the blind people since the >> 90's >> Just for reference, this is what I have done: >>=20 >> https://github.com/RafaelRMachado/Msc_UefiHda_PreOs_Accessibility >>=20 >> Thanks >> Rafael >>=20 >> Em seg, 29 de mar de 2021 20:24, Ethin Probst >> escreveu: >>=20 >>=20 >> Hello everyone, >>=20 >> This is the first time I've ever contributed to EDK2. As part of GSoC >> 2021, I have submitted a proposal to implement a UEFI audio output >> protocol that will utilize the VirtIO sound driver. I've already >> submitted a draft proposal, and apologize if I've done things out of >> order. This is my first time doing GSoC 2021, and contributing to EDK2 >> felt like a really fun thing to do! >>=20 >> I look forward to working with you guys on this and any future projects= ! >> :-) >>=20 >> -- >> Signed, >> Ethin D. Probst >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >> -- >> Signed, >> Ethin D. Probst >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >> -- >> Signed, >> Ethin D. Probst >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >>=20 >=20 >=20 > --=20 > Signed, > Ethin D. Probst --Apple-Mail-5AA3CB89-DC3B-47A1-BA6C-C2D0F646556A Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ethin I=E2=80=99m not sure what issue = you are hitting with VFR? When you built the C build tools it should have b= uilt the VFR compiler that matches the code?

Did you run=  edksetup.bat Rebuild= ?


On Mar 31, 2021, at 10:05 PM, Ethin Probst <harlydavidsen@gm= ail.com> wrote:

=EF=BB=BFHello there,

S= ome good advice, and thank you! I might add it to the other virtIO*<= br>drivers if I can figure out a good template for that.

One thing I'm running into right now is that my build = setup is
currently unable to build MdeModulePkg (which is r= equired to build
OVMF, according to the readme). I've repor= ted it on the bugzilla; its
issue 3289. This doesn't appear= to occur on Linux, however, which is
odd.
=
Are there any suggestions that you guys have for improving= my
proposal? I didn't want to write too much or go overboa= rd, like
explaining how the sound driver would work and suc= h, since I assumed
-- while writing it -- that anyone who w= anted to know those inner
details would go read the VirtIO = specification. But I'd appreciate any
extra feedback before= I submit my final version; I haven't made any
changes sinc= e my initial proposal as of yet.

On 3/31/2= 1, Nate DeSimone <nathaniel.l.desimone@intel.com> wrote:
Another option is to put the protocol definit= ion in MdeModulePkg and mark it
with the EDKII_ prefix. For my last =E2=80=9Ccode first=E2=80= =9D UEFI spec contribution I
did this with the PPI that added up getting added.

Thanks,
Nate

From: <devel@edk2.gro= ups.io> on behalf of "Andrew Fish via groups.io"
=
<afish=3Dapple.com@groups.io><= br>
Reply-To: "devel@edk2.group= s.io" <devel@edk2.groups.io>, "afish@apple.com"
<afish@apple.com>
Date: Tuesday, March 30, 2021 at 10:5= 4 PM
To: edk2-devel-= groups-io <devel@edk2.groups.io>, "harlydavidsen@gmail.com"
<harlydavidsen@gmail.com&g= t;
Cc: Rafael Rodrig= ues Machado <rafaelrodrigues.machado@gmail.com>
Subject: Re: [edk2-devel] VirtIO Sound Dr= iver (GSoC 2021)



On Mar 30, 2021, at 5:01 PM, Ethin Probst
<harlydavidsen@gmail.com<mailt= o:harlydavidsen@gmail.com>> wrote:

I'm wondering where exactly I should add the VirtIO sound protocol. I
just familiarized mysel= f with the build system and am about to test it
by building OVMF if possible, but I'm wondering= where I should
actu= ally put the protocol and all that stuff. Maybe there's
documentation I've missed as well.

=
Ethin,

= For the driver I=E2=80=99d match the patter of OVMF [1] and use
<= /blockquote>
OvmfPkg/VirtioSoundDxe/. Maybe = even use one of the other drivers as a
template.

The protoc= ol is more of a public thing. I think eventually we would like to
publish the protocol in the U= EFI Spec (I can help with that part) and that
would mean we put the Protocol definition in MdeP= kg/Include/Protocol, but we
don=E2=80=99t want to do that before it is standardized as that cau= ses compatibility
is= sues. So this is a =E2=80=9Ccode first project=E2=80=9D (code prototype and= then
contribute to = the UEFI Forum for inclusion in the specification) so we need
to follow some code first rules t= hat I don=E2=80=99t remember of the top of my head?
=
So why not start out the protocol definitio= n OvmfPkg/Include/Protocol. You
can also add a test application looks like you can just use the= root [2] of
OVMF fo= r that. That way the project is not blocked.

= We can have a conversation on the mailing list about better places to= put
stuff, and it s= hould be easy enough to move stuff around if everything else
is working.

[1] find OvmfPkg  -iname '*Virtio*.inf'
OvmfPkg/VirtioPciDeviceDxe/Virtio= PciDeviceDxe.inf
Ovm= fPkg/VirtioScsiDxe/VirtioScsi.inf
OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.in= f
OvmfPkg/Library/Vi= rtioLib/VirtioLib.inf
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
=
OvmfPkg/Virtio10Dxe/Virtio10.inf
=
OvmfPkg/VirtioNetDxe/VirtioNet= .inf
OvmfPkg/VirtioR= ngDxe/VirtioRng.inf
=

[2] /Volumes/Case/edk2-github/OvmfPkg&= gt;git grep APPLICATION -- *.inf | grep
MODULE_TYPE
EnrollDefaultKeys/EnrollDefaultKeys.inf:13:  MODULE_TYPE
=3D UEFI_APPLICATION<= /span>

Thanks,

<= span>Andrew Fish




On= 3/30/21, Ethin Probst via groups.io<http://groups.io/>
<harlydavidsen=3Dgmail.com@gro= ups.io<mailto:harlydavidsen=3Dgmail.com@groups.io>>
wrote:

I agree. Plus, it gives me a chance to finally learn the EDK2 buil= d
system and how it = works! I've been working on a hobby OS as a side
project and, though learning from other code e= xamples from OSes is
fun, I have to say that learning from the firmware code like from
SeaBIOS has been some of the= most enlightening and interesting times
thus far.
Thanks for the link to your code, Rafael; once I get virtIO supp= ort
in, I can work o= n HDA support, though I might tackle USB support
second and HDA third. We'll see, but VirtIO de= finitely is coming
f= irst.

As I said before, I look forward = to working with all of you wonderful
people!
<= span>
On 3/30/21, Ra= fael Rodrigues Machado
<rafaelrodrigues.machado@gmail.com<mailto:rafaelrodrigues.machado@= gmail.com>>
wr= ote:

This would be amazing so people ca= n continue my work related to
accessibility at BIOS. Something desired by the blind people sinc= e the
90's
Just for reference, this is w= hat I have done:

https://github.com/Raf= aelRMachado/Msc_UefiHda_PreOs_Accessibility

<= span>Thanks
Rafael

Em seg, 29 de mar de 2021 20:24, Ethin P= robst <harlydavidsen@gmail.com>
escreveu:


=
Hello everyone,

This is the first time I've ever contributed to EDK2.= As part of GSoC
202= 1, I have submitted a proposal to implement a UEFI audio output
<= /blockquote>
protocol that will utilize the = VirtIO sound driver. I've already
submitted a draft proposal, and apologize if I've done thi= ngs out of
order. Th= is is my first time doing GSoC 2021, and contributing to EDK2
felt like a really fun thing to d= o!

I look forward to working with you g= uys on this and any future projects!
:-)

--
Signed,
Ethin D. Probst

<= span>






--
<= span>Signed,
Ethin D= . Probst

=




<= /blockquote>


= --
Signed,
Ethin D. Probst<= br>











-- =
Signed,
Ethin D. Probst
--Apple-Mail-5AA3CB89-DC3B-47A1-BA6C-C2D0F646556A--