<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="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<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]-->
<title>RE: [ofw] WDK build environment migration thoughts</title>
<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:0in;
        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:blue;
        text-decoration:underline;}
p
        {mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I did a quick WDK(6001.1800) WS2003 build
on </span></font><font size=2 color=blue face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:blue'>branches\ConnectX</span></font><font
size=2 color=navy face=Arial><span style='font-size:10.0pt;font-family:Arial;
color:navy'>  core and hw directory.<o:p></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> </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'>X86 is broken: <o:p></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> </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'>errors in directory
c:\ib\branchx\core\al\user <o:p></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'>c:\ib\branchx\core\al\al_reg_svc.c(164) :
error C1001: An internal error has occurred in the compiler.<o:p></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> </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> </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'>X64 is OK with core directory, but cannot
complete hw directory build: (mthca seems fine)<o:p></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> </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'>Compiling resources -
mlx4\kernel\bus\bus.rc<o:p></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'>errors in directory
c:\ib\branchx\hw\mlx4\kernel\bus<o:p></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'>c:\ib\branchx\hw\mlx4\kernel\core\ev_log.rc(2)
: error RC2135 : file not found:<o:p></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'>MSG00001.bin<o:p></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'>Compiling - mlx4\kernel\bus\drv.c<o:p></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'>Compiling - mlx4\kernel\bus\pci.c<o:p></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'>Compiling - mlx4\kernel\bus\pdo.c<o:p></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'>Compiling - mlx4\kernel\bus\wmi.c<o:p></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'>Linking Executable -
c:\ib\branchx\bin\kernel\objchk_wnet_amd64\amd64\mlx4_bus.s<o:p></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'>ys<o:p></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'>link : error LNK1181: cannot open input
file 'c:\ib\branchx\hw\mlx4\kernel\bus\o<o:p></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'>bjchk_wnet_amd64\amd64\bus.res'<o:p></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> </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> </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'>Thanks,<o:p></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'>James<o:p></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> </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'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'> Alex Naslednikov
[mailto:alexn@mellanox.co.il] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Monday, April 21, 2008 10:15
AM<br>
<b><span style='font-weight:bold'>To:</span></b> Alex Naslednikov; Smith, Stan;
Ishai Rabinovitz<br>
<b><span style='font-weight:bold'>Cc:</span></b> ofw@lists.openfabrics.org<br>
<b><span style='font-weight:bold'>Subject:</span></b> RE: [ofw] WDK build
environment migration thoughts</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> </o:p></span></font></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Hi
all,<br>
I would like to repost my previous message, because I haven't received yet your
comments.<br>
Our regression seems to be stable, so we are going to commit the change into
WinOF trunk the nearest time.<br>
For you convenience, I also provide some typical changes as a patch (attached
to this mail). Please, read the explanation below before - it will help you a
lot.<br>
Be aware that all the modules not contained in Mellanox WinIB stack (like
udapl, vnic) should be also changed according to this methodology.<br>
<br>
It is very large change, so I'll appreciate your time and effort while
reviewing the methodology and the patch itself.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Thanks,<br>
</span></font><br>
<b><span style='font-weight:bold'>Naslednikov Alexander (a.k.a XaleX)<br>
Windows Team<br>
Mellanox Technologies</span></b><o:p></o:p></p>

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

<p><font size=1 face=Tahoma><span style='font-size:7.5pt;font-family:Tahoma'>_____________________________________________
</span></font><o:p></o:p></p>

<p><b><font size=1 face=Tahoma><span style='font-size:7.5pt;font-family:Tahoma;
font-weight:bold'>From:  </span></font></b> <font size=1 face=Tahoma><span
style='font-size:7.5pt;font-family:Tahoma'>Alex Naslednikov  </span></font><o:p></o:p></p>

<p><b><font size=1 face=Tahoma><span style='font-size:7.5pt;font-family:Tahoma;
font-weight:bold'>Sent:  </span></font></b> <font size=1 face=Tahoma><span
style='font-size:7.5pt;font-family:Tahoma'>Thursday, April 10, 2008 4:09 PM</span></font><o:p></o:p></p>

<p><b><font size=1 face=Tahoma><span style='font-size:7.5pt;font-family:Tahoma;
font-weight:bold'>To:    </span></font></b> <font size=1
face=Tahoma><span style='font-size:7.5pt;font-family:Tahoma'>'Smith, Stan';
Ishai Rabinovitz</span></font><o:p></o:p></p>

<p><b><font size=1 face=Tahoma><span style='font-size:7.5pt;font-family:Tahoma;
font-weight:bold'>Cc:    </span></font></b> <font size=1
face=Tahoma><span style='font-size:7.5pt;font-family:Tahoma'>ofw@lists.openfabrics.org</span></font><o:p></o:p></p>

<p><b><font size=1 face=Tahoma><span style='font-size:7.5pt;font-family:Tahoma;
font-weight:bold'>Subject:       </span></font></b>
<font size=1 face=Tahoma><span style='font-size:7.5pt;font-family:Tahoma'>RE:
[ofw] WDK build environment migration thoughts</span></font><o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>It's
a good idea to clarify some points before announcing Mellanox patch for WDK
porting and __ptr64 problems.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Hope,
these explanations will be informative enough and not so long.</span></font><o:p></o:p></p>

<p><b><u><font size=2 face=Arial><span style='font-size:10.0pt;font-family:
Arial;font-weight:bold'>1. __ptr64 problem</span></font></u></b><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Briefly
speaking, this problem arises when copying 32bit len pointer into 64bit len
pointer. In this case,</span></font><u> </u><u><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>signed pointer extension</span></font></u>
<font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>will
take place.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>How
it's applicable to WinOF ?  A lot of pointer were declared to be __ptr64
(i.e., to be always "long", even in 32bit kernel systems), that's to
preserve on unique size of structs used in IOCTL calls.  The main problem
it will cause is between 32bit user applications and 64bit kernel application.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>When
user code do operation like </span></font><o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>my_type*
__ptr64 ptr = s_ptr;</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Than
kernel will receive ptr with invalid upper bits data (4 bytes FF).</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>To
avoid signed pointer extension, PtrToPtr64() function should be used.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Also,
I found some other places where dangerous signed pointer extension took place,
even on 32bit kernel.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Yet
another problem that arises with __ptr64 attribute is internal compiler error
(C1001)  in WDK when using __ptr64 pointer to function (callback)</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>This
problem was described in ofw discussion, you can see also :</span></font><o:p></o:p></p>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><a
href="http://blogs.msdn.com/texblog/archive/2005/10/31/487436.aspx"><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>http://blogs.msdn.com/texblog/archive/2005/10/31/487436.aspx</span></font></a><o:p></o:p></span></font></p>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><a
href="http://lists.openfabrics.org/pipermail/ofw/2007-July/001613.html"><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>http://lists.openfabrics.org/pipermail/ofw/2007-July/001613.html</span></font></a></span></font><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> (posted by
Jan from OFW)</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Our
solution:</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>1.
Initially, we decided to remove all __ptr64 attributes except those ones inside
IOCTL structures. After, put PtrToPtr64() conversion on every assignment to
long pointer.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>(like
my_type* __ptr64 ptr = PtrToPtr64(s_ptr);  )</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>During
this solution, we changed a huge amount of code, so patch became unreadable.
And it was difficult to validate that all long pointer (with __ptr64 attribute)
were used in a proper manner</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>2.
So, we decided about another solution:</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> All
__ptr64 occurrences were replaced by either:</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> i)
TO_LONG_PTR(type, field) macro, when occurred inside structure</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>ii)
VOID_PTR64 macro otherwise (defined as void macro)</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>#define
CONCAT(str1, str2) str1##str2</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>#define
TO_LONG_PTR(type,member_name) \</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>   
union { type member_name;  uint64_t CONCAT(member_name,_padding) ; }</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Thus,
we can both preserve on a uniform shapes of structs in user and kernel and to
avoid unsafe pointer arithmetic !</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>The
patch now is much more readable, but it sill consist of thousands lines.</span></font><o:p></o:p></p>

