FYI, the tools/kvm build still fails on 32-bit:

 cc1: warnings being treated as errors
 qcow.c: In function ‘qcow1_write_sector’:
 qcow.c:307: error: comparison between signed and unsigned integer expressions
 make: *** [qcow.o] Error 1
 make: *** Waiting for unfinished jobs....

using:

 gcc version 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC)

The patch below addresses them but i haven't tested it beyond checking that it 
builds.

The double cast of userspace_addr is doubly sad - it highlights our 32-bitness 
problems which are visible in the guest_pfn_to_host() function as well.

Thanks,

        Ingo

---

Signed-off-by: Ingo Molnar <[email protected]>

diff --git a/tools/kvm/kvm.c b/tools/kvm/kvm.c
index c69fcc4..e3f9d02 100644
--- a/tools/kvm/kvm.c
+++ b/tools/kvm/kvm.c
@@ -162,7 +162,7 @@ static void kvm_register_mem_slot(struct kvm *kvm, u32 
slot, u64 guest_phys, u64
                .slot                   = slot,
                .guest_phys_addr        = guest_phys,
                .memory_size            = size,
-               .userspace_addr         = (u64)userspace_addr,
+               .userspace_addr         = (u64)(long)userspace_addr,
        };
 
        ret = ioctl(kvm->vm_fd, KVM_SET_USER_MEMORY_REGION, &mem);
diff --git a/tools/kvm/qcow.c b/tools/kvm/qcow.c
index 8e1b70d..bb2345c 100644
--- a/tools/kvm/qcow.c
+++ b/tools/kvm/qcow.c
@@ -295,7 +295,7 @@ static int qcow1_write_sector(struct disk_image *disk, u64 
sector, void *src, u3
 {
        struct qcow *q = disk->priv;
        struct qcow_header *header = q->header;
-       ssize_t nr_written;
+       u32 nr_written;
        char *buf;
        u64 offset;
        ssize_t nr;
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to