All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Gibson <dgibson@redhat.com>
To: Igor Mammedov <imammedo@redhat.com>
Cc: ghammer@redhat.com, Laszlo <lersek@redhat.com>,
	qemu-devel@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>
Subject: Re: [Qemu-devel] [PATCH V13 3/4] pc: add a Virtual Machine Generation ID device
Date: Thu, 5 Mar 2015 13:51:26 +1100	[thread overview]
Message-ID: <20150305135126.7ca2d135@voom.fritz.box> (raw)
In-Reply-To: <20150303120605.5a1c0051@nial.brq.redhat.com>

[-- Attachment #1: Type: text/plain, Size: 4105 bytes --]

On Tue, 3 Mar 2015 12:06:05 +0100
Igor Mammedov <imammedo@redhat.com> wrote:

> On Tue, 3 Mar 2015 12:03:26 +1100
> David Gibson <dgibson@redhat.com> wrote:
> 
> > On Mon, 2 Mar 2015 22:06:22 +0100
> > "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > 
> > > On Mon, Mar 02, 2015 at 06:05:43PM +0100, Igor Mammedov wrote:
> > > > On Sun, 1 Mar 2015 16:09:33 +0100
> > > > "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > > > 
> > > > > On Wed, Feb 25, 2015 at 05:08:52PM +0000, Igor Mammedov wrote:
> > > > > > Based on Microsoft's sepecifications (paper can be dowloaded from
> > > > > > http://go.microsoft.com/fwlink/?LinkId=260709), add a device
> > > > > > description to the SSDT ACPI table and its implementation.
> > > > > > 
> > > > > > The GUID is set using "vmgenid.uuid" property.
> > > > > > 
> > > > > > Example of using vmgenid device:
> > > > > >  -device vmgenid,id=FOO,uuid="324e6eaf-d1d1-4bf6-bf41-b9bb6c91fb87"
> > > > > 
> > > > > If you do this, doesn't windows then prompt for a driver?
> > > > it doesn't since PCI_CLASS_MEMORY_RAM is displayed as driver less 
> > > > "PCI standard RAM Controller" binding in device manager.
> > > > 
> > > > There was an issue with
> > > >  virtio balloon device + pseries firmware + kernel bug
> > > >  http://lists.gnu.org/archive/html/qemu-devel/2012-03/msg04704.html
> > > > but it shouldn't be an issue for x86 targets with which device is
> > > > supposed to be used.
> > > > CCing David and Laszlo in case UEFI might do some crazy stuff like
> > > > pseries firmware.
> > > 
> > > I have to say, if it's not RAM, using PCI_CLASS_MEMORY_RAM seems
> > > wrong. Can't we tag it in ACPI in some way?
> I'm not sure that it's not a RAM though, (according to MS spec
> it could be RAM, ROM or something else). This device is some RAM
> controller and though it provides some RAM as its resource
> it doesn't mean that it provides RAM that could be used freely as
> as a generic RAM reported to host via E802 table.

I think describing it as RAM is.. tremendously counter-intuitive at
very best.

> > I agree.  PCI_CLASS_MEMORY_RAM means something quite specific, and this
> > device isn't it.  AFAICT, this would break pseries guests exactly like
> > the balloon device did before we removed the bogus class code.
> Could you send me a reference to source that explains what
> PCI_CLASS_MEMORY_RAM means?
> From what I've goggled out so far it's not RAM by itself but
> some RAM controller.

I was mistaken.  Had a chat to someone with access to the PCI spec, and
in fact PCI_CLASS_MEMORY_RAM specifies hardly anything.

So, yeah, I think the fact that RAM class devices get treated as
"normal" RAM by the pseries firmware is a bug in that firmware.  I'll
look into getting that fixed.

> I've noticed that for example NVidia cards could expose
> several of such devices (my guess it's VRAM) so BAR exposed by
> such device shouldn't be treated as generic RAM blindly (like it seems
> pseries does) without vendor specific driver for example like ivshmem.
> I've also checked linux kernel, it only has unused define for this
> class id.

So, I still don't think PCI_CLASS_MEMORY_RAM is the best description.
But, I wonder, is there any point to the argument.  I wasn't clear if
this was based on a Hyper-V specification that specifies the class
code.  If so, we're pretty much stuck with it, no matter what other
irritations it causes.

> > I'm lacking context to see what the purpose of this device is, and
> > whether we could ever want something similar on ppc64.
> That is to provide guest with some UUID and possibly change it
> at runtime and notify guest via ACPI about change as specified
> by Microsoft spec.

Ok.  Can the device be used without extra ACPI stuff?  If not, it's
clearly useless on pseries.  If so, it's probably not the most natural
way of presenting such information to a pseries guest, but it might be
useful as a method that already exists.

-- 
David Gibson <dgibson@redhat.com>
Senior Software Engineer, Virtualization, Red Hat

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2015-03-05  2:51 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-25 17:08 [Qemu-devel] [PATCH V13 0/4] Virtual Machine Generation ID Igor Mammedov
2015-02-25 17:08 ` [Qemu-devel] [PATCH V13 1/4] acpi: extend ACPI interface to provide access to ACPI registers and SCI irq Igor Mammedov
2015-02-25 17:08 ` [Qemu-devel] [PATCH V13 2/4] docs: vm generation id device's description Igor Mammedov
2015-02-25 17:08 ` [Qemu-devel] [PATCH V13 3/4] pc: add a Virtual Machine Generation ID device Igor Mammedov
2015-02-25 19:59   ` Michael S. Tsirkin
2015-02-26 14:05     ` Igor Mammedov
2015-03-01 15:09   ` Michael S. Tsirkin
2015-03-02 17:05     ` Igor Mammedov
2015-03-02 17:20       ` Laszlo Ersek
2015-03-02 21:06       ` Michael S. Tsirkin
2015-03-03  1:03         ` David Gibson
2015-03-03  8:07           ` Michael S. Tsirkin
2015-03-03 11:06           ` Igor Mammedov
2015-03-05  2:51             ` David Gibson [this message]
2015-03-05  8:35               ` Michael S. Tsirkin
2015-03-02  8:50   ` Michael S. Tsirkin
2015-03-02  9:12     ` Igor Mammedov
2015-02-25 17:08 ` [Qemu-devel] [PATCH V13 4/4] tests: add a unit test for the vmgenid device Igor Mammedov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150305135126.7ca2d135@voom.fritz.box \
    --to=dgibson@redhat.com \
    --cc=ghammer@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.