[edk2-devel] [PATCH] StandaloneMmPkg/StandaloneMmMemLib: Update AARCH64 address size

Ard Biesheuvel ardb at kernel.org
Tue Jan 24 12:32:51 UTC 2023


On Tue, 24 Jan 2023 at 13:20, Milosek, Damian <damian.milosek at intel.com> wrote:
>
>
>
> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Ard Biesheuvel
> Sent: Monday, January 23, 2023 6:46 PM
> To: Milosek, Damian <damian.milosek at intel.com>
> Cc: devel at edk2.groups.io; sami.mujawar at arm.com; Yao, Jiewen <jiewen.yao at intel.com>
> Subject: Re: [edk2-devel] [PATCH] StandaloneMmPkg/StandaloneMmMemLib: Update AARCH64 address size
>
> On Mon, 23 Jan 2023 at 17:14, Milosek, Damian <damian.milosek at intel.com> wrote:
> >
> >
> >
> > -----Original Message-----
> > From: Ard Biesheuvel <ardb at kernel.org>
> > Sent: Monday, January 23, 2023 5:05 PM
> > To: Milosek, Damian <damian.milosek at intel.com>
> > Cc: devel at edk2.groups.io; sami.mujawar at arm.com; Yao, Jiewen
> > <jiewen.yao at intel.com>
> > Subject: Re: [PATCH] StandaloneMmPkg/StandaloneMmMemLib: Update
> > AARCH64 address size
> >
> > On Mon, 23 Jan 2023 at 16:51, Milosek, Damian <damian.milosek at intel.com> wrote:
> > >
> > >
> > >
> > >
> > >
> > > From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of
> > > Milosek, Damian
> > > Sent: Monday, January 16, 2023 2:51 PM
> > > To: devel at edk2.groups.io
> > > Cc: Milosek, Damian <damian.milosek at intel.com>
> > > Subject: [edk2-devel] [PATCH] StandaloneMmPkg/StandaloneMmMemLib:
> > > Update AARCH64 address size
> > >
> > >
> > >
> > > Enable StandaloneMmMemLib to use longer physical addresses than 36 bits.
> > >
> >
> > What is the purpose of this change?
> >
> > - Making this Lib working for newer systems that use longer addresses.
> >
>
> What is the symptom? How is it failing currently?
>
> - Failure occurs in the first check in MmIsBufferOutsideMmValid () function when using longer address.
>
> > > According to ARM "Learn the architecture - AArch64 memory management"
> > >
> > > since Armv8.2-A physical address size was extended to 52 bits.
> > >
> > > https://developer.arm.com/documentation/101811/0102/Address-spaces
> > >
> >
> > This is an optional extension. Which hardware are you using that implements this extension?
> >
> > - System with Armv9-A Neoverse CPU cores.
> >
>
> Which system? What does the memory map look like?
>
> - It is not productized yet so cannot give any more info. However it seems that specific system is not relevant here.
>   Current definition assumes max 36 bits for AARCH64 which is not the case anymore.
>

Fair enough.

The problem with 52 bit support is that when using 4k pages (which is
the only page size supported by EFI), the page table entry layout is
different, and the shareability of a region is derived in a different
manner. None of this is implemented in the MMU library, and I would
actually prefer to avoid this if possible.

We can increase this to 48 without any problems, though.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#98976): https://edk2.groups.io/g/devel/message/98976
Mute This Topic: https://groups.io/mt/96320111/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list