[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    TR: wine on FreeBSD   with patch
From:       "jean-marc DETREZ" <jm.detrez () cegetel ! net>
Date:       2005-07-29 18:32:39
Message-ID: 20050729183247.2DC011A44F2 () smtp ! cegetel ! net
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


 

 

  _____  

De : jean-marc DETREZ [mailto:jm.detrez@cegetel.net] 
Envoyé : vendredi 29 juillet 2005 20:28
À : 'Alexandre Julliard'
Cc : 'barner@FreeBSD.org'; 'wine-devel@winehq.com'; 'emulation@freebsd.org';
'Dmitry Timoshkov'; 'Gerald Pfeifer'
Objet : TR: wine on FreeBSD with patch

 

 

 

  _____  

De : jean-marc DETREZ [mailto:jm.detrez@cegetel.net] 
Envoyé : vendredi 29 juillet 2005 20:18
À : 'Alexandre Julliard'
Cc : 'barner@FreeBSD.org'; 'Gerald Pfeifer'; 'wine-devel@winehq.com';
'emulation@freebsd.org'; 'Dmitry Timoshkov'
Objet : wine on FreeBSD

 

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

 

 

 

 


[Attachment #5 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:st1="urn:schemas-microsoft-com:office:smarttags" \
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman";}
a:link, span.MsoHyperlink
	{color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal;
	font-family:Arial;
	color:windowtext;}
span.EmailStyle18
	{mso-style-type:personal;
	font-family:Arial;
	color:navy;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:Arial;
	color:navy;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.Section1
	{page:Section1;}
 /* List Definitions */
 @list l0
	{mso-list-id:1439567254;
	mso-list-type:hybrid;
	mso-list-template-ids:1712618670 190741670 67895299 67895301 67895297 67895299 \
67895301 67895297 67895299 67895301;} @list l0:level1
	{mso-level-start-at:0;
	mso-level-number-format:bullet;
	mso-level-text:-;
	mso-level-tab-stop:56.25pt;
	mso-level-number-position:left;
	margin-left:56.25pt;
	text-indent:-18.0pt;
	font-family:Arial;
	mso-fareast-font-family:"Times New Roman";}
@list l0:level2
	{mso-level-tab-stop:72.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level3
	{mso-level-tab-stop:108.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level4
	{mso-level-tab-stop:144.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level5
	{mso-level-tab-stop:180.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level6
	{mso-level-tab-stop:216.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level7
	{mso-level-tab-stop:252.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level8
	{mso-level-tab-stop:288.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
@list l0:level9
	{mso-level-tab-stop:324.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
-->
</style>

</head>

<body lang=FR link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>De&nbsp;:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> <st1:PersonName
ProductID="jean-marc DETREZ" w:st="on">jean-marc DETREZ</st1:PersonName>
[mailto:jm.detrez@cegetel.net] <br>
<b><span style='font-weight:bold'>Envoyé&nbsp;:</span></b> vendredi 29 juillet
2005 20:28<br>
<b><span style='font-weight:bold'>À&nbsp;:</span></b> 'Alexandre Julliard'<br>
<b><span style='font-weight:bold'>Cc&nbsp;:</span></b> 'barner@FreeBSD.org';
'wine-devel@winehq.com'; 'emulation@freebsd.org'; 'Dmitry Timoshkov'; 'Gerald
Pfeifer'<br>
<b><span style='font-weight:bold'>Objet&nbsp;:</span></b> TR: wine on FreeBSD
with patch</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>De&nbsp;:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> <st1:PersonName
ProductID="jean-marc DETREZ" w:st="on">jean-marc DETREZ</st1:PersonName>
[mailto:jm.detrez@cegetel.net] <br>
<b><span style='font-weight:bold'>Envoyé&nbsp;:</span></b> vendredi 29 juillet
2005 20:18<br>
<b><span style='font-weight:bold'>À&nbsp;:</span></b> 'Alexandre Julliard'<br>
<b><span style='font-weight:bold'>Cc&nbsp;:</span></b> 'barner@FreeBSD.org';
'Gerald Pfeifer'; 'wine-devel@winehq.com'; 'emulation@freebsd.org'; 'Dmitry
Timoshkov'<br>
<b><span style='font-weight:bold'>Objet&nbsp;:</span></b> wine on \
FreeBSD</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hi, <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>&nbsp;</span></font><font size=2 face=Arial><span
lang=EN-GB style='font-size:10.0pt;font-family:Arial'>With the differents mails
i receive from users or wine&#8217;s developers, i think \
that:<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                
- Dislike OpenBSD or SRV4, &nbsp;mincore did&#8217;nt fail if the page is not
mapped no [ENOMEM] error condition.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='margin-left:56.25pt;text-indent:-18.0pt;mso-list:
l0 level1 lfo2'><![if !supportLists]><font size=2 face=Arial><span lang=EN-GB
style='font-size:10.0pt;font-family:Arial'><span style='mso-list:Ignore'>-<font
size=1 face="Times New Roman"><span style='font:7.0pt "Times New \
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
</span></font></span></span></font><![endif]><font size=2 face=Arial><span lang=EN-GB \
style='font-size:10.0pt;font-family:Arial'>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 &nbsp;return the start address.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='text-indent:35.4pt'><font size=2 face=Arial><span
lang=EN-GB style='font-size:10.0pt;font-family:Arial'>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&#8217;nt
already map but the man pages say it must failed so I&#8217;m just verify that
the result is equal to start address the mmap call asking \
for.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 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.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 I&#8217;ll do more test to implement a try_mmap_fixed function working on
FreeBSD like this done for SRV4,NetBSD and DARWIN.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'>Jean-marc<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=Arial><span lang=EN-GB style='font-size:
10.0pt;font-family:Arial'><o:p>&nbsp;</o:p></span></font></p>

</div>

</body>

</html>


["mmap.patch" (application/octet-stream)]

--- mmap.orig	Mon Jun 20 13:43:47 2005
+++ mmap.c	Fri Jul 29 18:57:55 2005
@@ -207,7 +207,13 @@ void *wine_anon_mmap( void *start, size_
 #elif defined(__svr4__) || defined(__NetBSD__) || defined(__APPLE__)
         if ( try_mmap_fixed( start, size, prot, flags, fdzero, 0 ) )
             return start;
-#endif
+#elif defined(__FreeBSD__)
+	if (start == (void *)0x80000000) 
+	{    /* assume that was not very clean to do that but mincore didnt work to test if \
page is mapped in FreeBSD */ +          if (mmap (start, size, prot, flags | \
MAP_FIXED, fdzero, 0) == start) +		return start;
+	}
+#endif 
     }
     return mmap( start, size, prot, flags, fdzero, 0 );
 #else



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic