From: "Ard Biesheuvel" <ardb@kernel.org>
To: Rebecca Cran <rebecca@quicinc.com>
Cc: devel@edk2.groups.io, Sami Mujawar <sami.mujawar@arm.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Leif Lindholm <quic_llindhol@quicinc.com>,
Jian J Wang <jian.j.wang@intel.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Tiger Liu <TigerLiu@zhaoxin.com>
Subject: Re: [PATCH v4 0/3] ArmPkg,MdeModulePkg: Implement EFI_MP_SERVICES_PROTOCOL for AArch64 and add an MpServicesTest application to exercise it
Date: Thu, 5 Jan 2023 18:39:11 +0100 [thread overview]
Message-ID: <CAMj1kXF+MAOOPi30uAYUesfT4tifjJ+nYzLkFCMRjuB2Y8YJxg@mail.gmail.com> (raw)
In-Reply-To: <20230104153727.345236-1-rebecca@quicinc.com>
On Wed, 4 Jan 2023 at 16:37, Rebecca Cran <rebecca@quicinc.com> wrote:
>
> Implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls for AArch64, and
> add an MpServicesTest application to exercise it.
>
> Changes from v3:
>
> Removed Ard's 'Reviewed-by' line from the commits since the code has changed
> sufficiently that it's no longer valid.
>
> 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(-)
Hello Rebecca,
Thanks for reposting this.
Running the secondaries with MMU and caches on is a huge improvement.
I would suggest, though, that we enable the MMU first thing out of
reset, and do so from asm code so we don't have to reason about the
stack (pushing something with the MMU off and popping it with the MMU
on requires cache maintenance as well, and there is no way this can be
done from the code itself without help from the compiler)
So I propose adding the diff below - note that only the variables
holding TCR, MAIR and TTBR0 need cache maintenance now (in addition to
the executable image) - everything else will be accessed by the
secondaries with the MMU enabled.
https://paste.debian.net/1266242/
WIth a tweak to the RPI4 platform that I sent out separately, this all
works fine for me (both with and without the diff above applied)
--
Ard.
next prev parent reply other threads:[~2023-01-05 17:39 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-04 15:37 [PATCH v4 0/3] ArmPkg,MdeModulePkg: Implement EFI_MP_SERVICES_PROTOCOL for AArch64 and add an MpServicesTest application to exercise it Rebecca Cran
2023-01-04 15:37 ` [PATCH v4 1/3] ArmPkg: Add GET_MPIDR_AFFINITY_BITS and MPIDR_MT_BIT to ArmLib.h Rebecca Cran
2023-01-04 15:37 ` [PATCH v4 2/3] ArmPkg: implement EFI_MP_SERVICES_PROTOCOL based on PSCI calls Rebecca Cran
2023-01-06 22:11 ` [edk2-devel] " Kun Qin
2023-01-16 18:41 ` Rebecca Cran
[not found] ` <1737D7D0377487BE.3916@groups.io>
2023-01-06 22:16 ` Kun Qin
2023-01-13 2:01 ` Kun Qin
2023-01-16 19:06 ` Rebecca Cran
2023-01-16 18:45 ` Rebecca Cran
2023-01-04 15:37 ` [PATCH v4 3/3] MdeModulePkg: Add new Application/MpServicesTest application Rebecca Cran
2023-01-06 9:40 ` Ard Biesheuvel
2023-01-06 11:02 ` [edk2-devel] " Laszlo Ersek
2023-01-06 18:40 ` Rebecca Cran
2023-01-06 22:33 ` Kun Qin
2023-01-08 4:56 ` Rebecca Cran
2023-01-09 1:32 ` Ni, Ray
2023-01-09 14:25 ` Rebecca Cran
2023-01-09 17:12 ` Ard Biesheuvel
2023-01-10 1:08 ` Ni, Ray
2023-01-15 1:02 ` Rebecca Cran
2023-01-07 22:19 ` Laszlo Ersek
2023-01-05 17:39 ` Ard Biesheuvel [this message]
2023-01-05 17:59 ` [PATCH v4 0/3] ArmPkg,MdeModulePkg: Implement EFI_MP_SERVICES_PROTOCOL for AArch64 and add an MpServicesTest application to exercise it Ard Biesheuvel
2023-01-06 5:11 ` [edk2-devel] " Kun Qin
2023-01-06 18:42 ` Rebecca Cran
2023-01-06 19:56 ` Kun Qin
2023-01-08 3:55 ` Rebecca Cran
2023-01-11 16:41 ` [edk2-devel] " Patrik Berglund
2023-01-11 22:54 ` Rebecca Cran
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAMj1kXF+MAOOPi30uAYUesfT4tifjJ+nYzLkFCMRjuB2Y8YJxg@mail.gmail.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox