<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 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:285545744;
        mso-list-type:hybrid;
        mso-list-template-ids:-1482230388 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:1296907991;
        mso-list-type:hybrid;
        mso-list-template-ids:-1675711132 -712244640 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:Arial;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2
        {mso-list-id:2119446533;
        mso-list-template-ids:-991937498;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></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="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">+edk2 list<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am not against adding additional test tools to edk2-test. Just feel like there is a need to organize and have a strategy, rather than just use edk2-test as a dumping group of miscellaneous tools.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">There is already a place for apps under <a href="https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Application">
https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Application</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">We also have a number of EDK2 misc applications that use edk2-libc in
<a href="https://github.com/tianocore/edk2-libc/tree/master/AppPkg/Applications">
https://github.com/tianocore/edk2-libc/tree/master/AppPkg/Applications</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">A couple of questions:<o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level1 lfo4">Do you expect more apps from WinTestPkg to be contributed to TianoCore? And are they all around testing specific Windows requirements? If so, then having an edk2-test/WinTestPkg makes
 sense to me, as you will have a collection of useful testing app targeting specific area.
<o:p></o:p></li><ul style="margin-top:0in" type="circle">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level2 lfo4">But what about other OSes?<o:p></o:p></li></ul>
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l1 level1 lfo4">If this is a one-off test app and other WinTestPkg apps are not going to be contributed, then does it make sense to put this under MdeModulePkg/Application ?
<o:p></o:p></li></ul>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Nelson, Eric <eric.nelson@intel.com> <br>
<b>Sent:</b> Wednesday, June 23, 2021 3:10 PM<br>
<b>To:</b> G Edhaya Chandran <Edhaya.Chandran@arm.com>; gaojie@byosoft.com.cn<br>
<b>Cc:</b> Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com><br>
<b>Subject:</b> RE: Proposing a new area of the edk2-test repository<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi Edhay,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Do you have any more questions?<o:p></o:p></p>
<p class="MsoNormal">What do you think of creating another directory in edk2-test, for other test apps, in addition to uefi-sct, such as ResumeOK.efi?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">__e<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Nelson, Eric <br>
<b>Sent:</b> Tuesday, June 15, 2021 12:00 PM<br>
<b>To:</b> G Edhaya Chandran <<a href="mailto:Edhaya.Chandran@arm.com">Edhaya.Chandran@arm.com</a>>;
<a href="mailto:gaojie@byosoft.com.cn">gaojie@byosoft.com.cn</a><br>
<b>Cc:</b> Samer El-Haj-Mahmoud <<a href="mailto:Samer.El-Haj-Mahmoud@arm.com">Samer.El-Haj-Mahmoud@arm.com</a>><br>
<b>Subject:</b> RE: Proposing a new area of the edk2-test repository<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi Edhay,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">ResumeOK.efi is a tool I wrote from the HelloWorld example, that validates Windows resume from S4 requirements, specifically that the memory-map run-time memory regions don’t change, and secondly that PCI devices don’t disappear from the
 system, both conditions would cause Windows to fail to resume from S4.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">You install the tool to the root of the ESP, and set it as the default/top entry in the boot manager, and launch it.  (Disable Secure Boot.)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It runs warm, cold, and 60s ACPI RTC wake cycles, infinitely looking for errors.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">ResumeOK.efi writes a file to the root of the ESP, ResumeOK.map, which contains the ACPI Facs->HardwareSignature, a list of the PCI devices in the system, and a copy of its memory map, from the first time it runs.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">During each test pass, it runs a barrage of tests:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo3">Free memory test – does the available memory match the memory map saved in ResumeOK.map<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo3">HW signature check – does the system still have the same HW signature as saved in the ResumeOK.map<o:p></o:p></li><li class="MsoListParagraph" style="margin-left:0in;mso-list:l0 level1 lfo3">Allocation test – all the available memory is allocated, and then the memory map is checked if the run-time regions match ResumeOK.map.<o:p></o:p></li></ol>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">If any of the tests fail, then the new/missing PCI devices are listed (HW signature fail case), or the memory descriptor that changed, it’s location, and current and previous type and size.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have received permission from Intel to *<b>try</b>* to release the source under Edk2-test.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’ve included a 64-bit binary, if you want to give it a test drive.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Make sure Secure Boot is off.<o:p></o:p></p>
<p class="MsoNormal">Also, it is required to manually delete any ResumeOK.map on the ESP, before beginning a new test pass.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The tool also supports a host of EFI Shell commands:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.5in">Resumeok.efi MEMMAP – displays Windows coalesced view of the current memory map<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">ResumeOK.efi ROKMAP – displays Windows coalesced view of the memory saved in ResumeOK.map<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">ResumeOK.efi RTDATA – displays an analysis of RT_Data pool usage<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in">ResumeOK.efi NORESET – run one test pass, but suppress automatic SX cycling<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">These are the files that build it:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\WinTestPkg.dec<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\WinTestPkg.dsc<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\AcpiTbl.c<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\AcpiTbl.h<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\AppSupport.c<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\BitMap.c<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\BitMap.h<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\EfiFileLib.c<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\EfiFileLib.h<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\pci.c<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\Pci.h<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\ResumeOK.c<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\ResumeOK.h<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\ResumeOK.inf<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\ResumeOK.uni<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\ResumeOKExtra.uni<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\RtData.c<o:p></o:p></p>
<p class="MsoNormal">Edk2\WinTestPkg\Application\ResumeOK\TimeBaseLib.c<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">__e<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> G Edhaya Chandran <<a href="mailto:Edhaya.Chandran@arm.com">Edhaya.Chandran@arm.com</a>>
<br>
<b>Sent:</b> Monday, June 14, 2021 9:36 PM<br>
<b>To:</b> Nelson, Eric <<a href="mailto:eric.nelson@intel.com">eric.nelson@intel.com</a>>;
<a href="mailto:gaojie@byosoft.com.cn">gaojie@byosoft.com.cn</a><br>
<b>Cc:</b> Samer El-Haj-Mahmoud <<a href="mailto:Samer.El-Haj-Mahmoud@arm.com">Samer.El-Haj-Mahmoud@arm.com</a>><br>
<b>Subject:</b> RE: Proposing a new area of the edk2-test repository<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hi Eric,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">    Thanks for reaching out to us.<o:p></o:p></p>
<p class="MsoNormal">Can we get more details of the tool? <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Is this tool already open sourced or could you send us the basic documentation pertaining to it.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">With Warm Regards,<br>
Edhay<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Nelson, Eric <<a href="mailto:eric.nelson@intel.com">eric.nelson@intel.com</a>>
<br>
<b>Sent:</b> 15 June 2021 04:23<br>
<b>To:</b> <a href="mailto:gaojie@byosoft.com.cn">gaojie@byosoft.com.cn</a>; G Edhaya Chandran <<a href="mailto:Edhaya.Chandran@arm.com">Edhaya.Chandran@arm.com</a>><br>
<b>Subject:</b> Proposing a new area of the edk2-test repository<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hello SCT maintainers,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m looking to release source to a UEFI validation tool that has been a big hit with platform BIOS validation teams, so it can help other PC vendors.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">My coworker Michael Kinney suggested I reach out to you directly about the idea of creating a new top level directory in the edk2-test repro for other test apps, and I could be maintainer.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">What do you think of creating another directory in edk2-test, for other test apps, in addition to uefi-sct?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks!<o:p></o:p></p>
<p class="MsoNormal">__e<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person,
 use it for any purpose, or store or copy the information in any medium. Thank you.
<o:p></o:p></p>
</div>
</div>
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose,
 or store or copy the information in any medium. Thank you.
</body>
</html>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr>   Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/77008">View/Reply Online (#77008)</a> |    |  <a target="_blank" href="https://groups.io/mt/83747407/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>