From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by mx.groups.io with SMTP id smtpd.web11.102515.1674828195260406652 for ; Fri, 27 Jan 2023 06:03:15 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=maHBIMU4; spf=pass (domain: kernel.org, ip: 139.178.84.217, mailfrom: ardb@kernel.org) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 894B061C3F for ; Fri, 27 Jan 2023 14:03:14 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F39B6C4339E for ; Fri, 27 Jan 2023 14:03:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1674828194; bh=GsiyyCVC/+6+8noygszl+9cE9Xwd7Yd9i7DGOqvZz/I=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=maHBIMU450Xl+wBO6xK2UWJfRVDKed+a2JT2Wo+LHqd8p9eiEwnD0RSk3emYPX99v IM66B9T/bFWxTjztTUnkrkM7kfINyPowAkWGo8+VP17inVHRjqiXM6/j8A1adrvoxB aBnrR9OOBKYgE0/f3OotJ/aIMrSJA5sHprxpFxKQWz3BpjTNdpXRKl6vSS2I04ZYvl Pw9wxJaY5W0NLyh/5F6GiLMM721VdwyOL6JaMrbi3QTq1xvLwxTv/qIc1e7mxxNROl aocWwscIUYdc138VMPJGum4iC4Wz2JbVAZn48bGfJIOvbHuJZ3dli4nKxgx47hIpTO sFnvg5YO4HCgA== Received: by mail-lf1-f51.google.com with SMTP id a11so8384253lfg.0 for ; Fri, 27 Jan 2023 06:03:13 -0800 (PST) X-Gm-Message-State: AFqh2kqXBy45jHIhufm9JiyxVjoaTQD0+EWBKSu2O3B3x052f8IIzUgv zIMCoTFQrfvKRQQmXglcaUEaPh/gsH838SEJQB8= X-Google-Smtp-Source: AMrXdXtaErXaXXEdVZBDmQioRcA7GtidPcaLeYdCIWNt8eIoBgL4FctJgAFdaKa7KS5tTWOpU7eDyguqblyGww/rL1o= X-Received: by 2002:a05:6512:3f26:b0:4d5:8e78:26e9 with SMTP id y38-20020a0565123f2600b004d58e7826e9mr2151948lfa.414.1674828191862; Fri, 27 Jan 2023 06:03:11 -0800 (PST) MIME-Version: 1.0 References: <20230117045731.412528-1-rebecca@quicinc.com> <7bb8ae7b-1c77-7eff-4c43-33b0f757d096@bsdio.com> In-Reply-To: <7bb8ae7b-1c77-7eff-4c43-33b0f757d096@bsdio.com> From: "Ard Biesheuvel" Date: Fri, 27 Jan 2023 15:02:59 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [edk2-devel] [PATCH v5 0/2] ArmPkg: Implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls for AArch64 To: Rebecca Cran Cc: devel@edk2.groups.io, quic_rcran@quicinc.com, Sami Mujawar , Ard Biesheuvel , Leif Lindholm , Jian J Wang , Liming Gao , Tiger Liu , Kun Qin , Rebecca Cran Content-Type: text/plain; charset="UTF-8" On Fri, 27 Jan 2023 at 05:10, Rebecca Cran wrote: > > Could I get some more reviews on this please? > > Reviewed-by: Ard Biesheuvel Thanks a lot for your persistence. Queued up here https://github.com/tianocore/edk2/pull/3956 > > 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 > >