mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-06 17:23:56 -06:00
Add serial number support for virtio_blk
[brought forward to current qemu-kvm.git] This patch implements the missing qemu logic to interpret a '-drive .. serial=XYZ ..' flag for a virtio_blk device. The serial number string is contained in a skeletal IDENTIFY DEVICE data structure and this structure is made available to the guest virtio_blk driver via pci i/o region 0. Signed-off-by: john cooper <john.cooper@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
024589f182
commit
bf011293fa
3 changed files with 65 additions and 1 deletions
|
@ -30,6 +30,11 @@
|
|||
#define VIRTIO_BLK_F_RO 5 /* Disk is read-only */
|
||||
#define VIRTIO_BLK_F_BLK_SIZE 6 /* Block size of disk is available*/
|
||||
#define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru */
|
||||
#define VIRTIO_BLK_F_IDENTIFY 8 /* ATA IDENTIFY supported */
|
||||
|
||||
#define VIRTIO_BLK_ID_LEN 256 /* length of identify u16 array */
|
||||
#define VIRTIO_BLK_ID_SN 10 /* start of char * serial# */
|
||||
#define VIRTIO_BLK_ID_SN_BYTES 20 /* length in bytes of serial# */
|
||||
|
||||
struct virtio_blk_config
|
||||
{
|
||||
|
@ -39,6 +44,8 @@ struct virtio_blk_config
|
|||
uint16_t cylinders;
|
||||
uint8_t heads;
|
||||
uint8_t sectors;
|
||||
uint32_t _blk_size; /* structure pad, currently unused */
|
||||
uint16_t identify[VIRTIO_BLK_ID_LEN];
|
||||
} __attribute__((packed));
|
||||
|
||||
/* These two define direction. */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue