[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210614153603.GA1998@lst.de>
Date: Mon, 14 Jun 2021 17:36:03 +0200
From: Christoph Hellwig <hch@....de>
To: Robin Murphy <robin.murphy@....com>
Cc: Catalin Marinas <catalin.marinas@....com>,
Dong Aisheng <dongas86@...il.com>,
Will Deacon <will@...nel.org>,
Dong Aisheng <aisheng.dong@....com>,
iommu@...ts.linux-foundation.org,
open list <linux-kernel@...r.kernel.org>, linux-mm@...ck.org,
"moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE"
<linux-arm-kernel@...ts.infradead.org>,
Christoph Hellwig <hch@....de>,
Marek Szyprowski <m.szyprowski@...sung.com>
Subject: Re: [PATCH 1/1] dma: coherent: check no-map property for arm64
On Mon, Jun 14, 2021 at 04:34:05PM +0100, Robin Murphy wrote:
>> Looking at the rmem_dma_device_init() -> dma_init_coherent_memory(), it
>> ends up calling memremap(MEMREMAP_WC) which would warn if it intersects
>> with system RAM regardless of the architecture. If the memory region is
>> nomap, it doesn't end up as IORESOURCE_SYSTEM_RAM, so memremap() won't
>> warn. But why is this specific only to arm (or arm64)?
>
> Didn't some ARMv7 implementations permit unexpected cache hits for the
> non-cacheable address if the same PA has been speculatively fetched via the
> cacheable alias?
If we care about that we need to change these platforms to change the
cache attributes of the kernel direct mapping instead of using vmap.
We already have code to do that for openrisc, someone just needs to
write the glue code for other platforms.
Powered by blists - more mailing lists