qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] constant truncation warning in hw/pc.c for 32bit targets


From: Jindrich Makovicka
Subject: [Qemu-devel] constant truncation warning in hw/pc.c for 32bit targets
Date: Sun, 28 Sep 2008 14:44:29 +0200

Hi,

for 32bit targets, the 0x100000000ULL start address of above-4G memory
is truncated to zero. IMO the code for above-4G allocation could be
#ifdef'ed only for 64 bit targets, as for 32bit it 1) miscompiles and
2) won't be used anyway:

Index: hw/pc.c
===================================================================
--- hw/pc.c     (revision 5338)
+++ hw/pc.c     (working copy)
@@ -747,7 +747,9 @@
     BlockDriverState *fd[MAX_FD];
 
     if (ram_size >= 0xe0000000 ) {
+#if TARGET_PHYS_ADDR_BITS == 64
         above_4g_mem_size = ram_size - 0xe0000000;
+#endif
         below_4g_mem_size = 0xe0000000;
     } else {
         below_4g_mem_size = ram_size;
@@ -798,6 +800,7 @@
                  below_4g_mem_size - 0x100000,
                  ram_addr);
 
+#if TARGET_PHYS_ADDR_BITS == 64
     /* above 4giga memory allocation */
     if (above_4g_mem_size > 0) {
         ram_addr = qemu_ram_alloc(above_4g_mem_size);
@@ -805,6 +808,7 @@
                                      above_4g_mem_size,
                                      ram_addr);
     }
+#endif
 
 
     /* allocate VGA RAM */


Regards,
-- 
Jindrich Makovicka




reply via email to

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