qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Anyone familiar with the slirp code?


From: Gwenole Beauchesne
Subject: Re: [Qemu-devel] Anyone familiar with the slirp code?
Date: Sat, 23 Jul 2005 00:53:55 +0200

Le samedi, 23 jul 2005, à 00:05 Europe/Paris, Jim C. Brown a écrit :

On Fri, Jul 22, 2005 at 08:45:16PM +0200, Gwenole Beauchesne wrote:
AFAICS, slirp code in qemu cvs and other projects works on x86_64.

Nope.

Then please provide a clear testcase. My testing limited to 32-bit Ubuntu Live as guest on 64-bit Mandriva Linux 2005 and downloading files from FTP performed very well. The original author of this thread was using 0.7.0 and the patch he posted is not enough for 0.7.0 (SIZEOF_CHAR_P was not defined so sizeof(structure) were bogus).

The current implementation in CVS will work as is on x86_64 because dynamically allocated data through malloc() and global data fit under 32-bit. The former is true because malloc()'ed data is small enough to not use mmap() and reside in the data segment. Now, you will get crashes if you explicitly set an M_MMAP_THRESHOLD < sizeof(structures used in the slirp code).

A more complete solution than used in current CVS can use qemu_{malloc,realloc,*}() instead with special provisions to returning memory with addresses that fit under 32-bit. qemu already does this but only for (deprecated) qemu-fast at this time.




reply via email to

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