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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to