* EDK2 UEFI Specification and Revision
@ 2019-10-21 8:15 sergestus
2019-10-21 15:53 ` [edk2-devel] " Andrew Fish
0 siblings, 1 reply; 5+ messages in thread
From: sergestus @ 2019-10-21 8:15 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 181 bytes --]
When runs "ver" command in EFI Shell command line it shows UEFI specification and revision. The question is how to find out what UEFI specification and revision does EDK2 support?
[-- Attachment #2: Type: text/html, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] EDK2 UEFI Specification and Revision
2019-10-21 8:15 EDK2 UEFI Specification and Revision sergestus
@ 2019-10-21 15:53 ` Andrew Fish
2019-10-22 10:13 ` sergestus
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Fish @ 2019-10-21 15:53 UTC (permalink / raw)
To: devel, sergestus
[-- Attachment #1: Type: text/plain, Size: 1307 bytes --]
The header in the EFI_SYSTEM_TABLE (gST) carries the UEFI Specification version. It is filled in by the DXE Core when it produces the EFI System Table.
$ git grep EFI_SYSTEM_TABLE_REVISION
MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c:126: EFI_SYSTEM_TABLE_REVISION, // Revision
MdeModulePkg/Universal/SetupBrowserDxe/Setup.h:74:#define EFI_IFR_SPECIFICATION_VERSION (UINT16) (((EFI_SYSTEM_TABLE_REVISION >> 16) << 8) | (((EFI_SYSTEM_TABLE_REVISION & 0xFFFF) / 10) << 4) | ((EFI_SYSTEM_TABLE_REVISION & 0xFFFF) % 10))
MdePkg/Include/Uefi/UefiSpec.h:1780:#define EFI_SYSTEM_TABLE_REVISION EFI_2_70_SYSTEM_TABLE_REVISION
MdePkg/Include/Uefi/UefiSpec.h:1781:#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION
$ git grep EFI_2_70_SYSTEM_TABLE_REVISION
MdePkg/Include/Uefi/UefiSpec.h:1769:#define EFI_2_70_SYSTEM_TABLE_REVISION ((2 << 16) | (70))
MdePkg/Include/Uefi/UefiSpec.h:1780:#define EFI_SYSTEM_TABLE_REVISION EFI_2_70_SYSTEM_TABLE_REVISION
Thanks,
Andrew Fish
> On Oct 21, 2019, at 1:15 AM, sergestus@yandex.ru wrote:
>
> When runs "ver" command in EFI Shell command line it shows UEFI specification and revision. The question is how to find out what UEFI specification and revision does EDK2 support?
>
[-- Attachment #2: Type: text/html, Size: 7902 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] EDK2 UEFI Specification and Revision
2019-10-21 15:53 ` [edk2-devel] " Andrew Fish
@ 2019-10-22 10:13 ` sergestus
2019-10-25 1:01 ` Andrew Fish
0 siblings, 1 reply; 5+ messages in thread
From: sergestus @ 2019-10-22 10:13 UTC (permalink / raw)
To: Andrew Fish, devel
[-- Attachment #1: Type: text/plain, Size: 443 bytes --]
Hi Andrew,
Thank you, for the detail answer. It seems this is what I'm looking for. Now I've found the UEFI specification of the UEFI application I build, and it appears that the specification of the application is greater than the EFI Shall specification it is going to be used with. Is it ok, or I should find the EDK2 with UEFI specification exactly the same as the EFI Shell specification and rebuild my EFI app?
Thank you,
Sergey
[-- Attachment #2: Type: text/html, Size: 463 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] EDK2 UEFI Specification and Revision
2019-10-22 10:13 ` sergestus
@ 2019-10-25 1:01 ` Andrew Fish
2019-10-25 10:49 ` sergestus
0 siblings, 1 reply; 5+ messages in thread
From: Andrew Fish @ 2019-10-25 1:01 UTC (permalink / raw)
To: sergestus; +Cc: devel
You can check the revision and only depend on those features if they are implied by the UEFI revision?
> On Oct 22, 2019, at 3:13 AM, sergestus@yandex.ru wrote:
>
> Hi Andrew,
>
> Thank you, for the detail answer. It seems this is what I'm looking for. Now I've found the UEFI specification of the UEFI application I build, and it appears that the specification of the application is greater than the EFI Shall specification it is going to be used with. Is it ok, or I should find the EDK2 with UEFI specification exactly the same as the EFI Shell specification and rebuild my EFI app?
>
> Thank you,
> Sergey
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [edk2-devel] EDK2 UEFI Specification and Revision
2019-10-25 1:01 ` Andrew Fish
@ 2019-10-25 10:49 ` sergestus
0 siblings, 0 replies; 5+ messages in thread
From: sergestus @ 2019-10-25 10:49 UTC (permalink / raw)
To: Andrew Fish, devel
[-- Attachment #1: Type: text/plain, Size: 819 bytes --]
My app (UEFI spec 2.7) uses following protocols:
EFI_BOOT_SERVICES revision EFI_SPECIFICATION_VERSION
EFI_FILE_PROTOCOL revision 0x00020000
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL 0x00010000
EFI_PEI_SERVICES - not found in UEFI specificaion
EFI_PEI_CPU_IO_PPI - not found in UEFI specificaion
UEFI Specification 2.4 protocols:
EFI_BOOT_SERVICES revision EFI_SPECIFICATION_VERSION
EFI_FILE_PROTOCOL revision 0x00020000
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL 0x00010000
So the main services API EFI_BOOT_SERVICES, where I'm using few common functions (OpenProtocol, AllocatePool...) differs from the EFI shell where app is using. Also there are protocols such as EFI_PEI_SERVICES and EFI_PEI_CPU_IO_PPI about which differences I can say nothing, so it is batter to find EDK2 with UEFI spec 2.4.
Thank you,
Sergey
[-- Attachment #2: Type: text/html, Size: 1081 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-10-25 10:49 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-21 8:15 EDK2 UEFI Specification and Revision sergestus
2019-10-21 15:53 ` [edk2-devel] " Andrew Fish
2019-10-22 10:13 ` sergestus
2019-10-25 1:01 ` Andrew Fish
2019-10-25 10:49 ` sergestus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox