<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:m="http://schemas.microsoft.com/office/2004/12/omml" 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 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.5pt;
        font-family:Consolas;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:Consolas;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">  >> To work around this, I went into sdv_storport.h (WindowsKits/8.1/Tools/sdv/osmodel/storport). I made the<o:p></o:p></p>
<p class="MsoPlainText">  >> StorPortReadRegisterUlong64 prototype there match the prototype in storport.h.<o:p></o:p></p>
<p class="MsoPlainText">  >> I've reported this to Microsoft and they are working on a permanent fix.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">We hit this some time back too. <o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Rather than modify an MS header file we commented out the usage of the StorPortReadRegisterUlong64 (as highlighted below) since SDV needs to be error free for reasons mentioned below. I think we should consider changing the driver to
 do the same to avoid the problem.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><span style="background:yellow;mso-highlight:yellow">#if 0<o:p></o:p></span></p>
<p class="MsoPlainText"><span style="background:yellow;mso-highlight:yellow">//#if (NTDDI_VERSION > NTDDI_WIN7) && defined(_WIN64)</span><o:p></o:p></p>
<p class="MsoPlainText">    CAP.AsUlonglong = StorPortReadRegisterUlong64(pAE,<o:p></o:p></p>
<p class="MsoPlainText">        (PULONG64)(&pAE->pCtrlRegister->CAP));<o:p></o:p></p>
<p class="MsoPlainText">#else<o:p></o:p></p>
<p class="MsoPlainText">    CAP.HighPart = StorPortReadRegisterUlong(pAE,<o:p></o:p></p>
<p class="MsoPlainText">        (PULONG)(&pAE->pCtrlRegister->CAP.HighPart));<o:p></o:p></p>
<p class="MsoPlainText">    CAP.LowPart = StorPortReadRegisterUlong(pAE,<o:p></o:p></p>
<p class="MsoPlainText">        (PULONG)(&pAE->pCtrlRegister->CAP.LowPart));<o:p></o:p></p>
<p class="MsoPlainText">#endif<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Thanks,<o:p></o:p></p>
<p class="MsoPlainText">Judy<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<br>
From: nvmewin-bounces@lists.openfabrics.org [mailto:nvmewin-bounces@lists.openfabrics.org] On Behalf Of Thomas.Freeman@hgst.com<br>
Sent: Tuesday, February 04, 2014 6:54 AM<br>
To: Speer, Kenny<br>
Cc: nvmewin@lists.openfabrics.org<br>
Subject: Re: [nvmewin] Static Driver Verification<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I'm working with code from revision_1.2.<o:p></o:p></p>
<p class="MsoPlainText">Tom Freeman<o:p></o:p></p>
<p class="MsoPlainText">SSD Device Drivers/Firmware<o:p></o:p></p>
<p class="MsoPlainText">HGST, a Western Digital company<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:Thomas.Freeman@HGST.com"><span style="color:windowtext;text-decoration:none">Thomas.Freeman@HGST.com</span></a><o:p></o:p></p>
<p class="MsoPlainText">507-322-2311/232311<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">                                                                          
<o:p></o:p></p>
<p class="MsoPlainText">             "Speer, Kenny"                                               
<o:p></o:p></p>
<p class="MsoPlainText">             <Kenny.Speer@neta                                            
<o:p></o:p></p>
<p class="MsoPlainText">             pp.com>                                                    To
<o:p></o:p></p>
<p class="MsoPlainText">                                       "<a href="mailto:Thomas.Freeman@hgst.com"><span style="color:windowtext;text-decoration:none">Thomas.Freeman@hgst.com</span></a>"          
<o:p></o:p></p>
<p class="MsoPlainText">             02/03/2014 06:15          <<a href="mailto:Thomas.Freeman@hgst.com"><span style="color:windowtext;text-decoration:none">Thomas.Freeman@hgst.com</span></a>>          
<o:p></o:p></p>
<p class="MsoPlainText">             PM                                                         cc
<o:p></o:p></p>
<p class="MsoPlainText">                                       "<a href="mailto:nvmewin@lists.openfabrics.org"><span style="color:windowtext;text-decoration:none">nvmewin@lists.openfabrics.org</span></a>"    
<o:p></o:p></p>
<p class="MsoPlainText">                                       <<a href="mailto:nvmewin@lists.openfabrics.org"><span style="color:windowtext;text-decoration:none">nvmewin@lists.openfabrics.org</span></a>>    
<o:p></o:p></p>
<p class="MsoPlainText">                                                                   Subject
<o:p></o:p></p>
<p class="MsoPlainText">                                       RE: [nvmewin] Static Driver        
<o:p></o:p></p>
<p class="MsoPlainText">                                       Verification                       
<o:p></o:p></p>
<p class="MsoPlainText">                                                                           <o:p></o:p></p>
<p class="MsoPlainText">                                                                           <o:p></o:p></p>
<p class="MsoPlainText">                                                                           <o:p></o:p></p>
<p class="MsoPlainText">                                                                           <o:p></o:p></p>
<p class="MsoPlainText">                                                                           <o:p></o:p></p>
<p class="MsoPlainText">                                                                           <o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I did briefly but ran into other issues.  Which branch are you building from?<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<o:p></o:p></p>
<p class="MsoPlainText">From: <a href="mailto:Thomas.Freeman@hgst.com"><span style="color:windowtext;text-decoration:none">Thomas.Freeman@hgst.com</span></a> [<a href="mailto:Thomas.Freeman@hgst.com"><span style="color:windowtext;text-decoration:none">mailto:Thomas.Freeman@hgst.com</span></a>]<o:p></o:p></p>
<p class="MsoPlainText">Sent: Monday, February 3, 2014 4:12 PM<o:p></o:p></p>
<p class="MsoPlainText">To: Speer, Kenny<o:p></o:p></p>
<p class="MsoPlainText">Cc: <a href="mailto:nvmewin@lists.openfabrics.org"><span style="color:windowtext;text-decoration:none">nvmewin@lists.openfabrics.org</span></a><o:p></o:p></p>
<p class="MsoPlainText">Subject: RE: [nvmewin] Static Driver Verification<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Kenny.... Not sure if you've tried to run this yet.... I ran into a problem running the SDV in a Windows 8/x64 config.<o:p></o:p></p>
<p class="MsoPlainText">I get a message saying that there aren't enough parms being passed into StorPortReadRegisterUlong64.<o:p></o:p></p>
<p class="MsoPlainText">To work around this, I went into sdv_storport.h (WindowsKits/8.1/Tools/sdv/osmodel/storport). I made the<o:p></o:p></p>
<p class="MsoPlainText">StorPortReadRegisterUlong64 prototype there match the prototype in storport.h.<o:p></o:p></p>
<p class="MsoPlainText">I've reported this to Microsoft and they are working on a permanent fix.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Tom Freeman<o:p></o:p></p>
<p class="MsoPlainText">SSD Device Drivers/Firmware<o:p></o:p></p>
<p class="MsoPlainText">HGST, a Western Digital company<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:Thomas.Freeman@HGST.com"><span style="color:windowtext;text-decoration:none">Thomas.Freeman@HGST.com</span></a><o:p></o:p></p>
<p class="MsoPlainText">507-322-2311/232311<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">             "Speer, Kenny"<o:p></o:p></p>
<p class="MsoPlainText">             <Kenny.Speer@neta<o:p></o:p></p>
<p class="MsoPlainText">             pp.com>                                                    To<o:p></o:p></p>
<p class="MsoPlainText">                                       "<a href="mailto:Thomas.Freeman@hgst.com"><span style="color:windowtext;text-decoration:none">Thomas.Freeman@hgst.com</span></a>"<o:p></o:p></p>
<p class="MsoPlainText">             02/01/2014 05:37          <<a href="mailto:Thomas.Freeman@hgst.com"><span style="color:windowtext;text-decoration:none">Thomas.Freeman@hgst.com</span></a>>,<o:p></o:p></p>
<p class="MsoPlainText">             PM                        "<a href="mailto:nvmewin@lists.openfabrics.org"><span style="color:windowtext;text-decoration:none">nvmewin@lists.openfabrics.org</span></a>"<o:p></o:p></p>
<p class="MsoPlainText">                                       <<a href="mailto:nvmewin@lists.openfabrics.org"><span style="color:windowtext;text-decoration:none">nvmewin@lists.openfabrics.org</span></a>><o:p></o:p></p>
<p class="MsoPlainText">                                                                        cc<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">                                                                   Subject<o:p></o:p></p>
<p class="MsoPlainText">                                       RE: [nvmewin] Static Driver<o:p></o:p></p>
<p class="MsoPlainText">                                       Verification<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Yes and IMHO, those need to be fixed and the tools should run error/warning free.  The majority of the warnings are due to annotations which exist in the definitions of the functions but not in their declarations.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">It's good practice, again, IMO, to annotate and to do it in both. See<o:p></o:p></p>
<p class="MsoPlainText"><a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa383701"><span style="color:windowtext;text-decoration:none">http://msdn.microsoft.com/en-us/library/windows/desktop/aa383701</span></a><o:p></o:p></p>
<p class="MsoPlainText">(v=vs.85).aspx for more info on SAL annotations.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Haven't run SDV yet, I'll do that now, not sure how long it takes on this solution but on my other projects it takes 8 hours on a 4 core i7 with 32G mem.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">~kenny<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<o:p></o:p></p>
<p class="MsoPlainText">From: <a href="mailto:nvmewin-bounces@lists.openfabrics.org">
<span style="color:windowtext;text-decoration:none">nvmewin-bounces@lists.openfabrics.org</span></a><o:p></o:p></p>
<p class="MsoPlainText">[<a href="mailto:nvmewin-bounces@lists.openfabrics.org"><span style="color:windowtext;text-decoration:none">mailto:nvmewin-bounces@lists.openfabrics.org</span></a>] On Behalf Of
<a href="mailto:Thomas.Freeman@hgst.com"><span style="color:windowtext;text-decoration:none">Thomas.Freeman@hgst.com</span></a><o:p></o:p></p>
<p class="MsoPlainText">Sent: Saturday, February 1, 2014 2:02 PM<o:p></o:p></p>
<p class="MsoPlainText">To: <a href="mailto:nvmewin@lists.openfabrics.org"><span style="color:windowtext;text-decoration:none">nvmewin@lists.openfabrics.org</span></a><o:p></o:p></p>
<p class="MsoPlainText">Subject: [nvmewin] Static Driver Verification<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I'm new to HCK testing, but I understand part of the testing requires a Driver Verification Log (which contains the results from Code Analysis and Static Driver Verifier). This is required for the Static Tools Logo test (under the Device.Fundamentals
 category).<o:p></o:p></p>
