public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: "Wu, Hao A" <hao.a.wu@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	Julien Grall <julien.grall@arm.com>,
	Anthony Perard <anthony.perard@citrix.com>
Cc: "Justen, Jordan L" <jordan.l.justen@intel.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	"Ni, Ray" <ray.ni@intel.com>
Subject: Re: [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg
Date: Tue, 26 Mar 2019 11:14:35 +0100	[thread overview]
Message-ID: <dd4fb3ec-90ba-30f6-a497-2f5161de6d8f@redhat.com> (raw)
In-Reply-To: <B80AF82E9BFB8E4FBD8C89DA810C6A093C8ADEF2@SHSMSX104.ccr.corp.intel.com>

On 03/26/19 03:49, Wu, Hao A wrote:
>> -----Original Message-----
>> From: Laszlo Ersek [mailto:lersek@redhat.com]
>> Sent: Monday, March 25, 2019 7:29 PM
>> To: Wu, Hao A; edk2-devel@lists.01.org; Julien Grall; Anthony Perard
>> Cc: Justen, Jordan L; Ard Biesheuvel; Ni, Ray
>> Subject: Re: [PATCH v2 0/3] Ovmf: Stop using ISA drivers within
>> IntelFrameworkModulePkg
>>
>> On 03/25/19 11:58, Laszlo Ersek wrote:
>>> 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 <SOME_PATH>\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.)
> 
> Hello Laszlo,
> 
> For (1), since I saw in function PrepareLpcBridgeDevicePath() there are
> already some codes to print out the device path for COM1/COM2. So I just
> add some logic to print the device path for the PS2 keyboard as well.
> 
> I ran the qemu with command:
> qemu-system-x86_64.exe -pflash <SOME_PATH>\OVMF.fd -debugcon file:boot.log -global isa-debugcon.iobase=0x402
> 
> For the new and origin ISA stack, their logs both show:
> Found LPC Bridge device
> BdsPlatform.c+585: PS2 Keyboard DevPath: PciRoot(0x0)/Pci(0x1,0x0)/Acpi(PNP0303,0x0)
> BdsPlatform.c+615: COM1 DevPath: PciRoot(0x0)/Pci(0x1,0x0)/Serial(0x0)/Uart(115200,8,N,1)/VenMsg(E0C14753-F9BE-11D2-9A0C-0090273FC14D)
> BdsPlatform.c+647: COM2 DevPath: PciRoot(0x0)/Pci(0x1,0x0)/Serial(0x1)/Uart(115200,8,N,1)/VenMsg(E0C14753-F9BE-11D2-9A0C-0090273FC14D)
> 
> Thus, I think the Platform BDS code behavior remains the same.
> 
>>>
>>> (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".
> 
> For (2), I also run the qemu with:
> qemu-system-x86_64.exe -pflash <SOME_PATH>\OVMF.fd -debugcon file:boot.log -global isa-debugcon.iobase=0x402
> 
> After running 'reconnect -r' under Shell, the PS2 keyboard works fine.
> Then I switch the display from 'VGA' to 'serial0', and the serial works
> fine. (I just re-run the 'reconnect -r' under 'serial0', after the command
> finishes, the keyboard is responding and there is still output on 'serial0'.)
> 
>>
>> (3) Hao, can you please verify the above steps on the "q35" machine type
>> as well?
>>
>> (The QEMU command line that you mention selects the "i440fx" machine
>> type. QEMU provides an ICH9 ISA controller with the q35 board, and a
>> PIIX4 one with the i440fx board. I think we should regression-test this
>> work with both.)
> 
> For (3), I run qemu with:
> qemu-system-x86_64.exe -machine q35 -pflash <SOME_PATH>\OVMF.fd -debugcon file:boot.log -global isa-debugcon.iobase=0x402
> 
> Both tests (1) and (2) passed in this case.
> 
> 
> Please help to let me know if there is anything not right in the above
> tests. Thanks.

All of the above sounds great, thank you for the thorough testing.

Please let's wait for (4) below, and also let's sort out the license
identifier scheduling.

Thanks!
Laszlo

>>
>> (4) Julien, Anthony: can you please fetch this series (github URL at the
>> top) and see if the PS/2 keyboard, and the serial port, still work on
>> Xen, to interact e.g. with the UEFI shell?
>>
>> Thanks!
>> Laszlo



  reply	other threads:[~2019-03-26 10:14 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-25  5:28 [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg Hao Wu
2019-03-25  5:28 ` [PATCH v2 1/3] OvmfPkg: Drop the ISA Floppy device support Hao Wu
2019-03-25 10:42   ` Laszlo Ersek
2019-03-25  5:28 ` [PATCH v2 2/3] OvmfPkg: Add an Super IO bus driver Hao Wu
2019-03-25 11:22   ` Laszlo Ersek
2019-03-26  2:52     ` Wu, Hao A
2019-03-25 12:00   ` Laszlo Ersek
2019-03-25 17:30     ` Kinney, Michael D
2019-03-25 18:33       ` Laszlo Ersek
2019-03-25 20:02         ` Kinney, Michael D
2019-03-26 11:19           ` Laszlo Ersek
2019-03-25  5:28 ` [PATCH v2 3/3] OvmfPkg: Add a build flag to select ISA driver stack Hao Wu
2019-03-25 11:20   ` Laszlo Ersek
2019-03-25  8:28 ` [PATCH v2 0/3] Ovmf: Stop using ISA drivers within IntelFrameworkModulePkg Ard Biesheuvel
2019-03-25 10:58 ` Laszlo Ersek
2019-03-25 11:29   ` Laszlo Ersek
2019-03-26  2:49     ` Wu, Hao A
2019-03-26 10:14       ` Laszlo Ersek [this message]
2019-03-26 11:21         ` Laszlo Ersek
2019-03-26 10:09     ` Julien Grall
2019-03-26 11:53       ` Laszlo Ersek
2019-03-26 13:03     ` Anthony PERARD
2019-03-26 15:01       ` Laszlo Ersek
2019-03-26 15:14         ` Anthony PERARD
2019-03-26 15:15         ` Laszlo Ersek
2019-03-27  0:20           ` Wu, Hao A
2019-03-27  3:37             ` Laszlo Ersek
2019-03-27  5:28               ` Wu, Hao A

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dd4fb3ec-90ba-30f6-a497-2f5161de6d8f@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox