From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by mx.groups.io with SMTP id smtpd.web10.95175.1674792651706804673 for ; Thu, 26 Jan 2023 20:10:51 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@bsdio.com header.s=fm1 header.b=Ost1ust0; spf=pass (domain: bsdio.com, ip: 66.111.4.26, mailfrom: rebecca@bsdio.com) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 122CE5C011B; Thu, 26 Jan 2023 23:10:51 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Thu, 26 Jan 2023 23:10:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdio.com; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm1; t=1674792651; x= 1674879051; bh=iMr43gvztHjUTNlwdbnlQ386yW2JNr7O7mGTTcM9SCM=; b=O st1ust0vjZh1vn95EXUXbpuJ9eBo0tBfGsQ9crcRWxffuzbh7z9dpkXLAET0mRZG sQlCnVq4y7GeaatLCzZNzYf4ub1GgA6bDqEi68Q9lbknTllB/wfracZVtPqtVCBP kMgoOYpe1vwpAnz/BDKWadU05Dz8Z0Li6AKVdmrf35jaK29+/hJxfvLN9JNYfL/p 927OzWzo+gmDz/rXIkQ+PwuHK6kYAeNv+bQpYUYYFhG979bOz2djwgfVTyN9PUrf J95FuHelH6lbBTJGt7kMGI1zmu+cZTUmtvGbiIGjOKxBdE9Ups/RDx3BU6F89MB0 r9i7Lr3uAUIl7J2iVSXgw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1674792651; x= 1674879051; bh=iMr43gvztHjUTNlwdbnlQ386yW2JNr7O7mGTTcM9SCM=; b=e pyJpEjLNYgHNHlTBCbR2SpGojNOhj45kX4rTTt4bDfpnfLkluCNBOSf6ilYqsRY4 yhrlq5G1pQfMbM12Y5VJOaKjKIdcEUw9zBUSvH1+Unm208ogNrF8nYfdOwLrn198 9Yd7dhQYQ7SCM4AurHu7XSYdU0jveSMNGZPlebWVSMPZ2G+MzXwF76Vbw/NL7KTd oi97mF/DKVPAPIs21NJBIfz2/m4n/WdvayO9AXS6jf2cTQZpQMuXoXHF/ghCAYog bJnMdar5DaNY3HrUixi7c6lY2pGXATnFxBL6aoU0jCdigaK6AVRQMEGLAZko7V0B LhRUYm7nTAKY68VhU1ywg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedruddvhedgjedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtjeertddtfeejnecuhfhrohhmpeftvggs vggttggrucevrhgrnhcuoehrvggsvggttggrsegsshguihhordgtohhmqeenucggtffrrg htthgvrhhnpeehleekgfdutedugeehgeffgffhteefhffhteetfeevhefgvdejhedthfff ieffleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpe hrvggsvggttggrsegsshguihhordgtohhm X-ME-Proxy: Feedback-ID: i5b994698:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 26 Jan 2023 23:10:48 -0500 (EST) Message-ID: <7bb8ae7b-1c77-7eff-4c43-33b0f757d096@bsdio.com> Date: Thu, 26 Jan 2023 21:10:47 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [edk2-devel] [PATCH v5 0/2] ArmPkg: Implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls for AArch64 To: devel@edk2.groups.io, quic_rcran@quicinc.com, Sami Mujawar , Ard Biesheuvel , Leif Lindholm , Jian J Wang , Liming Gao , Tiger Liu , Kun Qin Cc: Rebecca Cran References: <20230117045731.412528-1-rebecca@quicinc.com> From: "Rebecca Cran" In-Reply-To: <20230117045731.412528-1-rebecca@quicinc.com> Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Could I get some more reviews on this please? Thanks. Rebecca Cran On 1/16/23 21:57, Rebecca Cran wrote: > Implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls for AArch64. > > Note that several tests from UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol > will fail because there's currently no mechanism implemented to reset > APs that are stuck running the user's code (e.g. tests that run an > infinite loop). > On x86 an IPI is sent to take back control: something similar should be > implemented on Arm. > > Changes from v4: > > o Changes based on review feedback from Kun Qin. > o Dropped the MpServicesTest patch, since > UefiCpuPkg/Test/UnitTest/EfiMpServicesPpiProtocol implements similar > functionality. > > Changes from v2: > > Added a CPU exception handler for the APs so that if the user's code > causes an exception (e.g. because the application terminates) the AP > state is set to CpuStateFinished and the core powered off. > > Rebecca Cran (2): > ArmPkg: Add GET_MPIDR_AFFINITY_BITS and MPIDR_MT_BIT to ArmLib.h > ArmPkg: implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls > > ArmPkg/ArmPkg.dsc | 1 + > ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf | 56 + > ArmPkg/Drivers/ArmPsciMpServicesDxe/MpServicesInternal.h | 345 ++++ > ArmPkg/Include/Library/ArmLib.h | 16 +- > ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.c | 1859 ++++++++++++++++++++ > ArmPkg/Drivers/ArmPsciMpServicesDxe/MpFuncs.S | 74 + > 6 files changed, 2344 insertions(+), 7 deletions(-) > create mode 100644 ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.inf > create mode 100644 ArmPkg/Drivers/ArmPsciMpServicesDxe/MpServicesInternal.h > create mode 100644 ArmPkg/Drivers/ArmPsciMpServicesDxe/ArmPsciMpServicesDxe.c > create mode 100644 ArmPkg/Drivers/ArmPsciMpServicesDxe/MpFuncs.S >