lspci says: "SCSI storage controller: Qumranet, Inc. Virtio block device". Is it really?
lspci implies that the virtio block device is a "SCSI storage controller", i.e.:
00:05.0 SCSI storage controller: Qumranet, Inc. Virtio block device
However, virtio block devide does not have much to do with SCSI (in sense: sdparm does not think it is a SCSI device; virtio_blk does not depend on any SCSI moduled like sd_mod).
Is "SCSI storage controller" a proper description for this device?
Signature · 2 lines
Tomasz Chmielewski http://wpkg.org
Quoted 11 lines · Tomasz Chmielewski
lspci implies that the virtio block device is a "SCSI storage controller", i.e.:
00:05.0 SCSI storage controller: Qumranet, Inc. Virtio block device
However, virtio block devide does not have much to do with SCSI (in sense:
sdparm does not think it is a SCSI device;virtio_blkdoes not depend on any SCSI moduled likesd_mod).Is "SCSI storage controller" a proper description for this device?
It does not talk SCSI protocol if that's what you're asking. The description you see comes from the PCI class (storage controller) and subclass (SCSI controller); the meaning of the class/subclass is fixed by the PCI standard.
Luca
Quoted 11 lines · Luca Tettamanti
Quoted 10 lines · Tomasz Chmielewski
lspci implies that the virtio block device is a "SCSI storage controller", i.e.:
00:05.0 SCSI storage controller: Qumranet, Inc. Virtio block device
However, virtio block devide does not have much to do with SCSI (in sense:
sdparm does not think it is a SCSI device;virtio_blkdoes not depend on any SCSI moduled likesd_mod).
Quoted 6 lines
Quoted 1 line
Is "SCSI storage controller" a proper description for this device?
It does not talk SCSI protocol if that's what you're asking. The description you see comes from the PCI class (storage controller) and subclass (SCSI controller); the meaning of the class/subclass is fixed by the PCI standard.
So why was "SCSI storage controller" any better than "IDE interface" or "SATA controller" for virtio block device, if it does not talk SCSI protocol (other than "SCSI storage controller" being the first on the list of subclasses)?
Doesn't "80 Mass storage controller" ("0x80 0x00 Other mass storage controller") fit better for virtio block device?
Generally, I see that 0x80 is reserved for "other/unspecified" types of devices from a given PCI class.
Let me know if I'm asking a stupid question ;)
C 01 Mass storage controller
00 SCSI storage controller
01 IDE interface
02 Floppy disk controller
03 IPI bus controller
04 RAID bus controller
05 ATA controller 20 ADMA single stepping
30 ADMA continuous operation
06 SATA controller
00 Vendor specific
01 AHCI 1.0
07 Serial Attached SCSI controller
80 Mass storage controller
Signature · 2 lines
Tomasz Chmielewski http://wpkg.org
Quoted 25 lines · Tomasz Chmielewski
Quoted 17 lines · Luca Tettamanti
Quoted 14 lines · Tomasz Chmielewski
lspci implies that the virtio block device is a "SCSI storage controller",
i.e.:00:05.0 SCSI storage controller: Qumranet, Inc. Virtio block device
However, virtio block devide does not have much to do with SCSI (in sense:
sdparm does not think it is a SCSI device;virtio_blkdoes not depend on any
SCSI moduled likesd_mod).Quoted 6 lines
Quoted 1 line
Is "SCSI storage controller" a proper description for this device?
It does not talk SCSI protocol if that's what you're asking. The description you see comes from the PCI class (storage controller) and subclass (SCSI controller); the meaning of the class/subclass is fixed by the PCI standard.
Quoted 4 lines
So why was "SCSI storage controller" any better than "IDE interface" or "SATA controller" for virtio block device, if it does not talk SCSI protocol (other than "SCSI storage controller" being the first on the list of subclasses)?
Because both ATA and SATA classes have a generic driver that would try to bind to that controller (and the whole point of virtio block device is to avoid emulating a ATA/SATA controller).
Quoted 2 lines
Doesn't "80 Mass storage controller" ("
0x800x00 Other mass storage controller") fit better for virtio block device?
Maybe. I guess that are compatibility problem with "other" operating systems.
Luca
Quoted 5 lines · Luca Tettamanti
Quoted 4 lines
So why was "SCSI storage controller" any better than "IDE interface" or "SATA controller" for virtio block device, if it does not talk SCSI protocol (other than "SCSI storage controller" being the first on the list of subclasses)?
Quoted 8 lines
Because both ATA and SATA classes have a generic driver that would try to bind to that controller (and the whole point of virtio block device is to avoid emulating a ATA/SATA controller).
Quoted 2 lines
Doesn't "80 Mass storage controller" ("
0x800x00Other mass storage
controller") fit better for virtio block device?Maybe. I guess that are compatibility problem with "other" operating systems.
Thanks for clarifications.
It makes sense in that case - I don't have any more questions ;)
Signature · 2 lines
Tomasz Chmielewski http://wpkg.org
Quoted 11 lines · Tomasz Chmielewski
Quoted 9 lines · Luca Tettamanti
Quoted 4 lines
So why was "SCSI storage controller" any better than "IDE interface" or "SATA controller" for virtio block device, if it does not talk SCSI protocol (other than "SCSI storage controller" being the first on the list of subclasses)?
Because both ATA and SATA classes have a generic driver that would try to bind to that controller (and the whole point of virtio block device is to avoid emulating a ATA/SATA controller).
Quoted 10 lines
Quoted 4 lines
Quoted 2 lines
Doesn't "80 Mass storage controller" ("
0x800x00Other mass storage
controller") fit better for virtio block device?Maybe. I guess that are compatibility problem with "other" operating systems.
Thanks for clarifications.
It makes sense in that case - I don't have any more questions ;)
we need it for windows viostor driver to be WHQL'ed
Quoted 6 lines
C 01 Mass storage controller 00 SCSI storage controller
01 IDE interface
02 Floppy disk controller
03 IPI bus controller
04 RAID bus controller
Quoted 8 lines
05 ATA controller
20 ADMA single stepping
30 ADMA continuous operation 06 SATA controller
00 Vendor specific
01 AHCI 1.0
07 Serial Attached SCSI controller 80 Mass storage controller
Virtio used to advertise itself as class 0x0180 aka "mass storage controller". You can even switch the driver into that mode for backward compatibility reasons. Problem with that is that you can't get windows driver certifications then ...
cheers,
Gerd