On 04/08/22 00:16, Desimone, Nathaniel L wrote: > Hi Laszlo, > >> -----Original Message----- >> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Laszlo >> Ersek >> Sent: Thursday, April 7, 2022 12:46 AM >> To: edk2-devel-groups-io <devel@edk2.groups.io> >> Cc: r, ramesh <rame...@ami.com>; Sivaraman Nainar >> <sivaram...@ami.com>; KARPAGAVINAYAGAM, MANICKAVASAKAM >> <manickavasak...@ami.com> >> Subject: [edk2-devel] Intel NUC platform firmware -- no serial I/O support? >> >> Hi List, >> >> my toolbox has been extended with an Intel NUC, the base kit model being >> NUC8i3PNH. The NUC has a serial port connector on the back, and indeed >> Serial I/O works fine once an OS starts. >> >> However, the UEFI platform firmware seems to have no support for Serial >> I/O. I've built a fresh UEFI Shell binary from edk2 master and poked around >> in >> the protocol database, with "drivers" and "dh". The necessary drivers seem >> to be included, however they do not appear to bind the hardware that's >> inside the chassis. ("connect -r" makes no difference in this regard, so >> it's not >> just BDS policy.) > > Yeah you are right the Super I/O stuff is barrels of fun. However it is > actually a spec defined protocol, it is just in the PI spec not the UEFI > spec. The PI spec also counts for addition to MdePkg. On the MinPlatform side > we built a small/simple Super I/O bus driver for UARTs and PS/2 > keyboard/mouse: > https://github.com/tianocore/edk2-platforms/tree/master/Platform/Intel/BoardModulePkg/LegacySioDxe > > Volume 5, Chapter 14 of the PI spec waxes rather poetic about how to build a > full ISA plug-and-play capable DXE driver stack for a system that > incorporates both a Super I/O and physical ISA slots.
I always forget that the PI spec can very well define protocols to be used by UEFI drivers... > I can say is that the NUC team has opted to build their systems with AMI > Aptio instead of starting with the Intel reference UEFI firmware. I'm not > privy to the conversation there. Accordingly, there might be some Aptio > specific drivers as you note in your listing of the driver handle database. > I'm afraid I have as much knowledge about how that driver stack works as you > do. Thanks for responding! Yesterday I played a bit more with the NUC. I placed the UEFI shell as EFI\BOOT\BOOTX64.EFI on a USB stick, together with SerialDxe.efi, TerminalDxe.efi, and a "startup.nsh" script that loads SerialDxe and TerminalDxe using the "consistent shell drive names" scheme. This way, when I boot the NUC off the stick, I get a shell on serial at once. Another experiment I tried was "bcfg driver". Unfortunately, the platform BDS on the NUC seems to ignore Driver#### and DriverOrder. Then I build UiApp.efi in separation too, and started it from the shell -- it was then really strange to see the "Front Page" tab in the graphical setup TUI :) Now, while that was somewhat useful (as it extended the NUC's setup UI with some nifty features that I'd become used to with OVMF), I actually wanted the inverse: to get all the original NUC setup stuff exposed over serial. But I guess for that, I'd have to replace (override) the graphical setup browser and/or the display engine DXE drivers of the platform firmware... I guess I'll have to give up there. Thanks! Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#88614): https://edk2.groups.io/g/devel/message/88614 Mute This Topic: https://groups.io/mt/90308335/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-