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