<p><b><u><font size=2 face=Arial><span style='font-size:10.0pt;font-family:
Arial;font-weight:bold'>2. Migration to WDK</span></font></u></b><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Main
issue here was to preserve on backward compatibility with DDK</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>We
were able to compile our stack with WDK, while the main problems we found were
:</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>1.
WDK uses newer version of SDK (SDK Vista). So, when using 2 or more versions of
SDK on the same build machine, one has to update </span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>PLATFORM_SDK_PATH
variable to point on the proper version of SDK (for example,
PLATFORM_SDK_PATH=%sysdrive%:\PROGRA~1\MI2578~1\windows\v6.1)</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>2.verify.src
script in WDK (new add-on) checks if your SOURCES file is in appropriate format.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>For
example, you can't set implicitly path to system .dll in TARGETLIBS, but to use
USE_<MODULE_NAME> =1 macro</span></font><o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Old
code : </span></font><o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>TARGETLIBS=
\</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>  
$(CRT_LIB_PATH)\msvcprt.lib\</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>  
$(SDK_LIB_PATH)\Ws2_32.lib\</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>  
$(TARGETPATH)\*\mtcr.lib</span></font><o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>New
code :</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>USE_MSVCRT=1</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>USE_NTDLL=1</span></font><o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>TARGETLIBS=
\</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>  
$(SDK_LIB_PATH)\Ws2_32.lib\</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>  
$(TARGETPATH)\*\mtcr.lib</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>3.
Some other problems, like mulitple includes error in .rc files, or problem with
substituing more than one symbol constant into string in Makefiles (some
version of WDK)</span></font><o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Currently,
we continue testing and will advertise these patches right after the testing
will finish</span></font><o:p></o:p></p>

