Compliance of TianoCore is different than Compliance of a platform firmware image.
Without the full analysis the TianoCore version can not be updated.
The main purpose of the version values in the UEFI tables is for UEFI Option ROMs, UEFI Applications, and UEFI OS Loaders to know what UEFI API support is present and only call services that are
known to be present with the expected behavior of those APIs as documented in that version of the specification. The use case we do not want to see is platform firmware publishing a higher version value without a guarantee that all the APIs and behavior match.
That could cause unexpected behavior from UEFI Drivers, UEFI Applications, or UEFI OS Loaders.
Mike
From: Poosapalli, Karunakar <KarunakarPoosapalli@Dell.com>
Sent: Tuesday, September 19, 2023 9:41 PM
To: Kinney, Michael D <michael.d.kinney@intel.com>; devel@edk2.groups.io; POLUDOV, FELIX <felixp@ami.com>; Yao, Jiewen <jiewen.yao@intel.com>
Subject: RE: [edk2-devel]
¦^Î`: [edk2-devel] UEFI spec version in system table, shall we update it to 2.8?
Thanks for sharing your inputs. Agree with your point.
As latest tianocore edk2 already added some of the interfaces or functionalities implemented from v2.8 by different communities,
Can we say it¡¦s compliant with v2.8? but as there is no analysis done to see whether all updates from 2.8 is implemented or not we can¡¦t say it¡¦s fully 2.8 Supported ?
Thanks & Regards
Karunakar Poosapalli
Firmware Principal Engineer, Client BIOS
Customer BIOS | Dell Core BIOS
CPG Software Engineering
| Dell Technologies
Mobile +91 9951902957
From: Kinney, Michael D <michael.d.kinney@intel.com>
Sent: Wednesday, September 20, 2023 2:34 AM
To: devel@edk2.groups.io; Poosapalli, Karunakar; POLUDOV, FELIX; Yao, Jiewen
Cc: Kinney, Michael D
Subject: RE: [edk2-devel]
¦^Î`: [edk2-devel] UEFI spec version in system table, shall we update it to 2.8?
[EXTERNAL EMAIL]
I do not think anyone has done the complete analysis since UEFI 2.7. Some updates from newer specs
have been added as needed by different community members.
Unless there are dedicated tasks to review and verify that every spec change has been added to edk2, the version can not be updated.
Mike
From: devel@edk2.groups.io <devel@edk2.groups.io>
On Behalf Of Poosapalli, Karunakar via groups.io
Sent: Tuesday, September 19, 2023 11:18 AM
To: Poosapalli, Karunakar <KarunakarPoosapalli@Dell.com>;
devel@edk2.groups.io; POLUDOV, FELIX <felixp@ami.com>; Yao, Jiewen <jiewen.yao@intel.com>
Subject: Re: [edk2-devel]
¦^Î`: [edk2-devel] UEFI spec version in system table, shall we update it to 2.8?
Hi All,
Can you please share your thoughts if any idea in EDK2 compliance with UEFI 2.8 Support ?
From UEFI sources and latest edk2 master branch is still at 2.7. Same for latest stable tag edk2-stable202308.
https://github.com/tianocore/edk2.git
[github.com]
#define EFI_SYSTEM_TABLE_REVISION EFI_2_70_SYSTEM_TABLE_REVISION
#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION
But we could see some of the features from 2.8 is already available and UEFI 2.9 spec also released but system table in edk2 is still pointing to 2.7.
Curious to know, Whether latest edk2 is not fully compliance with 2.8 or only system table update is missing for 2.8
Thanks & Regards
Karunakar Poosapalli
Firmware Principal Engineer, Client BIOS
Customer BIOS | Dell Core BIOS
CPG Software Engineering |
Dell Technologies
Mobile +91 9951902957
From: karunakar_poosapalli via groups.io <karunakar_poosapalli=dell.com@groups.io>
Sent: Tuesday, September 19, 2023 10:41 PM
To: Poosapalli, Karunakar; devel@edk2.groups.io
Subject: Re: [edk2-devel]
¦^Î`: [edk2-devel] UEFI spec version in system table, shall we update it to 2.8?
[EXTERNAL EMAIL]
In latest tianocore edk2 (https://github.com/tianocore/edk2
[github.com] ), we can see System table is still pointing to 2.70 Version(EFI_2_70_SYSTEM_TABLE_REVISION)
https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Uefi/UefiSpec.h
[github.com]
//
// EFI Runtime Services Table
//
#define EFI_SYSTEM_TABLE_SIGNATURE SIGNATURE_64 ('I','B','I',' ','S','Y','S','T')
#define EFI_2_80_SYSTEM_TABLE_REVISION ((2 << 16) | (80))
#define EFI_2_70_SYSTEM_TABLE_REVISION ((2 << 16) | (70))
#define EFI_2_60_SYSTEM_TABLE_REVISION ((2 << 16) | (60))
#define EFI_2_50_SYSTEM_TABLE_REVISION ((2 << 16) | (50))
#define EFI_2_40_SYSTEM_TABLE_REVISION ((2 << 16) | (40))
#define EFI_2_31_SYSTEM_TABLE_REVISION ((2 << 16) | (31))
#define EFI_2_30_SYSTEM_TABLE_REVISION ((2 << 16) | (30))
#define EFI_2_20_SYSTEM_TABLE_REVISION ((2 << 16) | (20))
#define EFI_2_10_SYSTEM_TABLE_REVISION ((2 << 16) | (10))
#define EFI_2_00_SYSTEM_TABLE_REVISION ((2 << 16) | (00))
#define EFI_1_10_SYSTEM_TABLE_REVISION ((1 << 16) | (10))
#define EFI_1_02_SYSTEM_TABLE_REVISION ((1 << 16) | (02))
#define EFI_SYSTEM_TABLE_REVISION EFI_2_70_SYSTEM_TABLE_REVISION
#define EFI_SPECIFICATION_VERSION EFI_SYSTEM_TABLE_REVISION
#define EFI_RUNTIME_SERVICES_SIGNATURE SIGNATURE_64 ('R','U','N','T','S','E','R','V')
#define EFI_RUNTIME_SERVICES_REVISION EFI_SPECIFICATION_VERSION
Does it mean latest tianocore is still not UEFI 2.8 version support or it supports 2.8 functionalities but the table version number is not yet updated?