qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 10/10] Compile virtio-blk only once


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 10/10] Compile virtio-blk only once
Date: Fri, 26 Mar 2010 15:33:17 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Lightning/1.0pre Thunderbird/3.0

On 03/26/2010 02:04 PM, Blue Swirl wrote:
Replace access macros with direct accesses.

Signed-off-by: Blue Swirl<address@hidden>
---
  Makefile.objs   |    3 ++-
  Makefile.target |    2 +-
  hw/virtio-blk.c |    6 +++---
  3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/Makefile.objs b/Makefile.objs
index cad6490..5612ec2 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -128,7 +128,8 @@ user-obj-y += cutils.o cache-utils.o

  hw-obj-y =
  hw-obj-y += loader.o
-hw-obj-y += virtio.o virtio-console.o virtio-pci.o virtio-net.o
virtio-serial-bus.o
+hw-obj-y += virtio.o virtio-console.o virtio-pci.o
+hw-obj-y += virtio-blk.o virtio-net.o virtio-serial-bus.o
  hw-obj-y += fw_cfg.o pci.o pci_host.o pcie_host.o
  hw-obj-y += watchdog.o
  hw-obj-$(CONFIG_ISA_MMIO) += isa_mmio.o
diff --git a/Makefile.target b/Makefile.target
index e43e138..169c11e 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -165,7 +165,7 @@ obj-y = vl.o monitor.o machine.o gdbstub.o
  obj-y += qemu-timer.o
  # virtio has to be here due to weird dependency between PCI and virtio-net.
  # need to fix this properly
-obj-y += virtio-blk.o virtio-balloon.o
+obj-y += virtio-balloon.o
  obj-y += rwhandler.o
  obj-$(CONFIG_KVM) += kvm.o kvm-all.o
  LIBS+=-lz
diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c
index 9915840..d9dd9a7 100644
--- a/hw/virtio-blk.c
+++ b/hw/virtio-blk.c
@@ -411,9 +411,9 @@ static void virtio_blk_update_config(VirtIODevice
*vdev, uint8_t *config)
      bdrv_get_geometry(s->bs,&capacity);
      bdrv_get_geometry_hint(s->bs,&cylinders,&heads,&secs);
      memset(&blkcfg, 0, sizeof(blkcfg));
-    stq_raw(&blkcfg.capacity, capacity);
-    stl_raw(&blkcfg.seg_max, 128 - 2);
-    stw_raw(&blkcfg.cylinders, cylinders);
+    blkcfg.capacity = capacity;
+    blkcfg.seg_max = 128 - 2;
+    blkcfg.cylinders = cylinders;

This looks wrong to me.

These values need to be in guest endianness.

Regards,

Anthony Liguori

      blkcfg.heads = heads;
      blkcfg.sectors = secs&  ~s->sector_mask;
      blkcfg.blk_size = s->conf->logical_block_size;





reply via email to

[Prev in Thread] Current Thread [Next in Thread]