<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=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@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:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:SimSun;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:SimSun;}
span.EmailStyle19
        {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;}
--></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">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">Reviewed-by: Eric Dong <eric.dong@intel.com><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Luo, Heng <heng.luo@intel.com>
<br>
<b>Sent:</b> Monday, November 23, 2020 9:31 AM<br>
<b>To:</b> devel@edk2.groups.io; gaoliming@byosoft.com.cn<br>
<b>Cc:</b> Dong, Eric <eric.dong@intel.com>; Chiu, Chasel <chasel.chiu@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com><br>
<b>Subject:</b> RE: [edk2-devel] </span><span lang="ZH-CN" style="font-size:11.0pt">回复</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">: [Patch V7 3/3] MinPlatformPkg: Add SerialPortTerminalLib to suport Serial Terminal feature<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">Hi Chasel and Eric,</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<span style="color:black">Could you help to review the patches?</span><br>
<span style="color:black">Nate is on vacation now, I have fixed the bug in patch V6 Nate mentioned, I think he have no more comments.</span><br>
<br>
<span style="color:black">Thanks,</span><br>
<span style="color:black">Heng</span><br>
<br>
<span style="color:purple">> -----Original Message-----</span><br>
<span style="color:purple">> From: <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a> <<a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a>> On Behalf Of</span><br>
<span style="color:purple">> gaoliming</span><br>
<span style="color:purple">> Sent: Tuesday, November 17, 2020 11:17 AM</span><br>
<span style="color:purple">> To: Luo, Heng <<a href="mailto:heng.luo@intel.com">heng.luo@intel.com</a>>; <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a></span><br>
<span style="color:purple">> Cc: Dong, Eric <<a href="mailto:eric.dong@intel.com">eric.dong@intel.com</a>>; Chiu, Chasel <<a href="mailto:chasel.chiu@intel.com">chasel.chiu@intel.com</a>>;</span><br>
<span style="color:purple">> Desimone, Nathaniel L <<a href="mailto:nathaniel.l.desimone@intel.com">nathaniel.l.desimone@intel.com</a>></span><br>
<span style="color:purple">> Subject: [edk2-devel] </span></span><span lang="ZH-CN" style="font-size:11.0pt;color:purple">回复</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:purple">: [Patch V7 3/3] MinPlatformPkg: Add</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<span style="color:purple">> SerialPortTerminalLib to suport Serial Terminal feature</span><br>
<span style="color:purple">> </span><br>
<span style="color:purple">> Heng:</span><br>
<span style="color:purple">>   Thanks for your update. This version is good to me. Reviewed-by: Liming</span><br>
<span style="color:purple">> Gao <<a href="mailto:gaoliming@byosoft.com.cn">gaoliming@byosoft.com.cn</a>></span><br>
<span style="color:purple">> </span><br>
<span style="color:purple">>   Besides, please let me know your test case for this case.</span><br>
<span style="color:purple">> </span><br>
<span style="color:purple">> Thanks</span><br>
<span style="color:purple">> Liming</span><br>
<span style="color:blue">> > -----</span></span><span lang="ZH-CN" style="font-size:11.0pt;color:blue">邮件原件</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:blue">-----</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<span style="color:blue">> > </span></span><span lang="ZH-CN" style="font-size:11.0pt;color:blue">发件人</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:blue">: Heng Luo <<a href="mailto:heng.luo@intel.com">heng.luo@intel.com</a>></span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<span style="color:blue">> > </span></span><span lang="ZH-CN" style="font-size:11.0pt;color:blue">发送时间</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:blue">: 2020</span><span lang="ZH-CN" style="font-size:11.0pt;color:blue">年</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:blue">11</span><span lang="ZH-CN" style="font-size:11.0pt;color:blue">月</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:blue">16</span><span lang="ZH-CN" style="font-size:11.0pt;color:blue">日</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:blue"> 9:31</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<span style="color:blue">> > </span></span><span lang="ZH-CN" style="font-size:11.0pt;color:blue">收件人</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:blue">: <a href="mailto:devel@edk2.groups.io">devel@edk2.groups.io</a></span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<span style="color:blue">> > </span></span><span lang="ZH-CN" style="font-size:11.0pt;color:blue">抄送</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:blue">: Eric Dong <<a href="mailto:eric.dong@intel.com">eric.dong@intel.com</a>>; Chasel Chiu</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<span style="color:blue">> > <<a href="mailto:chasel.chiu@intel.com">chasel.chiu@intel.com</a>>; Nate DeSimone</span><br>
<span style="color:blue">> > <<a href="mailto:nathaniel.l.desimone@intel.com">nathaniel.l.desimone@intel.com</a>>; Liming Gao</span><br>
<span style="color:blue">> > <<a href="mailto:gaoliming@byosoft.com.cn">gaoliming@byosoft.com.cn</a>></span><br>
<span style="color:blue">> > </span></span><span lang="ZH-CN" style="font-size:11.0pt;color:blue">主题</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:blue">: [Patch V7 3/3] MinPlatformPkg: Add SerialPortTerminalLib to suport</span><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"><br>
<span style="color:blue">> > Serial Terminal feature</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > REF: <a href="https://bugzilla.tianocore.org/show_bug.cgi?id=3014">https://bugzilla.tianocore.org/show_bug.cgi?id=3014</a></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > 1. Add SerialPortTerminalLib to MinPlatformPkg/Library.</span><br>
<span style="color:blue">> > 2. Add SerialPortTerminalLib to BdsDxe driver, to add the serial device to</span><br>
<span style="color:blue">> >   ConIn and ConOut variables</span><br>
<span style="color:blue">> > 3. Include SerialDxe and TerminalDxe to CoreDxeInclude.dsc and</span><br>
<span style="color:blue">> >   CoreUefiBootInclude.fdf.</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > Cc: Eric Dong <<a href="mailto:eric.dong@intel.com">eric.dong@intel.com</a>></span><br>
<span style="color:blue">> > Cc: Chasel Chiu <<a href="mailto:chasel.chiu@intel.com">chasel.chiu@intel.com</a>></span><br>
<span style="color:blue">> > Cc: Nate DeSimone <<a href="mailto:nathaniel.l.desimone@intel.com">nathaniel.l.desimone@intel.com</a>></span><br>
<span style="color:blue">> > Cc: Liming Gao <<a href="mailto:gaoliming@byosoft.com.cn">gaoliming@byosoft.com.cn</a>></span><br>
<span style="color:blue">> > Signed-off-by: Heng Luo <<a href="mailto:heng.luo@intel.com">heng.luo@intel.com</a>></span><br>
<span style="color:blue">> > ---</span><br>
<span style="color:blue">> >  Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeInclude.dsc</span><br>
<span style="color:green">> > |  15 +++++++++++++--</span><br>
<span style="color:blue">> >  Platform/Intel/MinPlatformPkg/Include/Fdf/CoreUefiBootInclude.fdf</span><br>
<span style="color:green">> > |   8 +++++++-</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTerm</span><br>
<span style="color:purple">> i</span><br>
<span style="color:blue">> > nalLib.c   | 102</span><br>
<span style="color:blue">> > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</span><br>
<span style="color:blue">> > ++++++++++++++++++++++++++++++++++++++++</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTerm</span><br>
<span style="color:purple">> i</span><br>
<span style="color:blue">> > nalLib.h   |  34 ++++++++++++++++++++++++++++++++++</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTerm</span><br>
<span style="color:purple">> i</span><br>
<span style="color:blue">> > nalLib.inf |  40 ++++++++++++++++++++++++++++++++++++++++</span><br>
<span style="color:blue">> >  5 files changed, 196 insertions(+), 3 deletions(-)</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > diff --git</span><br>
<span style="color:blue">> > a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeInclude.dsc</span><br>
<span style="color:blue">> > b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeInclude.dsc</span><br>
<span style="color:blue">> > index f0e578f8cc..1038a29c5c 100644</span><br>
<span style="color:blue">> > --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeInclude.dsc</span><br>
<span style="color:blue">> > +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeInclude.dsc</span><br>
<span style="color:blue">> > @@ -1,7 +1,7 @@</span><br>
<span style="color:blue">> >  ## @file</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  #  Platform description.</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  #</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > -# Copyright (c) 2017 - 2019, Intel Corporation. All rights</span><br>
<span style="color:blue">> > reserved.<BR></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +# Copyright (c) 2017 - 2020, Intel Corporation. All rights</span><br>
<span style="color:blue">> > +reserved.<BR></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  #</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  # SPDX-License-Identifier: BSD-2-Clause-Patent</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  #</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > @@ -46,7 +46,18 @@</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCount</span><br>
<span style="color:purple">> e</span><br>
<span style="color:blue">> > rRuntimeDxe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > -  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    <LibraryClasses></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +!if gMinPlatformPkgTokenSpaceGuid.PcdSerialTerminalEnable == TRUE</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> > NULL|MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTerminalLi</span><br>
<span style="color:blue">> > NULL|b.in</span><br>
<span style="color:blue">> > f</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +!endif</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  }</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +!if gMinPlatformPkgTokenSpaceGuid.PcdSerialTerminalEnable == TRUE</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +!endif</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerD</span><br>
<span style="color:blue">> > xe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >    MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >      <LibraryClasses></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > diff --git</span><br>
<span style="color:blue">> > a/Platform/Intel/MinPlatformPkg/Include/Fdf/CoreUefiBootInclude.fdf</span><br>
<span style="color:blue">> > b/Platform/Intel/MinPlatformPkg/Include/Fdf/CoreUefiBootInclude.fdf</span><br>
<span style="color:blue">> > index 7859c0b1a5..ef4576eedf 100644</span><br>
<span style="color:blue">> > ---</span><br>
<span style="color:blue">> > a/Platform/Intel/MinPlatformPkg/Include/Fdf/CoreUefiBootInclude.fdf</span><br>
<span style="color:blue">> > +++ b/Platform/Intel/MinPlatformPkg/Include/Fdf/CoreUefiBootInclude.fd</span><br>
<span style="color:blue">> > +++ f</span><br>
<span style="color:blue">> > @@ -1,7 +1,7 @@</span><br>
<span style="color:blue">> >  ## @file</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  #  FDF file of Platform.</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  #</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > -# Copyright (c) 2017 - 2019, Intel Corporation. All rights</span><br>
<span style="color:blue">> > reserved.<BR></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +# Copyright (c) 2017 - 2020, Intel Corporation. All rights</span><br>
<span style="color:blue">> > +reserved.<BR></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  #</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  # SPDX-License-Identifier: BSD-2-Clause-Patent</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  #</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > @@ -26,6 +26,12 @@ INF</span><br>
<span style="color:blue">> > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf</span><br>
<span style="color:blue">> >  INF</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCount</span><br>
<span style="color:purple">> e</span><br>
<span style="color:blue">> > rRuntimeDxe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  INF  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +!if gMinPlatformPkgTokenSpaceGuid.PcdSerialTerminalEnable == TRUE</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +INF  MdeModulePkg/Universal/SerialDxe/SerialDxe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +INF  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +!endif</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  INF</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerD</span><br>
<span style="color:blue">> > xe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> >  INF</span><br>
<span style="color:blue">> > MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > diff --git</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> a/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer</span><br>
<span style="color:blue">> > minalLib.c</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer</span><br>
<span style="color:blue">> > minalLib.c</span><br>
<span style="color:blue">> > new file mode 100644</span><br>
<span style="color:blue">> > index 0000000000..66e8ee018b</span><br>
<span style="color:blue">> > --- /dev/null</span><br>
<span style="color:blue">> > +++</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer</span><br>
<span style="color:blue">> > minalLib.c</span><br>
<span style="color:blue">> > @@ -0,0 +1,102 @@</span><br>
<span style="color:blue">> > +/** @file</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  Main file for NULL named library for Serial Port Terminal</span><br>
<span style="color:blue">> > + Redirection</span><br>
<span style="color:blue">> > library.</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  SPDX-License-Identifier: BSD-2-Clause-Patent</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +**/</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#include "SerialPortTerminalLib.h"</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +GLOBAL_REMOVE_IF_UNREFERENCED SERIAL_DEVICE_PATH</span><br>
<span style="color:blue">> > mSerialDevicePath = {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      HARDWARE_DEVICE_PATH,</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      HW_VENDOR_DP,</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +        (UINT8) sizeof (VENDOR_DEVICE_PATH),</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +        (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      }</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    },</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    EDKII_SERIAL_PORT_LIB_VENDOR_GUID</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  },</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      MESSAGING_DEVICE_PATH,</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      MSG_UART_DP,</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +        (UINT8) sizeof (UART_DEVICE_PATH),</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +        (UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8)</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      }</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    },</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    0,                  // Reserved</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    0,                  // BaudRate</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    0,                  // DataBits</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    0,                  // Parity</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    0                   // StopBits</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  },</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      MESSAGING_DEVICE_PATH,</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      MSG_VENDOR_DP,</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +        (UINT8) (sizeof (VENDOR_DEVICE_PATH)),</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +        (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8),</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      }</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    },</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    DEVICE_PATH_MESSAGING_PC_ANSI</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  },</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  gEndEntire</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +};</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +/**</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  Updates the ConOut, ConIn, ErrOut variables with the serial</span><br>
<span style="color:blue">> > + terminal</span><br>
<span style="color:blue">> > device path</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  @param                        none</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  @retval                       none</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +**/</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +VOID</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +AddSerialTerminal (</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  VOID</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  )</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +{</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  DEBUG ((DEBUG_INFO, "[AddSerialPortTerminal]\n"));</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  //</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  // Append Serial Terminal into "ConIn"</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  //</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  EfiBootManagerUpdateConsoleVariable (ConOut,</span><br>
<span style="color:blue">> > (EFI_DEVICE_PATH_PROTOCOL *) &mSerialDevicePath, NULL);</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  EfiBootManagerUpdateConsoleVariable (ConIn,</span><br>
<span style="color:blue">> > (EFI_DEVICE_PATH_PROTOCOL *) &mSerialDevicePath, NULL);</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  EfiBootManagerUpdateConsoleVariable (ErrOut,</span><br>
<span style="color:blue">> > (EFI_DEVICE_PATH_PROTOCOL *) &mSerialDevicePath, NULL);</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +}</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +/**</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  Constructor for the Serial Port Device controller library.</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  @param ImageHandle    the image handle of the process</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  @param SystemTable    the EFI System Table pointer</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  @retval EFI_SUCCESS        the shell command handlers were</span><br>
<span style="color:blue">> > installed sucessfully</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  @retval EFI_UNSUPPORTED    the shell level required was not found.</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +**/</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +EFI_STATUS</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +EFIAPI</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +SerialPortTerminalLibConstructor (</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  IN EFI_HANDLE        ImageHandle,</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  IN EFI_SYSTEM_TABLE  *SystemTable</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  )</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +{</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  mSerialDevicePath.Uart.BaudRate = PcdGet64(PcdUartDefaultBaudRate);</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  mSerialDevicePath.Uart.DataBits = PcdGet8(PcdUartDefaultDataBits);</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  mSerialDevicePath.Uart.Parity   = PcdGet8(PcdUartDefaultParity);</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  mSerialDevicePath.Uart.StopBits = PcdGet8(PcdUartDefaultStopBits);</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  DEBUG ((DEBUG_INFO, "[SerialPortTerminalLibConstructor]</span><br>
<span style="color:blue">> > [%d, %d, %d, %d]\n",</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      mSerialDevicePath.Uart.BaudRate,</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      mSerialDevicePath.Uart.DataBits,</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      mSerialDevicePath.Uart.Parity,</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +      mSerialDevicePath.Uart.StopBits));</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  AddSerialTerminal();</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  return EFI_SUCCESS;</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +}</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > diff --git</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> a/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer</span><br>
<span style="color:blue">> > minalLib.h</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer</span><br>
<span style="color:blue">> > minalLib.h</span><br>
<span style="color:blue">> > new file mode 100644</span><br>
<span style="color:blue">> > index 0000000000..bfa73cca7d</span><br>
<span style="color:blue">> > --- /dev/null</span><br>
<span style="color:blue">> > +++</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer</span><br>
<span style="color:blue">> > minalLib.h</span><br>
<span style="color:blue">> > @@ -0,0 +1,34 @@</span><br>
<span style="color:blue">> > +/** @file</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  Header file for NULL named library for for Serial Port Terminal</span><br>
<span style="color:purple">> Redirection</span><br>
<span style="color:blue">> > library.</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  Copyright (c) 2020, Intel Corporation. All rights reserved.<BR></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  SPDX-License-Identifier: BSD-2-Clause-Patent</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +**/</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#ifndef _SERIAL_PORT_TERMINAL_LIB_H_</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#define _SERIAL_PORT_TERMINAL_LIB_H_</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#include <Uefi.h></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#include <Guid/SerialPortLibVendor.h></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#include <Library/UefiLib.h></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#include <Library/DevicePathLib.h></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#include <Library/DebugLib.h></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#include <Library/UefiBootManagerLib.h></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +//</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +// Below is the platform console device path</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +//</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +typedef struct {</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  VENDOR_DEVICE_PATH        Guid;</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  UART_DEVICE_PATH          Uart;</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  VENDOR_DEVICE_PATH        TerminalType;</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  EFI_DEVICE_PATH_PROTOCOL  End;</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +} SERIAL_DEVICE_PATH;</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#define gEndEntire \</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  { \</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +    END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE,</span><br>
<span style="color:blue">> > { END_DEVICE_PATH_LENGTH, 0 } \</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  }</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#endif</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > diff --git</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> a/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer</span><br>
<span style="color:blue">> > minalLib.inf</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer</span><br>
<span style="color:blue">> > minalLib.inf</span><br>
<span style="color:blue">> > new file mode 100644</span><br>
<span style="color:blue">> > index 0000000000..2d95fe79f2</span><br>
<span style="color:blue">> > --- /dev/null</span><br>
<span style="color:blue">> > +++</span><br>
<span style="color:blue">> ></span><br>
<span style="color:purple">> b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer</span><br>
<span style="color:blue">> > minalLib.inf</span><br>
<span style="color:blue">> > @@ -0,0 +1,40 @@</span><br>
<span style="color:blue">> > +## @file</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +# Component information file for Serial Port Terminal Redirection</span><br>
<span style="color:blue">> > +Library</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +# INTEL CONFIDENTIAL</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR></span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +# SPDX-License-Identifier: BSD-2-Clause-Patent</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +#</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +##</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +[Defines]</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  INF_VERSION                    = 0x00010006</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  BASE_NAME                      = SerialPortTerminalLib</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  FILE_GUID                      =</span><br>
<span style="color:blue">> > E12BFA46-95F2-4ADC-9774-7E38DE78741E</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  MODULE_TYPE                    = UEFI_DRIVER</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  VERSION_STRING                 = 1.2</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  LIBRARY_CLASS                  = NULL|UEFI_DRIVER DXE_DRIVER</span><br>
<span style="color:blue">> > DXE_RUNTIME_DRIVER</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  CONSTRUCTOR                    =</span><br>
<span style="color:blue">> > SerialPortTerminalLibConstructor</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +[Packages]</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  MdePkg/MdePkg.dec</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  MdeModulePkg/MdeModulePkg.dec</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  BoardModulePkg/BoardModulePkg.dec</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  MinPlatformPkg/MinPlatformPkg.dec</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +[Sources]</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  SerialPortTerminalLib.c</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  SerialPortTerminalLib.h</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +[LibraryClasses]</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  DevicePathLib</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  DebugLib</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  UefiDriverEntryPoint</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  UefiBootManagerLib</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  UefiLib</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +[Pcd]</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > +  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits</span><br>
<span style="color:blue">> ></span><br>
<span style="color:blue">> > --</span><br>
<span style="color:blue">> > 2.24.0.windows.2</span><br>
<span style="color:purple">> </span><br>
<span style="color:purple">> </span><br>
<span style="color:purple">> </span><br>
<span style="color:purple">> </span><br>
<span style="color:purple">> </span><br>
<span style="color:purple">> </span><br>
<span style="color:purple">> </span><o:p></o:p></span></p>
</div>
</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/67869">View/Reply Online (#67869)</a> |    |  <a target="_blank" href="https://groups.io/mt/78309364/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>