So I found it. There was an update applied a decade or more ago to
add a new printf type specifier %v in PrintLibInternal between %g and
%t. Somewhere along the line, probably when still on svn, the break
went missing for it. I recall the updates from svn were always
confusing with a lot of merge issues with my improvements that's why
I'm sure it happened then. With GIT I seem to have to "stash changes"
then "pop stash". That missing break made the output in %t format.
So those menus must use the %g to determine something. Anyway, it's
fixed, and if you want to add that %v it's (I found the issue when I
went to comment out the <invalid devpath> logic because that was
showing on some of the file paths) - there is also a need to free the
AllocatedString if its non-zero. I could provide a full patch if
someone wants it. It's very handy. :
#if FixedPcdGetBool(PcdPrintDevicePathFormat)
case 'v':
if (BaseListMarker == NULL) {
TmpDevPath = VA_ARG (VaListMarker, EFI_DEVICE_PATH_PROTOCOL *);
} else {
TmpDevPath = BASE_ARG (BaseListMarker, EFI_DEVICE_PATH_PROTOCOL *);
}
if (TmpDevPath == NULL) {
ArgumentString = "<null devpath>";
/*
} else if (!IsDevicePathValid(TmpDevPath, 0)) {
ArgumentString = "<invalid devpath>"; */
} else {
AllocatedString = (CHAR8*) ConvertDevicePathToText
(TmpDevPath, TRUE, TRUE);
if (AllocatedString == NULL) {
ArgumentString = "<failed>";
}
else {
ArgumentString=AllocatedString;
Flags |= ARGUMENT_UNICODE;
}
}
break;
#endif
On Fri, May 22, 2026 at 12:58 PM David F. <[email protected]> wrote:
>
> I should mention I'm using the OVMF_CODE.fd and OVMF_VARS.fd with QEMU
> emulator version 11.0.50 (v11.0.0-12631-g54e84cdc7a) on Windows.
> Firmware Setup says:
> Standard PC (Q35 + ICH9, 2009)
> pc-q35-11.1
> unknown
>
> On Fri, May 22, 2026 at 12:49 PM David F. <[email protected]> wrote:
> >
> > Hello,
> >
> > I just started building OVMF (x64 debug) using VS2026, and there were
> > some issues, the main one fixed by pulling the latest updates from git
> > a couple days ago, but there were some "#pragma once" items that still
> > needed to be changed to the #ifdef style. Anyway, I also enabled NX
> > support (see below). Here are the .DSC changes:
> >
> > gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask to 0x7 and 0xF respectively.
> > gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
> >
> > Adding:
> > [PcdsPatchableInModule]
> > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
> >
> > It all builds. If I F2 to get to setup, I get the blue menu where I
> > can enter firmware setup. It shows up, but other than the language,
> > any item I choose, just takes me back to that blue menu where I can go
> > back into firmware or boot the misc device.
> >
> > Any suggestions?
> >
> > TIA!!
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#121976): https://edk2.groups.io/g/devel/message/121976
Mute This Topic: https://groups.io/mt/119446501/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-