All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Alexey Kardashevskiy <aik@ozlabs.ru>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>,
	Alex Graf <agraf@suse.de>
Subject: Re: [Qemu-devel] virtio-blk-pci: how to tell if it is CD or HDD?
Date: Thu, 17 Oct 2013 14:54:30 +0200	[thread overview]
Message-ID: <525FDE06.1000609@redhat.com> (raw)
In-Reply-To: <525FDA47.9050306@ozlabs.ru>

Il 17/10/2013 14:38, Alexey Kardashevskiy ha scritto:
> qdev_get_fw_dev_path:
> /spapr-vio-bridge/spapr-vscsi/channel@0/disk@3,2 suffix=(null)
> /spapr-vio-bridge/spapr-vscsi/channel@0/disk@3,1 suffix=(null)

You need to implement qdev_fw_get_path to change

 spapr-vio-bridge -> vdevice
 spapr-vscsi -> v-scsi@REG

> /pci@800000020000000/ethernet@1 suffix=/ethernet-phy@0

The extra suffix is not a problem since you can parse a prefix successfully.

> /pci@800000020000000/scsi@0/channel@0/disk@3,2 suffix=(null)
> /pci@800000020000000/scsi@0/channel@0/disk@3,1 suffix=(null)

I guess this is virtio-scsi.

> SLOF:
> 0 > devalias
> cdrom123 : /pci@800000020000000/scsi@0/disk@103000100000000
> cdrom12 : /pci@800000020000000/scsi@0/disk@103000200000000
> hvterm : /vdevice/vty@71000100
> net : /pci@800000020000000/ethernet@1
> scsi : /vdevice/v-scsi@71000001
> cdrom1 : /vdevice/v-scsi@71000001/disk@8301000000000000
> cdrom : /vdevice/v-scsi@71000001/disk@8302000000000000
> nvram : /vdevice/nvram@71000000 ok
> 
> 
> In ideal world I would want to get in QEMU what SLOF can understand and
> pass this to SLOF. But QEMU APIs return something which cannot be converted
> straight away.
> 
> Or I could simply put bootindex to the device tree nodes (as
> "qemu,bootindex") but in this case "wildcard" nodes support fails as there
> is just a single node "/vdevice/v-scsi@71000001/disk" in the device tree
> for all LUNs. And we definitely do not want to create nodes for all disk
> devices.
> 
> Or I can implement a "smart" converter from QEMU strings to OF pathnames.
> 
> Or I can implement third set of callbacks, something like qdev_OF_dev_path().
> 
> Or not support "bootindex" at all.
> 
> All possibilities suck but which one sucks less? :) Thanks!

In general, try to make QEMU produce SLOF APIs by modifying the devices
that instantiate the buses.

On top of this, fix the remaining QEMU->OF differences using a callback
in QEMUMachine.  This callback would be called by
qdev_get_fw_dev_path_helper and, if it returns something non-NULL, the
result would be used instead of calling bus_get_fw_dev_path.

> btw what format does qdev_get_fw_dev_path() use? This is not OF1275 so what
> is it?

It is based on open-firmware.  For SCSI however openfirmware had
"disk@TARGET,LUN" but that does not include the channel.

Paolo

  reply	other threads:[~2013-10-17 12:54 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-16  5:04 [Qemu-devel] virtio-blk-pci: how to tell if it is CD or HDD? Alexey Kardashevskiy
2013-10-16  6:36 ` Paolo Bonzini
2013-10-16  7:59   ` Alexey Kardashevskiy
2013-10-17 12:38     ` Alexey Kardashevskiy
2013-10-17 12:54       ` Paolo Bonzini [this message]
2013-10-17 13:02         ` Alexander Graf
2013-10-17 13:36           ` Alexey Kardashevskiy
2013-10-17 13:49             ` Paolo Bonzini
2013-10-17 13:09         ` Alexey Kardashevskiy
2013-10-17 13:48           ` Paolo Bonzini
2013-10-18  4:56           ` Nikunj A Dadhania

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=525FDE06.1000609@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=agraf@suse.de \
    --cc=aik@ozlabs.ru \
    --cc=nikunj@linux.vnet.ibm.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.