From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by mx.groups.io with SMTP id smtpd.web10.3313.1674519504249598121 for ; Mon, 23 Jan 2023 16:18:24 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=B3Rf8cFZ; spf=pass (domain: gmail.com, ip: 209.85.214.172, mailfrom: kuqin12@gmail.com) Received: by mail-pl1-f172.google.com with SMTP id p24so13118502plw.11 for ; Mon, 23 Jan 2023 16:18:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=76MwiG9sbwTfcucxWELYL1oueC1/OTssBm06CWiubc0=; b=B3Rf8cFZ0Lr+Va0aUNQw9Z13uw8LJVmshewTVeAP2iK+SW8KNH+hvd65X/wg1+pZte hHi8hMSXtvKT5834gpZFDftEnVkdyDlY5xqkY5OpCjCLD9lexstHTV6oq+p/lEU+lMWn IxiDDXRGjzN8WPkk27JtXBg4TI/Jeg1U2U6m6dEUeygUhcHnTsg9LCShKopm6pGpdYo/ UOsCFnF5emRAgGv530tDktyKLodGGCy7OScWyXkfi4ChJ6r1ea8022VXUsKUMbxJUyjs 5r5AhX3oeeXCCxeZTYdRwqCak4gwsjIpXDbighIS7NANMJihlHKzLwIOeZ2UJbnyRQIm shbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=76MwiG9sbwTfcucxWELYL1oueC1/OTssBm06CWiubc0=; b=04KDv+DJvIlSEBCaDWAT1DmZJOI5OUAHW/Cj+8LKC+fePsR7kFFhy4LvoNbe8eh70u Vkrfd/JrEY59fMueV4l4cSDltYBubvhnfnDvlmANBIJn/gPzjzhWWf5ZNf1jPBWzlZgw klgFLE2K74Un7+C2pUZN12vtybXcn3jGx+iguZTtPFufTVEAilmhuNh+Ew3f++fu1S4x NUw70aJWTT6DRvEgy/g49Z/EWizxZf2YPMmjmB49GWmztjumb/Q/CcecojN1xyLposCG LSeG/WmoAcH5WWQ8U5P4j+g2xGwdaLq5lbvnL5Tmo3/WdiCxEKIIT1dgd7tBbHK8e83a nt5A== X-Gm-Message-State: AFqh2ko2b/NMZH9j+fh6HjMNdmvq9Rh8rViGE9KNoTDp34AFRZik18dn YEfvp+HNCJCl9U/WI1z6TBI= X-Google-Smtp-Source: AMrXdXv4pqmHiAuCBBKqGbM1ttQZ9nk0UFIk1gDWTmYZgA5YGI30vuppL94wbEBAbiHWB00+Rg7rDg== X-Received: by 2002:a05:6a20:4a1d:b0:b8:a0e1:2750 with SMTP id fr29-20020a056a204a1d00b000b8a0e12750mr23087927pzb.4.1674519503572; Mon, 23 Jan 2023 16:18:23 -0800 (PST) Return-Path: Received: from ?IPV6:2001:4898:d8:33:19ec:d7f6:4121:b7ff? ([2001:4898:80e8:37:99d7:d7f6:4121:b7ff]) by smtp.gmail.com with ESMTPSA id fh3-20020a17090b034300b00228e56d375asm204199pjb.33.2023.01.23.16.18.22 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Jan 2023 16:18:23 -0800 (PST) Message-ID: <5dfc143f-f6a3-f52a-bc79-68efc6d9479a@gmail.com> Date: Mon, 23 Jan 2023 16:18:22 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [PATCH v5 0/2] ArmPkg: Implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls for AArch64 To: Rebecca Cran , devel@edk2.groups.io, Sami Mujawar , Ard Biesheuvel , Leif Lindholm , Jian J Wang , Liming Gao , Tiger Liu References: <20230117045731.412528-1-rebecca@quicinc.com> From: "Kun Qin" 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 Thanks for sharing the updated patches. I tested the patches on both QEMU and FVP, they work for all my use cases. Although my vote probably does not mean much, thanks again for sharing this update: Tested-by: Kun Qin On 1/16/2023 8:57 PM, 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 >