From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) by mx.groups.io with SMTP id smtpd.web09.3430.1617253550597149498 for ; Wed, 31 Mar 2021 22:05:50 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20161025 header.b=KrqL7g7c; spf=pass (domain: gmail.com, ip: 209.85.218.46, mailfrom: harlydavidsen@gmail.com) Received: by mail-ej1-f46.google.com with SMTP id ce10so946107ejb.6 for ; Wed, 31 Mar 2021 22:05:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=205oyNayxScEspJxdoBZMJDMq2h/7vQ57SxaQ1BSHWw=; b=KrqL7g7cLdwIi2KrSyz8vaWWCn4ck6BaEa204O7WMJdcKiUXUYShbiXALxirgiAXqQ OyLM8XMyjxi9QEXObtQxkWerPZPW2QsLw2oAqGTpa5CPM8t7a7OcUefO8XsMtZaRUyBA y+lxbjkBMkL0X2RJHVI+BJ2S7ICFY3dlVHoj4y/yFuN4YIU3w+VaGAlY7rLFxI4jcEf1 QLKiVE5YP/4Uw5ShKWx1vLMi0heQ48QWVdNS7gQpIgrwfESQiCEl1V0zOvuCEwIzEPdl FtACDXIeVzT1n3c2B1X/XCyQ8QTVbU1ZTZX+2Apy6kNOxtCZVHgBqPupClJx9bSZZ3Et rktw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=205oyNayxScEspJxdoBZMJDMq2h/7vQ57SxaQ1BSHWw=; b=mIWwr+5JgW+Aeq9ADqpP0gkTdmxZsMNW9h8utC61lYHYznH37PVBL0Djc8pqEmrkOv /XPxsjjs7gqyZrEw0kyAxJ87exbJCpVhNCD6A4rm4uS0WUdZOanb19T4UFFdW3SVJzBJ FeoyXaR70IVCrczjv/TlpqtmqKoKDinrNbZoTz2WkTbZssIyUh/J1Qwo2ytMul87KMpF lu9ERwW2Y6wQdr5DYgBgWlznUv0GPF3zem/UVGW69ph0Rkbd3SzK0+93zmyTwx+oMFSo XPjbgGC67qrTxLuxzx7akIrlcqXW0vunj0blKsOHKqTN9O91QiZc8R2J7nMOWso64Ns0 HqJA== X-Gm-Message-State: AOAM531VvfMGw6px8Ff3Yp3W3SIyPb1bBZRw5pLGfEc994LRTXAWBS9r Ad58HSgiZsXcZIh/TBJvmm+SiFhnFwicOg68F2Rb6NWopEM= X-Google-Smtp-Source: ABdhPJyMs9UxOlVJZ4xoMXtSwQ0c62ErM+DKQHjquj4nT+qgvbVNR0xzC19ctxSEkPXrEYfhNo37trSz9T4+ug/HnCI= X-Received: by 2002:a17:907:16a8:: with SMTP id hc40mr7132578ejc.40.1617253548956; Wed, 31 Mar 2021 22:05:48 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a50:458d:0:0:0:0:0 with HTTP; Wed, 31 Mar 2021 22:05:48 -0700 (PDT) In-Reply-To: <2379DE31-D6E1-491E-AE22-416085D73765@intel.com> References: <16713E6D64EE917D.25648@groups.io> <2379DE31-D6E1-491E-AE22-416085D73765@intel.com> From: "Ethin Probst" Date: Thu, 1 Apr 2021 00:05:48 -0500 Message-ID: Subject: Re: [edk2-devel] VirtIO Sound Driver (GSoC 2021) To: devel@edk2.groups.io, nathaniel.l.desimone@intel.com Cc: "afish@apple.com" , Rafael Rodrigues Machado Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello there, 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. 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. 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. On 3/31/21, Nate DeSimone wrote: > Another option is to put the protocol definition in MdeModulePkg and mar= k it > with the EDKII_ prefix. For my last =E2=80=9Ccode first=E2=80=9D UEFI sp= ec contribution I > did this with the PPI that added up getting added. > > Thanks, > Nate > > From: on behalf of "Andrew Fish via groups.io" > > Reply-To: "devel@edk2.groups.io" , "afish@apple.co= m" > > Date: Tuesday, March 30, 2021 at 10:54 PM > To: edk2-devel-groups-io , "harlydavidsen@gmail.co= m" > > Cc: Rafael Rodrigues Machado > Subject: Re: [edk2-devel] VirtIO Sound Driver (GSoC 2021) > > > > On Mar 30, 2021, at 5:01 PM, Ethin Probst > > wrote: > > 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. > > Ethin, > > 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. > > The protocol is more of a public thing. I think eventually we would like= to > publish the protocol in the UEFI Spec (I can help with that part) and th= at > would mean we put the Protocol definition in MdePkg/Include/Protocol, bu= t we > don=E2=80=99t want to do that before it is standardized as that causes c= ompatibility > issues. So this is a =E2=80=9Ccode first project=E2=80=9D (code prototyp= e and then > contribute to the UEFI Forum for inclusion in the specification) so we n= eed > to follow some code first rules that I don=E2=80=99t remember of the top= of my head? > So why not start out the protocol definition OvmfPkg/Include/Protocol. Y= ou > 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. > > We can have a conversation on the mailing list about better places to pu= t > stuff, and it should be easy enough to move stuff around if everything e= lse > is working. > > [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 > > > [2] /Volumes/Case/edk2-github/OvmfPkg>git grep APPLICATION -- *.inf | gr= ep > MODULE_TYPE > EnrollDefaultKeys/EnrollDefaultKeys.inf:13: MODULE_TYPE > =3D UEFI_APPLICATION > > Thanks, > > Andrew Fish > > > > > On 3/30/21, Ethin Probst via groups.io > > > wrote: > > 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. > > As I said before, I look forward to working with all of you wonderful > people! > > On 3/30/21, Rafael Rodrigues Machado > > > wrote: > > 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: > > https://github.com/RafaelRMachado/Msc_UefiHda_PreOs_Accessibility > > Thanks > Rafael > > Em seg, 29 de mar de 2021 20:24, Ethin Probst > escreveu: > > > Hello everyone, > > 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! > > I look forward to working with you guys on this and any future projects! > :-) > > -- > Signed, > Ethin D. Probst > > > > > > > > > -- > Signed, > Ethin D. Probst > > > > > > > > -- > Signed, > Ethin D. Probst > > > > > > > >=20 > > > --=20 Signed, Ethin D. Probst