Re: Guid.xref file


Andrew Fish
 

On Oct 10, 2021, at 3:33 AM, Konstantin Aladyshev <aladyshev22@gmail.com> wrote:

Hello!

Sometimes it's useful to transform GUID values to their names from the
codebase. For example when you investigate the boot log.
Usually I just use key/value pairs from the generated build file
`Build/OvmfX64/DEBUG_GCC5/FV/Guid.xref, and perform necessary
substitutions in the log file through the simple custom python script.
This Guid.xref file has associations like this:
```
6302D008-7F9B-4F30-87AC-60C9FEF5DA4E gEfiShellProtocolGuid
```
So it is easy to construct a dictionary with GUID/Name pairs with it.
But the problem is that this file doesn't contain all the GUID/Name pairs.
For example gShellNetwork1HiiGuid/gShellLevel2HiiGuid/gEfiComponentNameProtocolGuid
are not present in this file.
Which GUIDs go to the `Build/OvmfX64/RELEASE_GCC5/FV/Guid.xref` file
and which don't?
It looks like the HII related GUDs [1] don’t end up in the Guid.xref file. That seems like a bug, please file a BZ. I would expect every GUID in all the modules AutoGen.c file to show up in the Guid.xref file.

[1] example
/Volumes/Case/edk2-github/Build/OvmfX64(master)>git grep --untracked --no-exclude-standard gEfiAcpiTableProtocolGuid -- '*.xref' '*.c'
DEBUG_XCODE5/FV/Guid.xref:309:FFE06BDD-6107-46A6-7BB2-5A9C7EC5275C gEfiAcpiTableProtocolGuid
DEBUG_XCODE5/X64/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe/DEBUG/AutoGen.c:34:GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID gEfiAcpiTableProtocolGuid = { 0xFFE06BDD, 0x6107, 0x46A6, { 0x7B, 0xB2, 0x5A, 0x9C, 0x7E, 0xC5, 0x27, 0x5C }};
DEBUG_XCODE5/X64/MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe/DEBUG/AutoGen.c:31:GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID gEfiAcpiTableProtocolGuid = { 0xFFE06BDD, 0x6107, 0x46A6, { 0x7B, 0xB2, 0x5A, 0x9C, 0x7E, 0xC5, 0x27, 0x5C }};
DEBUG_XCODE5/X64/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe/DEBUG/AutoGen.c:43:GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID gEfiAcpiTableProtocolGuid = { 0xFFE06BDD, 0x6107, 0x46A6, { 0x7B, 0xB2, 0x5A, 0x9C, 0x7E, 0xC5, 0x27, 0x5C }};
DEBUG_XCODE5/X64/NetworkPkg/IScsiDxe/IScsiDxe/DEBUG/AutoGen.c:41:GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID gEfiAcpiTableProtocolGuid = { 0xFFE06BDD, 0x6107, 0x46A6, { 0x7B, 0xB2, 0x5A, 0x9C, 0x7E, 0xC5, 0x27, 0x5C }};
DEBUG_XCODE5/X64/OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe/DEBUG/AutoGen.c:27:GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID gEfiAcpiTableProtocolGuid = { 0xFFE06BDD, 0x6107, 0x46A6, { 0x7B, 0xB2, 0x5A, 0x9C, 0x7E, 0xC5, 0x27, 0x5C }};
DEBUG_XCODE5/X64/ShellPkg/Application/Shell/Shell/DEBUG/AutoGen.c:139:GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID gEfiAcpiTableProtocolGuid = { 0xFFE06BDD, 0x6107, 0x46A6, { 0x7B, 0xB2, 0x5A, 0x9C, 0x7E, 0xC5, 0x27, 0x5C }};

/Volumes/Case/edk2-github/Build/OvmfX64(master)>git grep --untracked --no-exclude-standard gShellLevel2HiiGuid -- '*.xref' '*.c'
DEBUG_XCODE5/X64/ShellPkg/Application/Shell/Shell/DEBUG/AutoGen.c:64:GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID gShellLevel2HiiGuid = {0xf95a7ccc, 0x4c55, 0x4426, {0xa7, 0xb4, 0xdc, 0x89, 0x61, 0x95, 0xb, 0xae}};

/Volumes/Case/edk2-github/Build/OvmfX64(master)>git grep --untracked --no-exclude-standard gShellNetwork1HiiGuid -- '*.xref' '*.c'
DEBUG_XCODE5/X64/ShellPkg/Application/Shell/Shell/DEBUG/AutoGen.c:71:GLOBAL_REMOVE_IF_UNREFERENCED EFI_GUID gShellNetwork1HiiGuid = {0xf3d301bb, 0xf4a5, 0x45a8, {0xb0, 0xb7, 0xfa, 0x99, 0x9c, 0x62, 0x37, 0xae}};

Thanks,

Andrew Fish

Best regards,
Konstantin Aladyshev




Join discuss@edk2.groups.io to automatically receive all group messages.