From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by mx.groups.io with SMTP id smtpd.web10.14949.1672846291809774518 for ; Wed, 04 Jan 2023 07:31:31 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=M/ECduxD; spf=permerror, err=parse error for token &{10 18 %{ir}.%{v}.%{d}.spf.has.pphosted.com}: invalid domain name (domain: quicinc.com, ip: 205.220.168.131, mailfrom: quic_rcran@quicinc.com) Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 304FJGv2011314; Wed, 4 Jan 2023 15:31:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding : content-type; s=qcppdkim1; bh=j3Hj1nCMPAIR21RxV8PE0FC18lNDu/VZD3V79bIt+qY=; b=M/ECduxD4Rtz25P7n9rUG3yewRoEHtFOycYxadUqLrLNcwNGj7D1p6rk2jzRH12jlSm8 ZMC5ia4pm29d/MrflTM+w9v5s4dGyeBT83yshfaUVv61Kj3y6LDVSUqxit0HRFGOnQMJ Fl2yhRdc9K/p3IY7xITsAV5pivyleiSfHEO2RcdbNe6G/da4SnP37CEVzMpUiJrsYV8f g5HfiR8MhKi7ybECYLqOZTiywTfWsVrj3Ez91Y7Dv1/SFbEHyF1F+2V1k/lYs7sun32g FKcGrtqp2MvTVfulGGCkV9wxM4KfhUFPeozRIw7AK1WiqnsRCPioDlCL1ZD8PkZhbo4w /Q== Received: from nalasppmta03.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3mvsvf23et-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 04 Jan 2023 15:31:20 +0000 Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 304FVKmM016772 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 4 Jan 2023 15:31:20 GMT Received: from linbox.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Wed, 4 Jan 2023 07:31:19 -0800 From: Rebecca Cran To: , Sami Mujawar , "Ard Biesheuvel" , Leif Lindholm , Jian J Wang , Liming Gao CC: Rebecca Cran Subject: [PATCH v3 0/3] ArmPkg,MdeModulePkg: Implement EFI_MP_SERVICES_PROTOCOL for AArch64 and add MpServicesTest application Date: Wed, 4 Jan 2023 08:30:53 -0700 Message-ID: <20230104153056.343258-1-rebecca@quicinc.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: VmLtrEatgh7JvZliOMnTd9XjXV4iAKVd X-Proofpoint-GUID: VmLtrEatgh7JvZliOMnTd9XjXV4iAKVd X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2023-01-04_07,2023-01-04_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 adultscore=0 clxscore=1011 priorityscore=1501 spamscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=912 mlxscore=0 bulkscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301040130 Content-Transfer-Encoding: 8bit Content-Type: text/plain Implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls for AArch64, and add an MpServicesTest application to exercise it. Changes from v2: - Moved definition of MT bit and macro to get affinity bits into ArmLib.h. - Fixed issues noted during review. - Fixed various issues in non-blocking mode. - Fixed bugs when a timeout occurs. Tested on NVIDIA Jetson AGX Orin Developer Kit, Arm Juno r2. The RDN2 (Neoverse N2) FVP has problems with caches, but I believe this is a bug in the model, not the MP Services code. Personal (test) PR: https://github.com/tianocore/edk2/pull/3849 Rebecca Cran (3): ArmPkg: Add GET_MPIDR_AFFINITY_BITS and MPIDR_MT_BIT to ArmLib.h ArmPkg: implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls MdeModulePkg: Add new Application/MpServicesTest application ArmPkg/ArmPkg.dsc | 1 + MdeModulePkg/MdeModulePkg.dsc | 2 + ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf | 56 + MdeModulePkg/Application/MpServicesTest/MpServicesTest.inf | 40 + ArmPkg/Drivers/ArmPsciMpServicesDxe/MpServicesInternal.h | 344 ++++ ArmPkg/Include/Library/ArmLib.h | 16 +- MdeModulePkg/Application/MpServicesTest/Options.h | 39 + ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.c | 1847 ++++++++++++++++++++ MdeModulePkg/Application/MpServicesTest/MpServicesTest.c | 560 ++++++ MdeModulePkg/Application/MpServicesTest/Options.c | 164 ++ ArmPkg/Drivers/ArmPsciMpServicesDxe/MpFuncs.S | 57 + 11 files changed, 3119 insertions(+), 7 deletions(-) create mode 100644 ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf create mode 100644 MdeModulePkg/Application/MpServicesTest/MpServicesTest.inf create mode 100644 ArmPkg/Drivers/ArmPsciMpServicesDxe/MpServicesInternal.h create mode 100644 MdeModulePkg/Application/MpServicesTest/Options.h create mode 100644 ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.c create mode 100644 MdeModulePkg/Application/MpServicesTest/MpServicesTest.c create mode 100644 MdeModulePkg/Application/MpServicesTest/Options.c create mode 100644 ArmPkg/Drivers/ArmPsciMpServicesDxe/MpFuncs.S -- 2.30.2