Actually, it is my fault. I had the same issue when I tested the initial
patchset (v1) but for some reason the fix has not been merged into the
patchset I sent to the EDK2 mailing-list.

This is the way I have validated the VirtIo changes:

1) Create two disk images

-------
mkfs.vfat -C -n IMAGE /tmp/block.dat 131072
mkdir /tmp/fs
sudo mount -o rw,loop=/dev/loop0,uid=`whoami`,gid=`whoami` /tmp/block.dat
/tmp/fs

cp $EDK2_ROOT/EdkShellBinPkg/FullShell/Arm/Shell_Full.efi /tmp/fs/
touch /tmp/fs/hello.txt

sudo umount /tmp/fs
-------

2) qEmu version
commit c1990468d5a13c8f1d9111fcca0a78a6adad062b
Author: Michael Roth <mdr...@linux.vnet.ibm.com>
Date:   Wed May 22 11:32:51 2013 -0500

3) Build OvmfPkg:
./OvmfPkg/build.sh

4) Run qEmu:
PATH=/work/qemu/x86_64-softmmu:$PATH  OvmfPkg/build.sh -a X64 qemu  -serial
file:serial.log  -debugcon stdio  -global isa-debugcon.iobase=0x402  -drive
file=/tmp/block.dat,if=virtio,id=blk  -drive
file=/tmp/scsi.dat,if=none,id=scsi  -device virtio-scsi-pci,id=fred -device
scsi-hd,drive=scsi -net nic,model=virtio -net user

5) Go to the Shell
  - Ensure the VirtIo BlockIo and SCSI file systems are readable and
writable
  - Ensure an IP can be retrieved for the VirtIo Network device


Olivier


> -----Original Message-----
> From: Laszlo Ersek [mailto:ler...@redhat.com]
> Sent: 20 September 2013 17:03
> To: Paolo Bonzini
> Cc: edk2-devel@lists.sourceforge.net; Olivier Martin
> Subject: Re: [edk2] [PATCH v2 04/10] OvmfPkg/VirtioPciDeviceDxe:
> Implement VIRTIO_DEVICE_PROTOCOL for VirtIo Devices over PCI
> 
> On 09/20/13 17:42, Paolo Bonzini wrote:
> > Il 19/09/2013 22:30, Laszlo Ersek ha scritto:
> >> In a nutshell, VirtioPciSetDeviceStatus() breaks the interface
> contract
> >> of VIRTIO_DEVICE_PROTOCOL.WriteDevice(). The former targets a common
> >> virtio field, but the latter provides access to device-specific
> fields.
> >> Consequently, the virtio device is never brought up, and the guest
> code
> >> in VirtioFlush() waits for the hypervisor's reply in vain.
> >>
> >> I don't yet know enough about the series to suggest a fix (or to fix
> it
> >> myself just so I can continue the testing and the review). I'd like
> to
> >> get good test results before reviewing in more detail.
> >
> > Maybe VirtioPciSetDeviceStatus and the other accesses to the common
> > virtio fields should use PciIo directly?
> 
> Yes. Or maybe continue using the current PciIo wrapper, but expose the
> offset base as a parameter (or extract a common helper function etc.)
> 
> Thanks,
> Laszlo





------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to