diff options
Diffstat (limited to 'sys/arch/arm64/dev')
-rw-r--r-- | sys/arch/arm64/dev/arm64_bus_space.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/arch/arm64/dev/arm64_bus_space.c b/sys/arch/arm64/dev/arm64_bus_space.c index 34c57e64c74..e4847cbb004 100644 --- a/sys/arch/arm64/dev/arm64_bus_space.c +++ b/sys/arch/arm64/dev/arm64_bus_space.c @@ -1,4 +1,4 @@ -/* $OpenBSD: arm64_bus_space.c,v 1.7 2018/08/20 19:38:07 kettenis Exp $ */ +/* $OpenBSD: arm64_bus_space.c,v 1.8 2021/02/16 12:33:22 kettenis Exp $ */ /* * Copyright (c) 2001-2003 Opsycon AB (www.opsycon.se / www.opsycon.com) @@ -191,8 +191,12 @@ generic_space_map(bus_space_tag_t t, bus_addr_t offs, bus_size_t size, { u_long startpa, endpa, pa; vaddr_t va; - int cache = flags & BUS_SPACE_MAP_CACHEABLE ? - PMAP_CACHE_WB : PMAP_CACHE_DEV; + int cache = PMAP_CACHE_DEV_NGNRNE; + + if (flags & BUS_SPACE_MAP_CACHEABLE) + cache = PMAP_CACHE_WB; + if (flags & BUS_SPACE_MAP_POSTED) + cache = PMAP_CACHE_DEV_NGNRE; startpa = trunc_page(offs); endpa = round_page(offs + size); |