lkml.org 
[lkml]   [2015]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [Qemu-devel] [PATCH v2] arm: change vendor ID for virtio-mmio
On Thu, Jul 30, 2015 at 09:23:20AM +0800, Shannon Zhao wrote:
>
>
> On 2015/7/30 3:16, Michael S. Tsirkin wrote:
> > ACPI spec 5.0 allows the use of PCI vendor IDs.
> >
> But virtio-mmio is not a PCI device, it's a platform device.

Yes. ACPI spec 5.0 says:

A valid PNP ID must be of the form "AAA####" where A is an uppercase
letter and # is a hex digit. A valid ACPI ID must be of the form
"NNNN####" where N is an uppercase letter or a digit ('0'-'9') and # is
a hex digit. This specification reserves the string "ACPI" for use only
with devices defined herein.

It further reserves all strings representing 4 HEX digits for
exclusive use with PCI-assigned Vendor IDs.

The second paragraph means if PCI SIG assigned you an ID, you
can use that without need to register it with ASWG.


> Why do we drop the previous way using "QEMUXXXX"? Something I missed?

So that guests that bind to this interface will work fine with non QEMU
implementations of virtio-mmio.

It's just playing nice with others.

We could have done something similar to pvpanic as well, except we
didn't and guests using the QEMU prefix have been released,
so we have to keep using that.

> > Since we have one for virtio, it seems neater to use that
> > rather than LNRO. For the device ID, use 103F which is a legacy ID that
> > isn't used in virtio PCI spec - seems to make sense since virtio-mmio is
> > a legacy device but we don't know the correct device type.
> >
> > Guests should probably match everything in the range 1000-103F
> > (just like legacy pci drivers do) which will allow us to pass in the
> > actual ID in the future if we want to.
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > ---
> > hw/arm/virt-acpi-build.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> > index f365140..dea61ba 100644
> > --- a/hw/arm/virt-acpi-build.c
> > +++ b/hw/arm/virt-acpi-build.c
> > @@ -145,7 +145,7 @@ static void acpi_dsdt_add_virtio(Aml *scope,
> >
> > for (i = 0; i < num; i++) {
> > Aml *dev = aml_device("VR%02u", i);
> > - aml_append(dev, aml_name_decl("_HID", aml_string("LNRO0005")));
> > + aml_append(dev, aml_name_decl("_HID", aml_string("1AF4103F")));
> > aml_append(dev, aml_name_decl("_UID", aml_int(i)));
> >
> > Aml *crs = aml_resource_template();
> >
>
> --
> Shannon


\
 
 \ /
  Last update: 2015-07-30 18:21    [W:0.077 / U:0.856 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site