From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id D6EB3780091 for ; Mon, 8 Jan 2024 03:56:49 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=XFvaddeZUvuRrVtjRo1dHnvdWPG5fZMMoB40NH3aEus=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1704686208; v=1; b=YgoH9PMmDUCuqKUnrQSSkPYllLzHkwASCp1iA8XogB6zLA4G7pseZj3aJoRuSpciJO7pUz4x wSzxrOvmqw2l5l4GUS6EiZxFznXAHnVr2OMPkfLeV2wFsfu7NkdhS8Upl/QLdw6nOvXJYoYooDE M3Gt921EICNj9Hp0aUOTAsCg= X-Received: by 127.0.0.2 with SMTP id miKYYY7687511xN5VIvz3lIH; Sun, 07 Jan 2024 19:56:48 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web11.32503.1704686204521068180 for ; Sun, 07 Jan 2024 19:56:47 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10946"; a="464189084" X-IronPort-AV: E=Sophos;i="6.04,340,1695711600"; d="scan'208";a="464189084" X-Received: from orviesa001.jf.intel.com ([10.64.159.141]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jan 2024 19:56:47 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.04,340,1695711600"; d="scan'208";a="29653016" X-Received: from shwdeopenlab702.ccr.corp.intel.com ([10.239.55.43]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jan 2024 19:56:46 -0800 From: "duntan" To: devel@edk2.groups.io Cc: Ray Ni , Laszlo Ersek , Rahul Kumar , Gerd Hoffmann , Min Xu Subject: [edk2-devel] [Patch V2 1/2] UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0 Date: Mon, 8 Jan 2024 11:55:51 +0800 Message-Id: <20240108035552.1102-2-dun.tan@intel.com> In-Reply-To: <20240108035552.1102-1-dun.tan@intel.com> References: <20240108035552.1102-1-dun.tan@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,dun.tan@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: uSX7hLtCTyrgtrzwK4WAjzrWx7686176AA= Content-Transfer-Encoding: 8bit X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=YgoH9PMm; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Set EXTENDED_PROCESSOR_INFORMATION to 0 in API MpInitLibGetProcessorInfo() of MpInitLibUp. This commit use ZeroMem() to set all fileds in output EFI_PROCESSOR_INFORMATION to 0 before StatusFlag field is reassigned. Previously EXTENDED_PROCESSOR_INFORMATION in the API MpInitLibGetProcessorInfo() of MpInitLibUp is ignored. In PEI/DXE MpInitLib, EXTENDED_PROCESSOR_INFORMATION will be retrived when BIT24 of input ProcessorNumber is set. This commit can avoid garbage in the output structure in MpInitLibGetProcessorInfo() of MpInitLibUp. Signed-off-by: Dun Tan Cc: Ray Ni Cc: Laszlo Ersek Cc: Rahul Kumar Cc: Gerd Hoffmann Cc: Min Xu --- UefiCpuPkg/Include/Library/MpInitLib.h | 2 ++ UefiCpuPkg/Library/MpInitLib/MpLib.c | 2 ++ UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c | 14 +++++++------- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/UefiCpuPkg/Include/Library/MpInitLib.h b/UefiCpuPkg/Include/Library/MpInitLib.h index 1853c46415..842c6f7ff9 100644 --- a/UefiCpuPkg/Include/Library/MpInitLib.h +++ b/UefiCpuPkg/Include/Library/MpInitLib.h @@ -63,6 +63,8 @@ MpInitLibGetNumberOfProcessors ( instant this call is made. This service may only be called from the BSP. @param[in] ProcessorNumber The handle number of processor. + Lower 24 bits contains the actual processor number. + BIT24 indicates if the EXTENDED_PROCESSOR_INFORMATION will be retrived. @param[out] ProcessorInfoBuffer A pointer to the buffer where information for the requested processor is deposited. @param[out] HealthData Return processor health data. diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpInitLib/MpLib.c index a359906923..cdfb570e61 100644 --- a/UefiCpuPkg/Library/MpInitLib/MpLib.c +++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c @@ -2333,6 +2333,8 @@ MpInitLibInitialize ( instant this call is made. This service may only be called from the BSP. @param[in] ProcessorNumber The handle number of processor. + Lower 24 bits contains the actual processor number. + BIT24 indicates if the EXTENDED_PROCESSOR_INFORMATION will be retrived. @param[out] ProcessorInfoBuffer A pointer to the buffer where information for the requested processor is deposited. @param[out] HealthData Return processor health data. diff --git a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c index 86f9fbf903..ea9a45c9c6 100644 --- a/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c +++ b/UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c @@ -77,6 +77,8 @@ MpInitLibGetNumberOfProcessors ( instant this call is made. This service may only be called from the BSP. @param[in] ProcessorNumber The handle number of processor. + Lower 24 bits contains the actual processor number. + BIT24 indicates if the EXTENDED_PROCESSOR_INFORMATION will be retrived. @param[out] ProcessorInfoBuffer A pointer to the buffer where information for the requested processor is deposited. @param[out] HealthData Return processor health data. @@ -108,13 +110,11 @@ MpInitLibGetProcessorInfo ( return EFI_NOT_FOUND; } - ProcessorInfoBuffer->ProcessorId = 0; - ProcessorInfoBuffer->StatusFlag = PROCESSOR_AS_BSP_BIT | - PROCESSOR_ENABLED_BIT | - PROCESSOR_HEALTH_STATUS_BIT; - ProcessorInfoBuffer->Location.Package = 0; - ProcessorInfoBuffer->Location.Core = 0; - ProcessorInfoBuffer->Location.Thread = 0; + ZeroMem (ProcessorInfoBuffer, sizeof (*ProcessorInfoBuffer)); + ProcessorInfoBuffer->StatusFlag = PROCESSOR_AS_BSP_BIT | + PROCESSOR_ENABLED_BIT | + PROCESSOR_HEALTH_STATUS_BIT; + if (HealthData != NULL) { GuidHob = GetFirstGuidHob (&gEfiSecPlatformInformationPpiGuid); if (GuidHob != NULL) { -- 2.31.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113350): https://edk2.groups.io/g/devel/message/113350 Mute This Topic: https://groups.io/mt/103591527/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-