<p><b><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial;
font-weight:bold'>Naslednikov Alexander (a.k.a XaleX)</span></font></b><o:p></o:p></p>

<p><b><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial;
font-weight:bold'>Windows Team</span></font></b><o:p></o:p></p>

<p><b><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial;
font-weight:bold'>Mellanox Technologies</span></font></b> <o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>-----Original
Message-----</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>From:
ofw-bounces@lists.openfabrics.org [</span></font><a
href="mailto:ofw-bounces@lists.openfabrics.org"><font size=2 face=Arial><span
style='font-size:10.0pt;font-family:Arial'>mailto:ofw-bounces@lists.openfabrics.org</span></font></a><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>] On Behalf
Of Smith, Stan</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Sent:
Tuesday, April 08, 2008 4:10 PM</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>To:
Ishai Rabinovitz</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Cc:
ofw@lists.openfabrics.org</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Subject:
[ofw] WDK build environment migration thoughts</span></font><o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> 
I strongly believe it would help the WinOF community in transitioning to the
WDK build environment if the connectX branch</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>(svn:gen1\branches\ConnectX)
was used as a WDK build environment staging grounds prior to merging the WDK
modifications into the mainline trunk.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>This
has been talked about before although it still (as of last Friday) does not
build using the latest WDK version.</span></font><o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>One
week prior to merging the WDK fixes into the mainline trunk, if you were to
push all the WDK fixes into the ConnectX branch and then advertise on the ofw
mailing list the availability of a WDK build branch along with</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> 
1) how to build in the WDK environment,</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>    
which version of the WDK is required + a URL link where to get the WDK.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> 
2) An explanation of why and how the __ptr64 attributes were removed along with
how</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>    
others should correct their codes containing __ptr64 attributes.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'> 
3) updates to the WinOF wiki page describing how to build in the WDK env.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Let
this branch exist for one week, receiving feedback from the list and then merge
into the mainline trunk.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Using
this approach is certainly community friendly and may prevent developer surprises.</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>ConnectX
branch availability dates plus when the actual WDK fixes would be merged into
the mainline trunk would be published beforehand.</span></font><o:p></o:p></p>

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Thanks
for your consideration,</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Stan.</span></font><o:p></o:p></p>

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

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

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>ofw
mailing list</span></font><o:p></o:p></p>

<p><font size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>ofw@lists.openfabrics.org</span></font><o:p></o:p></p>

<p><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><a
href="http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw"><font size=2
face=Arial><span style='font-size:10.0pt;font-family:Arial'>http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw</span></font></a><o:p></o:p></span></font></p>

</div>

</body>

</html>