+  CopyMem (ProcessorInfoBuffer, &gTdxProcessorInformation, sizeof 
(EFI_PROCESSOR_INFORMATION));

Min,
You may not directly copy the whole structure to ProcessorInfoBuffer.

Because per the structure definition(below), ExtendedInformation is only filled 
when
CPU_V2_EXTENDED_TOPOLOGY is set in ProcessorNumber.

This behavior is to be backward compatible with old caller that passes old 
structure (without ExtendedInformation)
and support new caller that passes new structure requiring ExtendedInformation.

So, the correct behavior is to only fill ExtendedInformation when 
CPU_V2_EXTENDED_TOPOLOGY is set in ProcessorNumber.
The CPU_V2_EXTENDED_TOPOLOGY is a flag to tell callee that caller provides a 
big enough buffer for ExtendedInformation.

  UINT32                            StatusFlag;
  ///
  /// The physical location of the processor, including the physical package 
number
  /// that identifies the cartridge, the physical core number within package, 
and
  /// logical thread number within core.
  ///
  EFI_CPU_PHYSICAL_LOCATION         Location;
  ///
  /// The extended information of the processor. This field is filled only when
  /// CPU_V2_EXTENDED_TOPOLOGY is set in parameter ProcessorNumber.
  EXTENDED_PROCESSOR_INFORMATION    ExtendedInformation;
} EFI_PROCESSOR_INFORMATION;


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


Reply via email to