On Oct 10, 2021, at 9:37 PM, gaoliming <gaoliming@...> wrote:
Guid.xref includes all Guid/Ppi/Protocol guid and module FILE_GUID in one platform DSC/FDF.
If Guid is generated into AutoGen, it should be included in Guid.xref.
That does not seem to be happening. We should file a BZ if one does not get filed. Thanks, Andrew Fish Thanks Liming
-----邮件原件----- 发件人: discuss@edk2.groups.io <discuss@edk2.groups.io> 代表 Andrew Fish via groups.io 发送时间: 2021年10月10日 23:28 收件人: discuss <discuss@edk2.groups.io>; aladyshev22@... 主题: Re: [edk2-discuss] Guid.xref file
On Oct 10, 2021, at 3:33 AM, Konstantin Aladyshev <aladyshev22@...> 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/gEfiComponentNameProtocolGui d
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-5A9C7EC527 5C gEfiAcpiTableProtocolGuid DEBUG_XCODE5/X64/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTabl eDxe/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/BootGraphicsResource TableDxe/BootGraphicsResourceTableDxe/DEBUG/AutoGen.c:31:GLOBAL_RE MOVE_IF_UNREFERENCED EFI_GUID gEfiAcpiTableProtocolGuid = { 0xFFE06BDD, 0x6107, 0x46A6, { 0x7B, 0xB2, 0x5A, 0x9C, 0x7E, 0xC5, 0x27, 0x5C }}; DEBUG_XCODE5/X64/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDisk Dxe/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/QemuFwCfgAcpiPlatformDx e/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:13 9: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
|
toggle quoted message
Show quoted text
On Mon, Oct 11, 2021 at 5:36 AM Andrew (EFI) Fish <afish@...> wrote:
Sent from my iPhone
On Oct 10, 2021, at 9:37 PM, gaoliming <gaoliming@...> wrote:
Guid.xref includes all Guid/Ppi/Protocol guid and module FILE_GUID in one platform DSC/FDF.
If Guid is generated into AutoGen, it should be included in Guid.xref.
That does not seem to be happening. We should file a BZ if one does not get filed.
Thanks,
Andrew Fish
Thanks Liming
-----邮件原件----- 发件人: discuss@edk2.groups.io <discuss@edk2.groups.io> 代表 Andrew Fish via groups.io 发送时间: 2021年10月10日 23:28 收件人: discuss <discuss@edk2.groups.io>; aladyshev22@... 主题: Re: [edk2-discuss] Guid.xref file
On Oct 10, 2021, at 3:33 AM, Konstantin Aladyshev <aladyshev22@...> 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/gEfiComponentNameProtocolGui d
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-5A9C7EC527 5C gEfiAcpiTableProtocolGuid DEBUG_XCODE5/X64/MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTabl eDxe/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/BootGraphicsResource TableDxe/BootGraphicsResourceTableDxe/DEBUG/AutoGen.c:31:GLOBAL_RE MOVE_IF_UNREFERENCED EFI_GUID gEfiAcpiTableProtocolGuid = { 0xFFE06BDD, 0x6107, 0x46A6, { 0x7B, 0xB2, 0x5A, 0x9C, 0x7E, 0xC5, 0x27, 0x5C }}; DEBUG_XCODE5/X64/MdeModulePkg/Universal/Disk/RamDiskDxe/RamDisk Dxe/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/QemuFwCfgAcpiPlatformDx e/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:13 9: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
|