Re: git: 832acea92fc8 - main - icl_soft: Use PHYS_TO_DMAP instead of pmap_map_io_transient.

From: Andrew Turner <andrew_at_fubar.geek.nz>
Date: Fri, 11 Mar 2022 09:32:02 UTC

> On 11 Mar 2022, at 02:21, John Baldwin <jhb@freebsd.org> wrote:
> 
> The branch main has been updated by jhb:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=832acea92fc8cdb55859a6a4b1bc38bf766780f1
> 
> commit 832acea92fc8cdb55859a6a4b1bc38bf766780f1
> Author:     John Baldwin <jhb@FreeBSD.org>
> AuthorDate: 2022-03-11 02:20:28 +0000
> Commit:     John Baldwin <jhb@FreeBSD.org>
> CommitDate: 2022-03-11 02:20:28 +0000
> 
>    icl_soft: Use PHYS_TO_DMAP instead of pmap_map_io_transient.

The i386 and arm version of PHYS_TO_DMAP is:
#define PHYS_TO_DMAP(x) ({ panic("No direct map exists"); 0; })

On these architectures there is no DMAP region.

On powerpc there may not be a DMAP region. It appears to depend on the CPU.

You can use PMAP_HAS_DMAP to check if the DMAP region is supported, however you’ll need a fallback to create a temporary mapping.

Andrew