<html 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)">
<title>RE: [ofw] WDK build environment migration thoughts</title>
<style>
<!--
 /* 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;
        font-family:Arial;
        color:navy;}
span.EmailStyle19
        {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>

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>

<div>

<p class=MsoNormal><font size=2 color=black face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:black'>Q2.</span></font><font size=2 color=navy
face=Arial><span style='font-size:10.0pt;font-family:Arial;color:navy'>Does
TO_LONG_PTR work for both big endian and little endian systems?</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>TO_LONG_PTR works only with little endian,
because we do not support PPC platform </span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Currently, there's no need to extend it to
support big endian</span></font><o:p></o:p></p>

</div>

<div>

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

<p class=MsoNormal><font size=2 color=green face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:green'>OFA does support PPC platforms, plus
Itanium can be configured for either little or big endian format.  I’m
fine deferring adding this support, but the code should not assume that it will
always be little endian.<o:p></o:p></span></font></p>

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

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

</div>

<div>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Q3. How is the padded space initialized?</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Inside sdp, all padded space was
initialized by class constructor (except one specific case)</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>In all other code, that not C++, padded
space was initialized by cl_memclr before setting the field and before
calling to ioctl procedure</span></font><o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Please, see my next mail with examples
from the code</span></font><o:p></o:p></p>

</div>

<div>

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

<p class=MsoNormal><font size=2 color=green face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:green'>It’s kind of ugly to require
setting padded fields to specific values.  This only needs to be done when
crossing from a 32-bit to 64-bit boundary, so we can restrict this to the kernel
proxy.  (Btw, you can replace the unnamed union and add padding to
structures only if compiling in 32-bit mode.)<o:p></o:p></span></font></p>

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

<p class=MsoNormal><font size=2 color=green face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:green'>It’s still not clear to me how you
maintain binary compatibility with the IBAL APIs.  The IBAL calls take
64-bit pointers as input parameters.  What are the definitions for the
ib_blah_handle_t types?<o:p></o:p></span></font></p>

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

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

</div>

</div>

</div>

</body>

</html>