From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from blyat.fensystems.co.uk (blyat.fensystems.co.uk [54.246.183.96]) by mx.groups.io with SMTP id smtpd.web10.2990.1618535039468605015 for ; Thu, 15 Apr 2021 18:03:59 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: ipxe.org, ip: 54.246.183.96, mailfrom: mcb30@ipxe.org) Received: from dolphin.home (unknown [IPv6:2a00:23c6:5495:5e00:72b3:d5ff:feb1:e101]) by blyat.fensystems.co.uk (Postfix) with ESMTPSA id 3F9FF441FB; Fri, 16 Apr 2021 01:03:56 +0000 (UTC) Subject: Re: [edk2-devel] VirtIO Sound Driver (GSoC 2021) To: Ethin Probst , devel@edk2.groups.io Cc: Andrew Fish , Mike Kinney , Leif Lindholm , Laszlo Ersek , "Desimone, Nathaniel L" , Rafael Rodrigues Machado , Gerd Hoffmann References: <16758FB6436B1195.32393@groups.io> <4AEC1784-99AF-47EF-B7DD-77F91EA3D7E9@apple.com> <309cc5ca-2ecd-79dd-b183-eec0572ea982@ipxe.org> <16762C957671127A.12361@groups.io> From: "Michael Brown" Message-ID: <4f029f76-0f11-f229-af04-2407ac80308b@ipxe.org> Date: Fri, 16 Apr 2021 02:03:56 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on blyat.fensystems.co.uk Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit On 16/04/2021 01:59, Ethin Probst wrote: > Also, I'm a bit confused. I've looked at several VirtIO devices now > and have seen things like this: > #define VIRTIO_PCI_DEVICE_SIGNATURE SIGNATURE_32 ('V', 'P', 'C', 'I') > // ... > UINT32 Signature; > I'm quite confused because I can't seem to find this anywhere in the > VirtIO specification. The spec says nothing about signature values > anywhere, just the magic value of 0x74726976. So where does this come > from? From a quick look at the code, it seems to be a private signature value applied to a software-only data structure used by the UEFI driver, and is used solely for sanity checking that a pointer is pointing to the right kind of object. Michael