[edk2-devel] PATCH v1 1/1 MdePkg: Remove Itanium leftover data structure

Paweł Poławski ppolawsk at redhat.com
Tue Dec 13 05:17:44 UTC 2022


Hi Mike

If there is a chance you were able to check if I should introduce new 
PPI with a new GUID for my pull request? Or we can push forward with 
exiting version?

In case of some changes needed - I could start implementing them right 
away so we could try to process everything before Christmas break.

Let me know what is your opinion.

Best regards,
Pawel

W dniu 1.12.2022 o 21:23, Paweł Poławski pisze:
> Hi Mike,
> 
> Thank you for the fast response.
> I will be waiting for your guidance on this topic.
> 
> Btw - I am too new in the EDK2 world to witness this Itanium
> deprecation back in 2019. How such process looks like?
> If it starts with update in documentation followed by the changes
> in the code? How long is the intermediate part where both - new and old
> functionality needs to be supported?
> 
> Best regards,
> Pawel
> 
> 
> W dniu 1.12.2022 o 18:01, Michael D Kinney pisze:
>> 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 <ppolawsk at redhat.com>
>>> Sent: Thursday, December 1, 2022 7:36 AM
>>> To: devel at edk2.groups.io
>>> Cc: Kinney, Michael D <michael.d.kinney at intel.com>; Gao, Liming 
>>> <gaoliming at byosoft.com.cn>; Liu, Zhiguang
>>> <zhiguang.liu at 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.kinney at intel.com>
>>> Cc: Liming Gao <gaoliming at byosoft.com.cn>
>>> Cc: Zhiguang Liu <zhiguang.liu at intel.com>
>>>
>>> Signed-off-by: Paweł Poławski <ppolawsk at 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 (#97287): https://edk2.groups.io/g/devel/message/97287
Mute This Topic: https://groups.io/mt/95384808/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list