wine on FreeBSD

Robert Lunnon bobl at optushome.com.au
Sat Jul 30 00:18:38 CDT 2005


On Saturday 30 July 2005 04:18, jean-marc DETREZ wrote:
> Hi,
>
>
>
>  With the differents mails i receive from users or wine's developers, i
> think that:
>
>
>
>             - Dislike OpenBSD or SRV4,  mincore did'nt fail if the page is
> not mapped no [ENOMEM] error condition.
>
>
>
> -          the FreeBSD man pages say that mmap would fail with [ENOMEM]
> error condition if address is in use but in the reality it seems always
> return the start address.
>
>
>
> So for to use wine on FreeBSD before doing a more clean patch i propose to
> add this to mmap . I know that it would map memory pages without verify
> before that the pages is'nt already map but the man pages say it must
> failed so I'm just verify that the result is equal to start address the
> mmap call asking for.
>
>
>
>
>
>             I do that only when creating System heap because requesting
> mmap for 0x800000 start address (without MAP_FIXED) always fail and prevent
> wine running on FreeBSD.
>
>
>
>             I'll do more test to implement a try_mmap_fixed function
> working on FreeBSD like this done for SRV4,NetBSD and DARWIN.
>
>
>
> Jean-marc


Actually the fix for SVR4 (Solaris) does work BUT, the numerous vforks cause 
resource problems under Solaris. I already have a patch which does a single 
reserve of 64 MB for the system heap and leaves the rest alone. Other memory 
gets mapped out on the first memory allocate autmagically by the wine 
allocator. This approach seems to work well under Solaris.. From what I know 
is is unlikely (read very improbable) that 64K from 0x80000000 would be in 
use so early in the wine process so a fixed mmap is unlikely to actually 
unmap anything. Still it would be polite to check if possible. (Yo ucan do 
this by reading the processes address space (as) file in /proc on SVR4 
systems as will as mincore


Bob





More information about the wine-devel mailing list