[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