From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web10.3696.1576625131945462128 for ; Tue, 17 Dec 2019 15:25:32 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: guo.dong@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Dec 2019 15:25:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.69,327,1571727600"; d="scan'208";a="209880636" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga008.jf.intel.com with ESMTP; 17 Dec 2019 15:25:31 -0800 Received: from fmsmsx120.amr.corp.intel.com ([169.254.15.173]) by FMSMSX103.amr.corp.intel.com ([169.254.2.119]) with mapi id 14.03.0439.000; Tue, 17 Dec 2019 15:25:30 -0800 From: "Guo Dong" To: "Ma, Maurice" CC: "You, Benjamin" , "u14935@gmail.com" , "devel@edk2.groups.io" Subject: Re: [edk2-devel] [PATCH] UefiPayloadPkg/BootManager: Add PS2 keyboard support Thread-Topic: [edk2-devel] [PATCH] UefiPayloadPkg/BootManager: Add PS2 keyboard support Thread-Index: AQHVr67ZJPX0lJdlG0eIEt7dqQ7jUKe/ht0A//979aA= Date: Tue, 17 Dec 2019 23:25:30 +0000 Message-ID: <0DE6ECBAEEB99B4DA9564FF580F3580A4B6085CE@fmsmsx120.amr.corp.intel.com> References: <20191210230851.17712-1-guo.dong@intel.com> <7AAC936950815649B5F88FAE785306C2F70AB2DF@ORSMSX105.amr.corp.intel.com> In-Reply-To: <7AAC936950815649B5F88FAE785306C2F70AB2DF@ORSMSX105.amr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMmY2ZjEzZDUtYWVhZS00ODQwLWEyYWYtMDRjNGJkYjc4OWI2IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiVmN4WGpGV1MrRm16SHpuYTZBSVVlVEptWXpnNDJqWU5sTW0ybmE1cE5EVWR5YkQrUXRaeXJPRnBSdkxjbnhcLzQifQ== dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.1.200.107] MIME-Version: 1.0 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks Maurice. Will add PS2_KEYBOARD_ENABLE for newly added drivers and se= t to disabled by default. Thanks, Guo > -----Original Message----- > From: Ma, Maurice > Sent: Tuesday, December 17, 2019 4:17 PM > To: Dong, Guo > Cc: You, Benjamin ; u14935@gmail.com; > devel@edk2.groups.io > Subject: RE: [edk2-devel] [PATCH] UefiPayloadPkg/BootManager: Add PS2 > keyboard support >=20 > Hi, Guo, >=20 > Since PS2 keyboard is not commonly seen anymore, do you think it is bet= ter to > define a control variable in DSC so that the PS2 driver can be easily add= ed or > removed using build command line ? >=20 > Thanks > Maurice > > -----Original Message----- > > From: Dong, Guo > > Sent: Tuesday, December 10, 2019 15:09 > > To: devel@edk2.groups.io > > Cc: Ma, Maurice ; You, Benjamin > > ; Dong, Guo ; > > u14935@gmail.com > > Subject: [edk2-devel] [PATCH] UefiPayloadPkg/BootManager: Add PS2 > > keyboard support > > > > Add PS2 keyboard support by default. > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D2316 > > > > This patch adds PS2 keyboard support in boot manager, and build PS2 > > keyboard driver and SIO driver by default. > > > > Signed-off-by: Guo Dong > > --- > > UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.c | 25 > > ++++++++++++++++++++----- > > UefiPayloadPkg/UefiPayloadPkg.fdf | 2 += + > > UefiPayloadPkg/UefiPayloadPkgIa32.dsc | 2 += + > > UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc | 2 += + > > 4 files changed, 26 insertions(+), 5 deletions(-) > > > > diff --git > > a/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.c > > b/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.c > > index ee2d8c8d1e..a27cc552ab 100644 > > --- a/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.c > > +++ b/UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformConsole.c > > @@ -44,6 +44,9 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > #define gPnp16550ComPort \ > > PNPID_DEVICE_PATH_NODE(0x0501) > > > > +#define gPnpPs2Keyboard \ > > + PNPID_DEVICE_PATH_NODE(0x0303) > > + > > #define gUartVendor \ > > { \ > > { \ > > @@ -87,7 +90,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > DEVICE_PATH_MESSAGING_PC_ANSI \ > > } > > > > - > > +ACPI_HID_DEVICE_PATH gPnpPs2KeyboardDeviceNode =3D > > gPnpPs2Keyboard; > > ACPI_HID_DEVICE_PATH gPnp16550ComPortDeviceNode =3D > > gPnp16550ComPort; > > UART_DEVICE_PATH gUartDeviceNode =3D gUart; > > VENDOR_DEVICE_PATH gTerminalTypeDeviceNode =3D gPcAnsiTermi= nal; > > @@ -109,12 +112,15 @@ EFI_DEVICE_PATH_PROTOCOL > *gPlatformRootBridges[] > > =3D { > > BOOLEAN mDetectVgaOnly; > > > > /** > > - Add UART to ConOut, ConIn, ErrOut. > > + Add IsaKeyboard to ConIn; add IsaSerial to ConOut, ConIn, ErrOut. > > > > - @param[in] DeviceHandle - LPC device path. > > + @param[in] DeviceHandle Handle of the LPC Bridge device. > > > > - @retval EFI_SUCCESS - Serial console is added to ConOut, ConIn, > > and ErrOut. > > - @retval EFI_STATUS - No serial console is added. > > + @retval EFI_SUCCESS Console devices on the LPC bridge have been > > + added > > to > > + ConOut, ConIn, and ErrOut. > > + > > + @return Error codes, due to EFI_DEVICE_PATH_PROTOCOL mi= ssing > > + from DeviceHandle. > > **/ > > EFI_STATUS > > PrepareLpcBridgeDevicePath ( > > @@ -123,6 +129,7 @@ PrepareLpcBridgeDevicePath ( { > > EFI_STATUS Status; > > EFI_DEVICE_PATH_PROTOCOL *DevicePath; > > + EFI_DEVICE_PATH_PROTOCOL *TempDevicePath; > > > > DevicePath =3D NULL; > > Status =3D gBS->HandleProtocol ( > > @@ -133,10 +140,18 @@ PrepareLpcBridgeDevicePath ( > > if (EFI_ERROR (Status)) { > > return Status; > > } > > + TempDevicePath =3D DevicePath; > > + > > + // > > + // Register Keyboard > > + // > > + DevicePath =3D AppendDevicePathNode (DevicePath, > > + (EFI_DEVICE_PATH_PROTOCOL *)&gPnpPs2KeyboardDeviceNode); > > + EfiBootManagerUpdateConsoleVariable (ConIn, DevicePath, NULL); > > > > // > > // Register COM1 > > // > > + DevicePath =3D TempDevicePath; > > DevicePath =3D AppendDevicePathNode ((EFI_DEVICE_PATH_PROTOCOL > > *)NULL, (EFI_DEVICE_PATH_PROTOCOL *)&gUartDeviceVendorNode); > > DevicePath =3D AppendDevicePathNode (DevicePath, > > (EFI_DEVICE_PATH_PROTOCOL *)&gUartDeviceNode); > > DevicePath =3D AppendDevicePathNode (DevicePath, > > (EFI_DEVICE_PATH_PROTOCOL *)&gTerminalTypeDeviceNode); diff --git > > a/UefiPayloadPkg/UefiPayloadPkg.fdf > > b/UefiPayloadPkg/UefiPayloadPkg.fdf > > index 4cd88a3f85..b20ab82f47 100644 > > --- a/UefiPayloadPkg/UefiPayloadPkg.fdf > > +++ b/UefiPayloadPkg/UefiPayloadPkg.fdf > > @@ -120,6 +120,8 @@ INF > > MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf > > # ISA Support > > # > > INF MdeModulePkg/Universal/SerialDxe/SerialDxe.inf > > +INF OvmfPkg/SioBusDxe/SioBusDxe.inf > > +INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf > > > > # > > # Console Support > > diff --git a/UefiPayloadPkg/UefiPayloadPkgIa32.dsc > > b/UefiPayloadPkg/UefiPayloadPkgIa32.dsc > > index 11cf17ca06..c9c2a87940 100644 > > --- a/UefiPayloadPkg/UefiPayloadPkgIa32.dsc > > +++ b/UefiPayloadPkg/UefiPayloadPkgIa32.dsc > > @@ -491,6 +491,8 @@ > > # ISA Support > > # > > MdeModulePkg/Universal/SerialDxe/SerialDxe.inf > > + OvmfPkg/SioBusDxe/SioBusDxe.inf > > + MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf > > > > # > > # Console Support > > diff --git a/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc > > b/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc > > index 5b7994a62c..8dfc9e189c 100644 > > --- a/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc > > +++ b/UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc > > @@ -492,6 +492,8 @@ > > # ISA Support > > # > > MdeModulePkg/Universal/SerialDxe/SerialDxe.inf > > + OvmfPkg/SioBusDxe/SioBusDxe.inf > > + MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf > > > > # > > # Console Support > > -- > > 2.16.2.windows.1