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


Reply via email to