<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>