This is a correction to the previous version
which violated the PCI config space 256 byte
limitation.
The crux of the feature is simply passing a qemu
received virtio serial number to/through the guest
driver and making it available to guest userspace
via a preexisting interface.
To accomplish this, ATA IDENTIFY data as implemented
by the HDIO_GET_IDENTITY ioctl is returned to the
caller for the virtio_blk drive of interest. Content
of this identify structure is created by qemu and
passed wholesale to guest userspace without
interpretation by the guest driver.
The change this patch implements is passing of the
identify data through a mapping established by
PCI BAR #5 rather than the PCI config area, the
latter of which resulted in the above breakage.