<p class="MsoPlainText">When I run those tools, I'm getting a large number of errors. The code analysis shows over 50 warnings and the Static Driver Verifier fails because the Callback roletypes (sp_DRIVER_INITIALIZE, HW_INITIALIZE, etc) are not defined. Fixing
 the roletypes allows a new set of errors to appear.<o:p></o:p></p>
<p class="MsoPlainText">I'm running with VS 2013 and WDK 8.1.<o:p></o:p></p>
<p class="MsoPlainText">Am I missing something? Has anyone else run these tools against the code?<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Tom Freeman<o:p></o:p></p>
<p class="MsoPlainText">SSD Device Drivers/Firmware<o:p></o:p></p>
<p class="MsoPlainText">HGST, a Western Digital company<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:Thomas.Freeman@HGST.com"><span style="color:windowtext;text-decoration:none">Thomas.Freeman@HGST.com</span></a><o:p></o:p></p>
<p class="MsoPlainText">507-322-2311/232311<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">nvmewin mailing list<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:nvmewin@lists.openfabrics.org"><span style="color:windowtext;text-decoration:none">nvmewin@lists.openfabrics.org</span></a><o:p></o:p></p>
<p class="MsoPlainText"><a href="http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin"><span style="color:windowtext;text-decoration:none">http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin</span></a><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">nvmewin mailing list<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:nvmewin@lists.openfabrics.org"><span style="color:windowtext;text-decoration:none">nvmewin@lists.openfabrics.org</span></a><o:p></o:p></p>
<p class="MsoPlainText"><a href="http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin"><span style="color:windowtext;text-decoration:none">http://lists.openfabrics.org/cgi-bin/mailman/listinfo/nvmewin</span></a><o:p></o:p></p>
</div>
</body>
</html>