From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41839) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWJHy-0007jr-MD for qemu-devel@nongnu.org; Wed, 16 Oct 2013 01:05:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VWJHr-0000dX-C6 for qemu-devel@nongnu.org; Wed, 16 Oct 2013 01:04:54 -0400 Received: from mail-pa0-f47.google.com ([209.85.220.47]:61614) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VWJHr-0000cw-5n for qemu-devel@nongnu.org; Wed, 16 Oct 2013 01:04:47 -0400 Received: by mail-pa0-f47.google.com with SMTP id kp14so496244pab.34 for ; Tue, 15 Oct 2013 22:04:40 -0700 (PDT) Message-ID: <525E1E5C.4090002@ozlabs.ru> Date: Wed, 16 Oct 2013 16:04:28 +1100 From: Alexey Kardashevskiy MIME-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] virtio-blk-pci: how to tell if it is CD or HDD? List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "qemu-devel@nongnu.org" Cc: Alex Graf , Nikunj A Dadhania , "Michael S. Tsirkin" Hi! Normally on sPAPR platform the IBMVSCSI host bus adapter is used which is SCSI. So when we want some image to appear as a DVD to the guest (particularly SLOF - our firmware), we use "-device scsi-cd". Or QEMU extracts this automatically from the "media=cdrom" property of "-drive" (correct?). And then the SCSI bus tells the guest what is what. SLOF firmware uses this to create "disk" and "cdrom" aliases to correcly apply the boot order. So far so good. Now we are trying (via libvirt) to add both HDD and DVD as "virtio-blk-pci" devices: -drive file=virtimg/rhel6-root.img,if=none,format=raw,\ id=drive-virtio-disk1,cache=none \ -device virtio-blk-pci,bus=pci,addr=0x4,\ drive=drive-virtio-disk1,id=virtio-disk1,bootindex=2 \ \ -drive file=virtimg/SLES-11-SP3-DVD-ppc64-GM-DVD1.iso,\ if=none,media=cdrom,id=drive-virtio-disk2,readonly=on,\ format=raw\ -device virtio-blk-pci,bus=pci,addr=0x5,\ drive=drive-virtio-disk2,id=virtio-disk2,bootindex=1 No SCSI bus is created in this case. Both devices appear to SLOF as HDDs so it creates just one "disk" alias and no "cdrom" alias and if we are not lucky and DVD got bigger PCI slot#, we will never be able to boot from DVD. Is there any way to distinguish HDD from DVD via virtio protocol from the guest (i.e. SLOF)? Thanks! -- Alexey