reply in line starting with [ray].

Thanks,
Ray


________________________________
From: [email protected] <[email protected]> on behalf of Shankar via 
groups.io <[email protected]>
Sent: Tuesday, November 11, 2025 19:08
To: [email protected] <[email protected]>
Subject: [edk2-devel] Questions about Terminal DXE driver and TestPointCheckLib

[AMD Official Use Only - AMD Internal Distribution Only]

Hi,

The Terminal DXE driver appends the chosen terminal type as a child node to the 
currently present ConIn/ConOut devices. It appends only one of the 9 terminal 
types as the child node. But the ConInDev/ConOutDev variables have list of 
device paths with all possible terminal types, of which only one of the 
terminal types can be used at a time.

On the other hand the TestPointCheckLib checks for actual presence of devices 
that are listed in ConInDev/ConOutDev. So in this case, since only one of the 
terminal type is actually present at any time, this test fails for the rest of 
the terminal types.

1) Is this by design that Terminal DXE driver installs only one terminal type 
at any given time, out of the 9 available?
[ray] yes. the terminal type device node in the device path stands for the 
terminal type.


2) Why is the entire list of all terminal devices, instead of one terminal type 
which is presently chosen, added to ConInDev and ConOutDev variables? The UEFI 
spec says "The device path of all possible console input devices.", so in this 
context, does 'possible devices' include non existent devices too?
[ray] This allows you to select a device path from ConInDev with a different 
terminal type and adds/replaces to ConIn. Then next boot will use the new 
terminal type.

3) If this is the case, then do we need to modify TestPointCheckLib to check 
for presence of terminal type child node and thereby ignoring the terminal part 
and check only if parent device exist of not? The current TestPointCheckLib 
code checks for all terminal types present in ConInDev and ConOutDev and throws 
error because only one of such device is actually present.
[ray] I am not checking what TestPointCheckLib does. But if it expects all 
device paths in the ConInDev exist in the system (associated with a controller 
handle), the expectation is wrong.

The error I'm seeing is
==== TestPointCheckConsoleVariable - Enter
ConIn: 
VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi(),/UsbHID(0xFFFF,0xFFFF,0x1,0x1)
ConInDev: 
UsbHID(0xFFFF,0xFFFF,0x1,0x1),/VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenPcAnsi(),/VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/VenVt100(),/VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(115200,8,N,1)/DevicePath
 not found!
TestPointLibAppendErrorString - (0x2) 0x04030000 - Ready To Boot - Invalid 
Console Variable

Regards,
Shankar



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#121701): https://edk2.groups.io/g/devel/message/121701
Mute This Topic: https://groups.io/mt/116236341/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to