one comment below On 10/31/15 01:17, Michael Kinney wrote: > A subset of fields in the EFI_SMM_SYSTEM_TABLE2 structure are identical > to the fields in the SMM_ENTRY_CONTEXT structure. CopyMem() is used to > transfer the contents of the SMM_ENTRY_CONTEXT structure into the > EFI_SMM_SYSTEM_TABLE2. This is confusing because SMM_ENTRY_CONTEXT is > not used in the declaration of EFI_SMM_SYSTEM_TABLE2 and field contents > are transferred without any reference to individual field names (i.e.
I think "e.g." should be used here, rather than "i.e.". Other than that, thank you for addressing this (and for the reference below as well). Reviewed-by: Laszlo Ersek <[email protected]> > CurrentlyExecutingCpu). In order to make the code easier to maintain > and understand, the CopyMem() is replaced with statements that transfer > each field of SMM_ENTRY_CONTEXT into EFI_SMM_SYSTEM_TABLE2. > > Reported-by: Laszlo Ersek <[email protected]> > Link: http://article.gmane.org/gmane.comp.bios.edk2.devel/3567 > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Michael Kinney <[email protected]> > --- > MdeModulePkg/Core/PiSmmCore/PiSmmCore.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c > b/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c > index 496638a..cc7ccec 100644 > --- a/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c > +++ b/MdeModulePkg/Core/PiSmmCore/PiSmmCore.c > @@ -430,13 +430,17 @@ SmmEntryPoint ( > BOOLEAN IsOverlapped; > > PERF_START (NULL, "SMM", NULL, 0) ; > > // > - // Update SMST using the context > + // Update SMST with contents of the SmmEntryContext structure > // > - CopyMem (&gSmmCoreSmst.SmmStartupThisAp, SmmEntryContext, sizeof > (EFI_SMM_ENTRY_CONTEXT)); > + gSmmCoreSmst.SmmStartupThisAp = SmmEntryContext->SmmStartupThisAp; > + gSmmCoreSmst.CurrentlyExecutingCpu = > SmmEntryContext->CurrentlyExecutingCpu; > + gSmmCoreSmst.NumberOfCpus = SmmEntryContext->NumberOfCpus; > + gSmmCoreSmst.CpuSaveStateSize = SmmEntryContext->CpuSaveStateSize; > + gSmmCoreSmst.CpuSaveState = SmmEntryContext->CpuSaveState; > > // > // Call platform hook before Smm Dispatch > // > PlatformHookBeforeSmmDispatch (); > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

