[PATCH RESEND v3] ACPI: Add memory semantics to acpi_os_map_memory()

Rafael J. Wysocki rafael at kernel.org
Wed Aug 25 10:46:19 PDT 2021


On Mon, Aug 23, 2021 at 2:31 PM Catalin Marinas <catalin.marinas at arm.com> wrote:
>
> On Mon, Aug 23, 2021 at 11:46:18AM +0100, Lorenzo Pieralisi wrote:
> > The memory attributes attached to memory regions depend on architecture
> > specific mappings.
> >
> > For some memory regions, the attributes specified by firmware (eg
> > uncached) are not sufficient to determine how a memory region should be
> > mapped by an OS (for instance a region that is define as uncached in
> > firmware can be mapped as Normal or Device memory on arm64) and
> > therefore the OS must be given control on how to map the region to match
> > the expected mapping behaviour (eg if a mapping is requested with memory
> > semantics, it must allow unaligned accesses).
> >
> > Rework acpi_os_map_memory() and acpi_os_ioremap() back-end to split
> > them into two separate code paths:
> >
> > acpi_os_memmap() -> memory semantics
> > acpi_os_ioremap() -> MMIO semantics
> >
> > The split allows the architectural implementation back-ends to detect
> > the default memory attributes required by the mapping in question
> > (ie the mapping API defines the semantics memory vs MMIO) and map the
> > memory accordingly.
> >
> > Link: https://lore.kernel.org/linux-arm-kernel/31ffe8fc-f5ee-2858-26c5-0fd8bdd68702@arm.com
> > Tested-by: Hanjun Guo <guohanjun at huawei.com>
> > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
> > Acked-by: Ard Biesheuvel <ardb at kernel.org>
> > Cc: Ard Biesheuvel <ardb at kernel.org>
> > Cc: Will Deacon <will at kernel.org>
> > Cc: Hanjun Guo <guohanjun at huawei.com>
> > Cc: Sudeep Holla <sudeep.holla at arm.com>
> > Cc: Catalin Marinas <catalin.marinas at arm.com>
> > Cc: "Rafael J. Wysocki" <rjw at rjwysocki.net>
> > ---
> > Resending with all lists CC'ed.
> >
> > Patch series is a v3 of a previous version[2]:
> >
> > v2->v3:
> >       - Dropped first two-patches following LKML feedback[2]
> > v1->v2
> >       - Added patch 1 and 2 according to feedback received on[1]
> >
> > [1] https://lore.kernel.org/linux-acpi/20210726100026.12538-1-lorenzo.pieralisi@arm.com
> > [2] https://lore.kernel.org/linux-acpi/20210802152359.12623-1-lorenzo.pieralisi@arm.com
> >
> >  arch/arm64/include/asm/acpi.h |  3 +++
> >  arch/arm64/kernel/acpi.c      | 19 ++++++++++++++++---
> >  drivers/acpi/osl.c            | 23 ++++++++++++++++-------
> >  include/acpi/acpi_io.h        |  8 ++++++++
> >  4 files changed, 43 insertions(+), 10 deletions(-)
>
> For arm64:
>
> Acked-by: Catalin Marinas <catalin.marinas at arm.com>
>
> I presume this patch would go in via the acpi tree.

Applied as 5.15 material, thanks!



More information about the linux-arm-kernel mailing list