From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 56E9D211DF227 for ; Mon, 25 Mar 2019 03:58:21 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C0132C0467D9; Mon, 25 Mar 2019 10:58:20 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-188.rdu2.redhat.com [10.10.120.188]) by smtp.corp.redhat.com (Postfix) with ESMTP id 430A1100164A; Mon, 25 Mar 2019 10:58:19 +0000 (UTC) To: Hao Wu , edk2-devel@lists.01.org Cc: Jordan Justen , Ard Biesheuvel , Ray Ni References: <20190325052853.11220-1-hao.a.wu@intel.com> From: Laszlo Ersek Message-ID: <0e73ecc1-1f52-6da8-e833-3c68c7623fb0@redhat.com> Date: Mon, 25 Mar 2019 11:58:18 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190325052853.11220-1-hao.a.wu@intel.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Mon, 25 Mar 2019 10:58:20 +0000 (UTC) Subject: Re: [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Mar 2019 10:58:21 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 03/25/19 06:28, Hao Wu wrote: > The series is also available at: > https://github.com/hwu25/edk2/tree/ovmf_siobus_v2 > > V2 changes: > * Introduce a static build flag 'USE_LEGACY_ISA_STACK' in OVMF DSC files > for users to select between the ISA driver stacks. > * V1 patch 2/2 is split into 2 patches in V2. The first one will add the > new OVMF SioBusDxe driver and list it in the DSC files. Then second one > will add the whole new ISA stack in DSC/FDF files. > > > V1 history: > > This series will update the OVMF to stop using the ISA drivers within > IntelFrameworkModulePkg. > > As the replacement, a new OVMF Super I/O bus driver has been add which > will install the Super I/O protocol for ISA serial and PS2 keyboard > devices. By doing so, these devices can be managed by: > > MdeModulePkg/Bus/Pci/PciSioSerialDxe/PciSioSerialDxe.inf > MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf > > respectively. > > > Tests done: > A. GCC5 & VS2015x86 tool chains build pass > B. Launch QEMU (2.4.50, Windows) with command: > > qemu-system-x86_64.exe -pflash \OVMF.fd -serial file:1.txt -serial file:2.txt > > Able to see the ISA COM1/COM2 UART and PS2Keyboard devices under Shell > using command 'devtree'; > > Both the serials and PS2 keyboard are working fine; Can you please confirm the following: (1) In the PrepareLpcBridgeDevicePath() function, in file "OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c", we add IsaKeyboard to ConIn, and IsaSerial to ConOut, ConIn, ErrOut. This function takes the "LPC Bridge device" handle from its caller, namely DetectAndPreparePlatformPciDevicePath(), and appends some constant device path nodes, from "BdsPlatform.h" / "PlatformData.c". Can you please confirm that the existing Platform BDS code described above is compatible with the new driver? In other words, do DetectAndPreparePlatformPciDevicePath() + PrepareLpcBridgeDevicePath() still add the proper device paths to ConIn/ConOut/ErrOut? (Note, they need not be identical to the previous device paths, but the *logic* must continue to work -- i.e. *some* device paths have to be added, and they should be correct.) (2) Can you please confirm if the new build survives repeated reconnect -r commands in the UEFI shell? Both the ISA keyboard and the serial console should resume working after "reconnect -r". Thanks, Laszlo > Cc: Jordan Justen > Cc: Laszlo Ersek > Cc: Ard Biesheuvel > Cc: Ray Ni > > > Hao Wu (3): > OvmfPkg: Drop the ISA Floppy device support > OvmfPkg: Add an Super IO bus driver > OvmfPkg: Add a build flag to select ISA driver stack > > OvmfPkg/OvmfPkgIa32.dsc | 10 +- > OvmfPkg/OvmfPkgIa32X64.dsc | 10 +- > OvmfPkg/OvmfPkgX64.dsc | 10 +- > OvmfPkg/OvmfPkgIa32.fdf | 21 +- > OvmfPkg/OvmfPkgIa32X64.fdf | 21 +- > OvmfPkg/OvmfPkgX64.fdf | 21 +- > OvmfPkg/SioBusDxe/SioBusDxe.inf | 54 ++ > OvmfPkg/SioBusDxe/SioBusDxe.h | 332 +++++++++++ > OvmfPkg/SioBusDxe/SioService.h | 221 +++++++ > OvmfPkg/SioBusDxe/ComponentName.c | 167 ++++++ > OvmfPkg/SioBusDxe/SioBusDxe.c | 622 ++++++++++++++++++++ > OvmfPkg/SioBusDxe/SioService.c | 405 +++++++++++++ > OvmfPkg/SioBusDxe/SioBusDxe.uni | 21 + > 13 files changed, 1885 insertions(+), 30 deletions(-) > create mode 100644 OvmfPkg/SioBusDxe/SioBusDxe.inf > create mode 100644 OvmfPkg/SioBusDxe/SioBusDxe.h > create mode 100644 OvmfPkg/SioBusDxe/SioService.h > create mode 100644 OvmfPkg/SioBusDxe/ComponentName.c > create mode 100644 OvmfPkg/SioBusDxe/SioBusDxe.c > create mode 100644 OvmfPkg/SioBusDxe/SioService.c > create mode 100644 OvmfPkg/SioBusDxe/SioBusDxe.uni >