Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MdePkg/Include/Ppi: Remove Itanium leftover data structure #4181

Merged
merged 1 commit into from Mar 26, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
MdePkg/Include/Ppi: Remove Itanium leftover data structure
Itanium support has been removed from EDK2 around 2019.
ITANIUM_HANDOFF_STATUS data structure looks to be
some leftover from that process.

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1560
GitHub: 4e1daa6

There is also positive side effect 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@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Signed-off-by: Paweł Poławski <ppolawsk@redhat.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
  • Loading branch information
elkoniu authored and mdkinney committed Mar 26, 2023
commit 03ca8224f995eda75e2769ed9a2fc437e321db8e
51 changes: 5 additions & 46 deletions MdePkg/Include/Ppi/SecPlatformInformation.h
Expand Up @@ -84,57 +84,16 @@ 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.
/// ItaniumHealthFlags has been removed from this union due to Itanium support
/// being deprecated. The union has now diverged from the definition
/// in the PI Specification.
///
typedef union {
IA32_HANDOFF_STATUS IA32HealthFlags;
X64_HANDOFF_STATUS x64HealthFlags;
ITANIUM_HANDOFF_STATUS ItaniumHealthFlags;
IA32_HANDOFF_STATUS IA32HealthFlags;
X64_HANDOFF_STATUS x64HealthFlags;
} EFI_SEC_PLATFORM_INFORMATION_RECORD;

/**
Expand Down