Hi Pawel,

Thank you for the patch.  I agree this fixes the size issue.

However, this structure and the associated PPI are defined in the PI Spec
and other modules may depend on the structure layout and would have to be 
rebuilt after this structure change.

It would be better to have a backwards compatible change here and I do
not have a specific proposal yet that both reduces the size and
preserves backwards compatibility.

There have been examples in the past where we have had to introduce
a new version of a PPI with a new GUID for this type of change.

I will get back to you on this topic in a few days.

Thanks,

Mike

> -----Original Message-----
> From: Paweł Poławski <ppola...@redhat.com>
> Sent: Thursday, December 1, 2022 7:36 AM
> To: devel@edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kin...@intel.com>; Gao, Liming 
> <gaolim...@byosoft.com.cn>; Liu, Zhiguang
> <zhiguang....@intel.com>
> Subject: [edk2-devel] PATCH v1 1/1 MdePkg: Remove Itanium leftover data 
> structure
> 
> Itanium support has been removed from EDK2 aroun 2019.
> ITANIUM_HANDOFF_STATUS data structure looks to be
> some leftover from that process.
> 
> There is also positive sidefect of this data structure removal.
> Due to HOB allocation type used in PEI stage there is a limit
> how much data about virtual CPU can be hold. This limit result
> in only 1024 vCPU can be used by VM.
> With Itanium related data structure removed more allocated space
> can be used for vCPU data and with current allocation limit
> will change from 1024 to around 8k vCPUs.
> 
> Cc: Michael D Kinney <michael.d.kin...@intel.com>
> Cc: Liming Gao <gaolim...@byosoft.com.cn>
> Cc: Zhiguang Liu <zhiguang....@intel.com>
> 
> Signed-off-by: Paweł Poławski <ppola...@redhat.com>
> ---
>  MdePkg/Include/Ppi/SecPlatformInformation.h | 44 --------------------
>  1 file changed, 44 deletions(-)
> 
> diff --git a/MdePkg/Include/Ppi/SecPlatformInformation.h 
> b/MdePkg/Include/Ppi/SecPlatformInformation.h
> index 02b0711f189e..fbcd205acd96 100644
> --- a/MdePkg/Include/Ppi/SecPlatformInformation.h
> +++ b/MdePkg/Include/Ppi/SecPlatformInformation.h
> @@ -84,49 +84,6 @@ typedef union {
> 
>  typedef EFI_HEALTH_FLAGS X64_HANDOFF_STATUS;
>  typedef EFI_HEALTH_FLAGS IA32_HANDOFF_STATUS;
> -///
> -/// The hand-off status structure for Itanium architecture.
> -///
> -typedef struct {
> -  ///
> -  /// SALE_ENTRY state : 3 = Recovery_Check
> -  /// and 0 = RESET or Normal_Boot phase.
> -  ///
> -  UINT8     BootPhase;
> -  ///
> -  /// Firmware status on entry to SALE.
> -  ///
> -  UINT8     FWStatus;
> -  UINT16    Reserved1;
> -  UINT32    Reserved2;
> -  ///
> -  /// Geographically significant unique processor ID assigned by PAL.
> -  ///
> -  UINT16    ProcId;
> -  UINT16    Reserved3;
> -  UINT8     IdMask;
> -  UINT8     EidMask;
> -  UINT16    Reserved4;
> -  ///
> -  /// Address to make PAL calls.
> -  ///
> -  UINT64    PalCallAddress;
> -  ///
> -  /// If the entry state is RECOVERY_CHECK, this contains the PAL_RESET
> -  /// return address, and if entry state is RESET, this contains
> -  /// address for PAL_authentication call.
> -  ///
> -  UINT64    PalSpecialAddress;
> -  ///
> -  /// GR35 from PALE_EXIT state.
> -  ///
> -  UINT64    SelfTestStatus;
> -  ///
> -  /// GR37 from PALE_EXIT state.
> -  ///
> -  UINT64    SelfTestControl;
> -  UINT64    MemoryBufferRequired;
> -} ITANIUM_HANDOFF_STATUS;
> 
>  ///
>  /// EFI_SEC_PLATFORM_INFORMATION_RECORD.
> @@ -134,7 +91,6 @@ typedef struct {
>  typedef union {
>    IA32_HANDOFF_STATUS       IA32HealthFlags;
>    X64_HANDOFF_STATUS        x64HealthFlags;
> -  ITANIUM_HANDOFF_STATUS    ItaniumHealthFlags;
>  } EFI_SEC_PLATFORM_INFORMATION_RECORD;
> 
>  /**
> --
> 2.38.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#96838): https://edk2.groups.io/g/devel/message/96838
Mute This Topic: https://groups.io/mt/95384808/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to