From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web11.2875.1687160811414090506 for ; Mon, 19 Jun 2023 00:47:04 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=kUuCscKw; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: hongbin1.zhang@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687160823; x=1718696823; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=6rlzafkiV2djTQd+0d/NHgdc0HfwTtAaqNm2qTNPPVg=; b=kUuCscKwps88OWfWm/UvlDh3Cw/s6NEweOvG699+5i71dw06CtC6X4RV E6jho+pB/QOeIi+V35PnF39dbnHIU2oVQyI7XCgiC/oJRkJggfGX9pHsY LBtueddeo/uwileoSAmuoOUksNPGb9oM331uHNYeGgMSHDgxeFW4JvU9d /aC/PIVzxHrKsiq1SR6G7FCQ0NUYVR6WvLH9zSEILYFwxSBCGJdMTn0zK MINO1/AT5D0U6pP/0yWz/T7lLVPLgGmOI0V5AxbODT7PKy904NPVdKaeV 2DI+Hsxn7joE2OCmSY/ZOXh09pLbqxDhRPZaSjW7JgqKm0FvN4XCG4zZ0 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10745"; a="339904889" X-IronPort-AV: E=Sophos;i="6.00,254,1681196400"; d="scan'208";a="339904889" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jun 2023 00:47:03 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10745"; a="960346506" X-IronPort-AV: E=Sophos;i="6.00,254,1681196400"; d="scan'208";a="960346506" Received: from hongbin1-mobl1.ccr.corp.intel.com ([10.238.0.232]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jun 2023 00:47:01 -0700 From: "Zhang, Hongbin1" To: devel@edk2.groups.io Cc: "Zhang, Hongbin1" , Jiewen Yao , Ray Ni , Star Zeng , Jiaxin Wu , Sami Mujawar , Ard Biesheuvel , Supreeth Venkatesh Subject: [PATCH v4 4/5] StandaloneMmPkg: Add StandaloneMmIplPei driver. Date: Mon, 19 Jun 2023 15:46:38 +0800 Message-Id: <20230619074639.1569-4-hongbin1.zhang@intel.com> X-Mailer: git-send-email 2.37.0.windows.1 In-Reply-To: <20230619074639.1569-1-hongbin1.zhang@intel.com> References: <20230619074639.1569-1-hongbin1.zhang@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add StandaloneMmIplPei IA32/X64 driver at PEI stage. FSP will use this driver to load Standalone MM code to dispatch other Standalone MM drivers. Signed-off-by: Hongbin1 Zhang Cc: Jiewen Yao Cc: Ray Ni Cc: Star Zeng Cc: Jiaxin Wu Cc: Sami Mujawar Cc: Ard Biesheuvel Cc: Supreeth Venkatesh --- StandaloneMmPkg/Drivers/StandaloneMmIplPei/StandaloneMmIplPei.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/StandaloneMmPkg/Drivers/StandaloneMmIplPei/StandaloneMmIplPei.c b/StandaloneMmPkg/Drivers/StandaloneMmIplPei/StandaloneMmIplPei.c index 47cc18ecbd..0d0c678f90 100644 --- a/StandaloneMmPkg/Drivers/StandaloneMmIplPei/StandaloneMmIplPei.c +++ b/StandaloneMmPkg/Drivers/StandaloneMmIplPei/StandaloneMmIplPei.c @@ -400,8 +400,17 @@ ExecuteSmmCoreFromSmram ( DEBUG ((DEBUG_INFO, "SMM IPL calling Standalone MM Core at SMRAM address - 0x%016lx\n", gMmCorePrivate->MmCoreEntryPoint)); // - // If StandaloneMmIpl driver is IA32 image, but Standalone MM core is X64 image - // Switch 32 bit protect mode to X64 mode and load SMM core + // If StandaloneMmIpl driver is X64 image, but Standalone MM core is IA32 image + // This case is not supported + // + if ((sizeof (UINTN) == sizeof (UINT64)) && (ImageContext.Machine == EFI_IMAGE_MACHINE_IA32)) { + DEBUG ((DEBUG_ERROR, "X64 SMM IPL call IA32 MM core is not supported !\n")); + CpuDeadLoop (); + } + + // + // If StandaloneMmIpl driver is IA32 image, but Standalone MM core is X64 image, + // Switch 32 bit protect mode to X64 mode and load SMM core. // if ((sizeof (UINTN) == sizeof (UINT32)) && (ImageContext.Machine == EFI_IMAGE_MACHINE_X64)) { // -- 2.37.0.windows.1