On Fri, 2005-07-22 at 00:10 +0200, Filip Navara wrote: > J. Mayer wrote: > > >Here's a long awaited patch (hum, Fabrice ? ;-) ). > >It is really invasive in the target-ppc subdirectory. > > > > > [snip] > > wow, you repeated my and Fabrice's mistake once more ... think about the > code below more :) > note: when you'll be done thinking or run out of ideas see my x86-64 > patches that i sent to ML this morning.
Without this patch, it crashes at the first instruction trying to access the BIOS. And your patch does not solve the problem: on a real PowerPC 64 machine, we can use the whole 64 bits virtual space. We agreed with Fabrice that there should be at least one more indirection in page mapping, because it would cost too much memory to try to map the whole needed memory space in one table, even if we can "forget" some of the middle bits in most cases. Then, you're right, this patch is ugly but allows not to crash until we have a correct solution with indirect tables to get a very large virtual space. > Index: exec.c > =================================================================== > RCS file: /cvsroot/qemu/qemu/exec.c,v > retrieving revision 1.60 > diff -u -d -w -B -b -d -p -r1.60 exec.c > --- exec.c 24 Apr 2005 18:02:38 -0000 1.60 > +++ exec.c 20 Jul 2005 23:00:26 -0000 > @@ -257,6 +257,10 @@ static inline VirtPageDesc *virt_page_fi > { > VirtPageDesc *p; > > + /* XXX: should not truncate for 64 bit addresses */ > +#if TARGET_LONG_BITS > 32 > + index &= (L1_SIZE - 1); > +#endif > p = l1_virt_map[index >> L2_BITS]; > if (!p) > return 0; -- J. Mayer <[EMAIL PROTECTED]> Never organized _______________________________________________ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel