Dimiri, Can you please clarify what OS move operation is being performed?
Memory ranges of type EfiRuntimeServicesData must remain at the same physical address. When SetVirtualAddressMap() is called, the OS can specify a virtual address that is different than the physical address, but the memory can not be moved to a different physical address. Thanks, Mike >-----Original Message----- >From: edk2-devel [mailto:[email protected]] On Behalf Of iMac >Pro >Sent: Thursday, October 15, 2015 1:59 AM >To: [email protected] >Subject: [edk2] SMM core problems > >Hi, > >Found that problems in PiSmmIpl.c/PiSmmCore.c: > >1. SMM_CORE_PRIVATE_DATA *gSmmCorePrivate is pointer >to EfiRuntimeServicesCode (.code and .data segs are merged in x86) memory >that can be declared as ReadOnly by OS. But >SmmCommunicationCommunicate >write to it. GPE in OS !!! > >2. EfiRuntimeServicesData memory can be moved by OS loader physically. >("preserved by the loader" in spec - not means in the same place). So this >is not best place to store SMM_CORE_PRIVATE_DATA also, because >PiSmmCore.c.does not know that boot loader moved it. > >Best regards, >Dimitri >_______________________________________________ >edk2-devel mailing list >[email protected] >https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

