From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com []) by mx.groups.io with SMTP id smtpd.web09.13425.1605396896840050993 for ; Sat, 14 Nov 2020 15:34:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=KDmfnCD3; spf=fail (domain: intel.com, ip: , mailfrom: nathaniel.l.desimone@intel.com) IronPort-SDR: W9o5te38LA7antcusAJTlMLabPxvwWnABkVW/k+8pEpx38H7ALrgO7zuiAoHgzHscbqXhvwHj5 rs7rHEzYylzA== X-IronPort-AV: E=McAfee;i="6000,8403,9805"; a="255315032" X-IronPort-AV: E=Sophos;i="5.77,479,1596524400"; d="scan'208";a="255315032" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2020 15:34:52 -0800 IronPort-SDR: 7HcT4yRnRQzDO8KEF/6wyQtkveg8vv35XGv2pzpS942ueyqyjZTDGYxPf0S8IKUsjiZ9L6pErH cdLxscgHeHCw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,479,1596524400"; d="scan'208";a="357991751" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga004.fm.intel.com with ESMTP; 14 Nov 2020 15:34:52 -0800 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sat, 14 Nov 2020 15:34:52 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sat, 14 Nov 2020 15:34:51 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Sat, 14 Nov 2020 15:34:51 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.177) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Sat, 14 Nov 2020 15:34:51 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VFVN8A59VbW6PiG9kbtjOMJgFwI/2B8mpTMUj6tmbwLB0/1aUJc0jBtqB/ueKCTZtcX3EWIb46ux2o+YI9NfR9UhO9JHeKlZguLpk9kDm9fkV9gvUF/beSds3S080jitlbpCqBrdFThTGU3+GiryPcFuae36+64S8y5+fsQSHa5Jv08cqhTg3OOwFeinfitxp+UbkOuWlszQvtxsPrSJ0rFZFBOQA1yi/62TK9JaLm9v+1ZLlR523m70fy7IncrXm/FxtP5jaL72FlV4u6vMtQ+Q9e43sOtqrWmGgTjwvxsuehhbt9CVZnUiyeqpQOoKKxTJNrSs0YCtk8pYK48fWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6/xmiHHtiOkRt4zHCWlse/7MTG147T4GtM8RMwDcnC0=; b=TrL3DvToIUNHN1jg8/0VsVijan0DOSBAImjkhCvVVC2+7DrDQ5Ex16HhdwEcuV1sMLOfuhpMRBZBtSS1iU6JN8Lr/+VD4VEAhUUhO5o8gOiXP3GKgYp6Sqy+G7fgnCovk6zQqf9VqzOxeIqZp2xUsoY/tOZ2j8Xgm4iIx4OyyxSRu+tSp791u50YTKNThgRh3ROToGI936heovVM9DPuO7F1AjLeTLWQXgx8UfXB5DZe08vkKC+txsVuMfK1IB2Od5IGlnooAJwa87fd0Eu4xf6wAjDXjEBDMqoprzePko1Kgdn/QdC0hSTDgbovBsPAbo1GcQrGFb9UcWC96n4fHA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6/xmiHHtiOkRt4zHCWlse/7MTG147T4GtM8RMwDcnC0=; b=KDmfnCD3Coz+Bxr2ocqWFvvtELctMmnNhy9NkeO8xMG3/VW2saiqcN/Kue1fHbSvHI22mdmiieu0ug1hGkWW3GIpHlhnsT+qr+SY0YKvosrHtJ/bm7x7DyjRCFStqxJpv1aTNwu+HwITsWvI973pSfhs1Oyz1mrFSPVctP6Kjiw= Received: from MWHPR1101MB2160.namprd11.prod.outlook.com (2603:10b6:301:5b::12) by MWHPR11MB0014.namprd11.prod.outlook.com (2603:10b6:301:64::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.25; Sat, 14 Nov 2020 23:34:50 +0000 Received: from MWHPR1101MB2160.namprd11.prod.outlook.com ([fe80::3161:c00f:c5c5:f710]) by MWHPR1101MB2160.namprd11.prod.outlook.com ([fe80::3161:c00f:c5c5:f710%8]) with mapi id 15.20.3564.028; Sat, 14 Nov 2020 23:34:50 +0000 From: "Nate DeSimone" To: "Luo, Heng" , "devel@edk2.groups.io" CC: "Dong, Eric" , "Chiu, Chasel" , Liming Gao Subject: Re: [Patch V6 3/3] MinPlatformPkg: Add SerialPortTerminalLib to suport Serial Terminal feature Thread-Topic: [Patch V6 3/3] MinPlatformPkg: Add SerialPortTerminalLib to suport Serial Terminal feature Thread-Index: AQHWuKALswl+CGEIPUmFNSI6nWkTDanGrUBA Date: Sat, 14 Nov 2020 23:34:50 +0000 Message-ID: References: <20201112030031.1481-1-heng.luo@intel.com> <20201112030031.1481-3-heng.luo@intel.com> In-Reply-To: <20201112030031.1481-3-heng.luo@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [50.53.190.176] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: de5e55cc-d24a-4756-b449-08d888f5e1b6 x-ms-traffictypediagnostic: MWHPR11MB0014: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ecD6qv0SxI4JRidKu1aTSCiJ7M11kNOTsb5vH4APDdwyDc/2ayoaigynK5G1EBxgGuJs5z5VeYq7Hx2QMtFcpXwnR1hANCJQUAQ3lceNXX2p9aZOKLcoNn1y/V6y30U0V96SHPj6eh9SgUeTi9nrqYWoqzuGfR8uC5mXGwjbSegkzj8H+hiDYcFZZnfLWVV6iUg2bBx8JrkFeqtLqqSyp9VoFhw4/Sya09auo1l8HQbkvsZPNgQKmfsovFkheQc40t+GAuXxZFr5XTkmm7yQJFhkyLuPWZhrJTefnv30EfdIKiXkdTYgDZ57EPxBVzTekvjFB2XAhT76kKhXSDC4SjVScySCVmqPn2hQfIbrOZ7zcXKmru1bXFSILi/99aPOClvWLLuKWZplmq264sjdIg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR1101MB2160.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(396003)(376002)(39860400002)(136003)(346002)(8936002)(9686003)(52536014)(55016002)(86362001)(316002)(76116006)(8676002)(5660300002)(30864003)(66946007)(64756008)(66446008)(71200400001)(4326008)(66556008)(66476007)(83380400001)(7696005)(54906003)(2906002)(110136005)(6506007)(53546011)(966005)(478600001)(33656002)(26005)(186003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: lkKnqQWs3D6H23tMYKmAC9R27pAX0D5rPFfRsMkE8JitV9bJH1xqSLzA3GWVCTyRLUcfbttCZJvvgg9aEtlPsWlEZYg+I1s2zcFB51qSayrWeTabpjTnjtr4R92uaBMno+U/NkwdeaLU81naowJiLsiL+MLI2BU4cIOZhp0yK0xI1Xj/TiH7tkgi+NfL37mCqE9/FsEggE9dKlRFqqeAKcbioU8MBkrGeBlIM4K6FHUfTNk+yqkKAjklHwzHZGq4E4K4Hd/BLWI0LlALYMCdqcSRtZmM1ebT95GWob6AQvhLIbk1XPlUTH6BzY5eUifzPHg7bjfHBrSyeg9QqMbjOZYKNlH2CZhInvqvvfpa7YMKG3IuudPMUTgQKckC8sLoNBPwRY+b3D63uAZiKcfTYu6m4b+mUwgwOqtWeyOtzu8s0XLfVbTD2Su0/ryghdVyVL8sabrNK6I+3lvVOszAao175i4RVG7P7BuoPMir+mu8OHhtFryhUUYRoBcjoXzO+dAusjpuf3WO57SAArKCdTjd1Mkx5ZmQxr+tBx4gSkTjFwswu6pa1C/mvrlCKCNc4iFxspz4dYLbGq8pMMB+LN2kPk3OuvlVy1EIauExj5PxbuIQsyfL3XjDzBC9NXo5eIKPuEYw/yz+wwOlupnko3oRkON0NeaJVEGINfRt49JU+xtl7POZXsCe4uJUT1ZABYL2uLlfdKA1KRMbepsXKwlyW2qu3NmmYYS1BdlUGGDG6qsHEYqh5LmfeizInR3c2/NOJXS3i7BqGTl4F3u4k/u9jVU//v70deaMrn/bJf0MalvWDWwDw0XYDnvIehQj7j4RSEIl8DGu1cKZBNDLZAPLP8tykPPGcDLxsa4yNMR5JjLrQ/hbqzxHdojJ7hHSj1q7bzzHBbSRBM+bVW86Mw== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR1101MB2160.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: de5e55cc-d24a-4756-b449-08d888f5e1b6 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2020 23:34:50.5588 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: or3pdm/dMQeAvjIMkW62qyIzg+rtSOV+3cVYeD1fR0VUjPtwkccNpBrrhiuIYNyK+wwl4zZCmzAMzPJdd9OpFszdiA0nxR85rHJ7cAwQxmI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR11MB0014 Return-Path: nathaniel.l.desimone@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Heng, There is a bug in this code. You need to change SerialTerminalFeaturePkg/Li= brary/SerialPortTerminalLib/SerialPortTerminalLib.inf to MinPlatformPkg/Lib= rary/SerialPortTerminalLib/SerialPortTerminalLib.inf Other than that, look's good! Thanks, Nate On 11/11/20, 7:01 PM, Luo, Heng wrote: >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3014 >=20 > 1. Add SerialPortTerminalLib to MinPlatformPkg/Library. > 2. Add SerialPortTerminalLib to BdsDxe driver, to add the serial device t= o > ConIn and ConOut variables > 3. Include SerialDxe and TerminalDxe to CoreDxeInclude.dsc and > CoreUefiBootInclude.fdf. >=20 > Cc: Eric Dong > Cc: Chasel Chiu > Cc: Nate DeSimone > Cc: Liming Gao > Signed-off-by: Heng Luo > --- > Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeInclude.dsc > | 15 +++++++++++++-- > Platform/Intel/MinPlatformPkg/Include/Fdf/CoreUefiBootInclude.fdf > | 8 +++++++- >=20 > Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer > minalLib.c | 102 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++++++++++++++++++++++++++++++++++ >=20 > Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer > minalLib.h | 34 ++++++++++++++++++++++++++++++++++ >=20 > Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortTer > minalLib.inf | 40 ++++++++++++++++++++++++++++++++++++++++ > 5 files changed, 196 insertions(+), 3 deletions(-) >=20 > diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeInclude.dsc > b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeInclude.dsc > index f0e578f8cc..86bf5e6f22 100644 > --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeInclude.dsc > +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreDxeInclude.dsc > @@ -1,7 +1,7 @@ > ## @file >=20 > # Platform description. >=20 > # >=20 > -# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
>=20 > +# Copyright (c) 2017 - 2020, Intel Corporation. All rights reserved.
>=20 > # >=20 > # SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > # >=20 > @@ -46,7 +46,18 @@ >=20 >=20 >=20 > MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCoun > terRuntimeDxe.inf >=20 >=20 >=20 > - MdeModulePkg/Universal/BdsDxe/BdsDxe.inf >=20 > + MdeModulePkg/Universal/BdsDxe/BdsDxe.inf { >=20 > + >=20 > +!if gMinPlatformPkgTokenSpaceGuid.PcdSerialTerminalEnable =3D=3D TRUE >=20 > + > NULL|SerialTerminalFeaturePkg/Library/SerialPortTerminalLib/SerialPortTer > minalLib.inf This is the bug, please change to MinPlatformPkg/Library/SerialPortTerminal= Lib/SerialPortTerminalLib.inf >=20 > +!endif >=20 > + } >=20 > + >=20 > +!if gMinPlatformPkgTokenSpaceGuid.PcdSerialTerminalEnable =3D=3D TRUE >=20 > + MdeModulePkg/Universal/SerialDxe/SerialDxe.inf >=20 > + MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf >=20 > +!endif >=20 > + >=20 >=20 > MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManager > Dxe.inf >=20 > MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf { >=20 > >=20 > diff --git > a/Platform/Intel/MinPlatformPkg/Include/Fdf/CoreUefiBootInclude.fdf > b/Platform/Intel/MinPlatformPkg/Include/Fdf/CoreUefiBootInclude.fdf > index 7859c0b1a5..ef4576eedf 100644 > --- a/Platform/Intel/MinPlatformPkg/Include/Fdf/CoreUefiBootInclude.fdf > +++ b/Platform/Intel/MinPlatformPkg/Include/Fdf/CoreUefiBootInclude.fdf > @@ -1,7 +1,7 @@ > ## @file >=20 > # FDF file of Platform. >=20 > # >=20 > -# Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.
>=20 > +# Copyright (c) 2017 - 2020, Intel Corporation. All rights reserved.
>=20 > # >=20 > # SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > # >=20 > @@ -26,6 +26,12 @@ INF > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf > INF > MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCoun > terRuntimeDxe.inf >=20 >=20 >=20 > INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf >=20 > + >=20 > +!if gMinPlatformPkgTokenSpaceGuid.PcdSerialTerminalEnable =3D=3D TRUE >=20 > +INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf >=20 > +INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf >=20 > +!endif >=20 > + >=20 > INF > MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManager > Dxe.inf >=20 > INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf >=20 > INF > MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf >=20 > diff --git > a/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortT= e > rminalLib.c > b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortT= e > rminalLib.c > new file mode 100644 > index 0000000000..94de475173 > --- /dev/null > +++ > b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortT= e > rminalLib.c > @@ -0,0 +1,102 @@ > +/** @file >=20 > + Main file for NULL named library for Serial Port Terminal Redirection = library. >=20 > + >=20 > + Copyright (c) 2020, Intel Corporation. All rights reserved.
>=20 > + SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > + >=20 > +**/ >=20 > + >=20 > +#include "SerialPortTerminalLib.h" >=20 > + >=20 > +GLOBAL_REMOVE_IF_UNREFERENCED SERIAL_DEVICE_PATH > mSerialDevicePath =3D { >=20 > + { >=20 > + { >=20 > + HARDWARE_DEVICE_PATH, >=20 > + HW_VENDOR_DP, >=20 > + { >=20 > + (UINT8) sizeof (VENDOR_DEVICE_PATH), >=20 > + (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8) >=20 > + } >=20 > + }, >=20 > + EDKII_SERIAL_PORT_LIB_VENDOR_GUID >=20 > + }, >=20 > + { >=20 > + { >=20 > + MESSAGING_DEVICE_PATH, >=20 > + MSG_UART_DP, >=20 > + { >=20 > + (UINT8) sizeof (UART_DEVICE_PATH), >=20 > + (UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8) >=20 > + } >=20 > + }, >=20 > + 0, // Reserved >=20 > + 0, // BaudRate >=20 > + 0, // DataBits >=20 > + 0, // Parity >=20 > + 0 // StopBits >=20 > + }, >=20 > + { >=20 > + { >=20 > + MESSAGING_DEVICE_PATH, >=20 > + MSG_VENDOR_DP, >=20 > + { >=20 > + (UINT8) (sizeof (VENDOR_DEVICE_PATH)), >=20 > + (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8), >=20 > + } >=20 > + }, >=20 > + DEVICE_PATH_MESSAGING_PC_ANSI >=20 > + }, >=20 > + gEndEntire >=20 > +}; >=20 > + >=20 > +/** >=20 > + Updates the ConOut, ConIn, ErrOut variables with the serial terminal > device path >=20 > + @param none >=20 > + @retval none >=20 > +**/ >=20 > +VOID >=20 > +AddSerialTerminal ( >=20 > + VOID >=20 > + ) >=20 > +{ >=20 > + DEBUG ((DEBUG_INFO, "[AddSerialPortTerminal]\n")); >=20 > + >=20 > + // >=20 > + // Append Serial Terminal into "ConIn" >=20 > + // >=20 > + EfiBootManagerUpdateConsoleVariable (ConOut, > (EFI_DEVICE_PATH_PROTOCOL *) &mSerialDevicePath, NULL); >=20 > + EfiBootManagerUpdateConsoleVariable (ConIn, > (EFI_DEVICE_PATH_PROTOCOL *) &mSerialDevicePath, NULL); >=20 > + EfiBootManagerUpdateConsoleVariable (ErrOut, > (EFI_DEVICE_PATH_PROTOCOL *) &mSerialDevicePath, NULL); >=20 > +} >=20 > + >=20 > + >=20 > +/** >=20 > + Constructor for the Serial Port Device controller library. >=20 > + >=20 > + @param ImageHandle the image handle of the process >=20 > + @param SystemTable the EFI System Table pointer >=20 > + >=20 > + @retval EFI_SUCCESS the shell command handlers were installed > sucessfully >=20 > + @retval EFI_UNSUPPORTED the shell level required was not found. >=20 > +**/ >=20 > +EFI_STATUS >=20 > +EFIAPI >=20 > +SerialPortTerminalLibConstructor ( >=20 > + IN EFI_HANDLE ImageHandle, >=20 > + IN EFI_SYSTEM_TABLE *SystemTable >=20 > + ) >=20 > +{ >=20 > + mSerialDevicePath.Uart.BaudRate =3D > PcdGet64(PcdSerialTerminalBaudRate); >=20 > + mSerialDevicePath.Uart.DataBits =3D PcdGet8(PcdSerialTerminalDataBits)= ; >=20 > + mSerialDevicePath.Uart.Parity =3D PcdGet8(PcdSerialTerminalParity); >=20 > + mSerialDevicePath.Uart.StopBits =3D PcdGet8(PcdSerialTerminalStopBits)= ; >=20 > + DEBUG ((DEBUG_INFO, "[SerialPortTerminalLibConstructor] [%d, %d, %d, > %d]\n", >=20 > + mSerialDevicePath.Uart.BaudRate, >=20 > + mSerialDevicePath.Uart.DataBits, >=20 > + mSerialDevicePath.Uart.Parity, >=20 > + mSerialDevicePath.Uart.StopBits)); >=20 > + >=20 > + AddSerialTerminal(); >=20 > + >=20 > + return EFI_SUCCESS; >=20 > +} >=20 > diff --git > a/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortT= e > rminalLib.h > b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortT= e > rminalLib.h > new file mode 100644 > index 0000000000..bfa73cca7d > --- /dev/null > +++ > b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortT= e > rminalLib.h > @@ -0,0 +1,34 @@ > +/** @file >=20 > + Header file for NULL named library for for Serial Port Terminal Redire= ction > library. >=20 > + >=20 > + Copyright (c) 2020, Intel Corporation. All rights reserved.
>=20 > + SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > + >=20 > +**/ >=20 > + >=20 > +#ifndef _SERIAL_PORT_TERMINAL_LIB_H_ >=20 > +#define _SERIAL_PORT_TERMINAL_LIB_H_ >=20 > + >=20 > +#include >=20 > +#include >=20 > +#include >=20 > +#include >=20 > +#include >=20 > +#include >=20 > + >=20 > +// >=20 > +// Below is the platform console device path >=20 > +// >=20 > +typedef struct { >=20 > + VENDOR_DEVICE_PATH Guid; >=20 > + UART_DEVICE_PATH Uart; >=20 > + VENDOR_DEVICE_PATH TerminalType; >=20 > + EFI_DEVICE_PATH_PROTOCOL End; >=20 > +} SERIAL_DEVICE_PATH; >=20 > + >=20 > +#define gEndEntire \ >=20 > + { \ >=20 > + END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, { > END_DEVICE_PATH_LENGTH, 0 } \ >=20 > + } >=20 > + >=20 > +#endif >=20 > diff --git > a/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortT= e > rminalLib.inf > b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortT= e > rminalLib.inf > new file mode 100644 > index 0000000000..2667ec6d19 > --- /dev/null > +++ > b/Platform/Intel/MinPlatformPkg/Library/SerialPortTerminalLib/SerialPortT= e > rminalLib.inf > @@ -0,0 +1,40 @@ > +## @file >=20 > +# Component information file for Serial Port Terminal Redirection Librar= y >=20 > +# >=20 > +# INTEL CONFIDENTIAL >=20 > +# Copyright (c) 2020, Intel Corporation. All rights reserved.
>=20 > +# >=20 > +# SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > +# >=20 > +## >=20 > +[Defines] >=20 > + INF_VERSION =3D 0x00010006 >=20 > + BASE_NAME =3D SerialPortTerminalLib >=20 > + FILE_GUID =3D E12BFA46-95F2-4ADC-9774-7E38DE78741= E >=20 > + MODULE_TYPE =3D UEFI_DRIVER >=20 > + VERSION_STRING =3D 1.2 >=20 > + LIBRARY_CLASS =3D NULL|UEFI_DRIVER DXE_DRIVER > DXE_RUNTIME_DRIVER >=20 > + CONSTRUCTOR =3D SerialPortTerminalLibConstructor >=20 > + >=20 > +[Packages] >=20 > + MdePkg/MdePkg.dec >=20 > + MdeModulePkg/MdeModulePkg.dec >=20 > + BoardModulePkg/BoardModulePkg.dec >=20 > + MinPlatformPkg/MinPlatformPkg.dec >=20 > + >=20 > +[Sources] >=20 > + SerialPortTerminalLib.c >=20 > + SerialPortTerminalLib.h >=20 > + >=20 > +[LibraryClasses] >=20 > + DevicePathLib >=20 > + DebugLib >=20 > + UefiDriverEntryPoint >=20 > + UefiBootManagerLib >=20 > + UefiLib >=20 > + >=20 > +[Pcd] >=20 > + gEfiMdePkgTokenSpaceGuid.PcdSerialTerminalBaudRate >=20 > + gEfiMdePkgTokenSpaceGuid.PcdSerialTerminalDataBits >=20 > + gEfiMdePkgTokenSpaceGuid.PcdSerialTerminalParity >=20 > + gEfiMdePkgTokenSpaceGuid.PcdSerialTerminalStopBits >=20 > -- > 2.24.0.windows.2