qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] constant truncation warning in hw/pc.c for 32bit targets
@ 2008-09-28 12:44 Jindrich Makovicka
  2008-09-28 13:52 ` Blue Swirl
  0 siblings, 1 reply; 3+ messages in thread
From: Jindrich Makovicka @ 2008-09-28 12:44 UTC (permalink / raw)
  To: qemu-devel

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] constant truncation warning in hw/pc.c for 32bit targets
  2008-09-28 12:44 [Qemu-devel] constant truncation warning in hw/pc.c for 32bit targets Jindrich Makovicka
@ 2008-09-28 13:52 ` Blue Swirl
  2008-09-28 19:29   ` [Qemu-devel] " Jindrich Makovicka
  0 siblings, 1 reply; 3+ messages in thread
From: Blue Swirl @ 2008-09-28 13:52 UTC (permalink / raw)
  To: qemu-devel

On 9/28/08, Jindrich Makovicka <makovick@gmail.com> wrote:
> 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:

There are i386 systems with more than 4G of memory, so your patch is incorrect.

Now, if the code miscompiles there could be a problem somewhere else.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Qemu-devel] Re: constant truncation warning in hw/pc.c for 32bit targets
  2008-09-28 13:52 ` Blue Swirl
@ 2008-09-28 19:29   ` Jindrich Makovicka
  0 siblings, 0 replies; 3+ messages in thread
From: Jindrich Makovicka @ 2008-09-28 19:29 UTC (permalink / raw)
  To: qemu-devel

On Sun, 28 Sep 2008 16:52:22 +0300
"Blue Swirl" <blauwirbel@gmail.com> wrote:

> On 9/28/08, Jindrich Makovicka <makovick@gmail.com> wrote:
> > 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:
> 
> There are i386 systems with more than 4G of memory, so your patch is
> incorrect.

Yes, I know about PAE, but I assumed that when QEMU uses 32 bits for
a physical address (32bit guest on 32bit host) it will not support
more than 4 gigs.
 
> Now, if the code miscompiles there could be a problem somewhere else.

I meant that for a 32bit target, the physical address passed to
cpu_register_physical_memory will be zero instead of 4 gig as one
would expect because of the truncation.

I don't have a intimate knowledge of QEMU internals, but this warning
just looked a bit fishy to me :)

-- 
Jindrich Makovicka

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-09-28 19:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-28 12:44 [Qemu-devel] constant truncation warning in hw/pc.c for 32bit targets Jindrich Makovicka
2008-09-28 13:52 ` Blue Swirl
2008-09-28 19:29   ` [Qemu-devel] " Jindrich Makovicka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).