1- /* $NetBSD: bus_space.c,v 1.32 2013/10/19 19:08:39 martin Exp $ */
1+ /* $NetBSD: bus_space.c,v 1.33 2025/12/02 02:23:21 thorpej Exp $ */
22
33/*-
44 * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc.
3535 */
3636
3737#include <sys/cdefs.h>
38- __KERNEL_RCSID (0 , "$NetBSD: bus_space.c,v 1.32 2013/10/19 19:08:39 martin Exp $" );
38+ __KERNEL_RCSID (0 , "$NetBSD: bus_space.c,v 1.33 2025/12/02 02:23:21 thorpej Exp $" );
3939
4040#include <sys/param.h>
4141#include <sys/systm.h>
@@ -59,7 +59,6 @@ bus_mem_add_mapping(bus_addr_t bpa, bus_size_t size, int flags,
5959{
6060 u_long pa , endpa ;
6161 vaddr_t va ;
62- pt_entry_t * pte ;
6362
6463 pa = m68k_trunc_page (bpa );
6564 endpa = m68k_round_page ((bpa + size ) - 1 );
@@ -120,15 +119,13 @@ bus_mem_add_mapping(bus_addr_t bpa, bus_size_t size, int flags,
120119 hp -> bssr2 = mac68k_bssr2 ;
121120 hp -> bssr4 = mac68k_bssr4 ;
122121
122+ const int pmap_flags =
123+ (flags & BUS_SPACE_MAP_CACHEABLE ) ? PMAP_WIRED
124+ : (PMAP_WIRED | PMAP_NOCACHE );
125+
123126 for (; pa < endpa ; pa += PAGE_SIZE , va += PAGE_SIZE ) {
124- pmap_enter (pmap_kernel (), va , pa ,
125- VM_PROT_READ | VM_PROT_WRITE , PMAP_WIRED );
126- pte = kvtopte (va );
127- if ((flags & BUS_SPACE_MAP_CACHEABLE ))
128- * pte &= ~PG_CI ;
129- else
130- * pte |= PG_CI ;
131- TBIS (va );
127+ pmap_kenter_pa (va , pa , VM_PROT_READ | VM_PROT_WRITE ,
128+ pmap_flags );
132129 }
133130 pmap_update (pmap_kernel ());
134131
0 commit comments