You would be right if you were using printf. However, in PrintLibInternal.c 
(MdePkg/Library/BasePrintLib), line 20 and then lines 523ff, you can see that 
all hex numbers are converted to upper case whether using ‘x’ or ‘X’

Tim


From: Dmitriy Skorodumov [mailto:[email protected]]
Sent: Tuesday, October 23, 2012 8:52 AM
To: [email protected]
Subject: [edk2] Shoulnd't vars Boot#### be UpperCase?

Hi,

seems that in edk2 implementation of efi there is a small violation of 
EFI-spec. The UEFI_2_3_1_Errata_C_final.pdf, section "3.1.1 Boot Manager 
Programming" says

"Each load option entry resides in a Boot#### variable or a Driver#### variable 
where the #### is replaced by a unique option number in printable hexadecimal 
representation using the digits 0–9, and the upper case versions of the 
characters A–F (0000–FFFF)."

But in most places of EDK2 the characters are in lower-case. For example,
IntelFrameworkModulePkg\Library\GenericBdsLib\BdsMisc.c

BdsLibRegisterNewOption(..)
{
..
  UnicodeSPrint (OptionName, sizeof (OptionName), L"Boot%04x", 
TempOptionPtr[Index]);
 ..
  Status = gRT->SetVariable (...)
...
}

Seems that there and in other places should be not "Boot%04x", but "Boot%04X" 
('X' in uppercase). But need to say that I don't see any issues with that so 
far..

Dmitry

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to