Module Name: src
Committed By: tsutsui
Date: Sat Jan 20 17:37:15 UTC 2018
Modified Files:
src/sys/arch/atari/atari: bus.c
Log Message:
Fix I/O access failures for regions allocated by bus_space_map(9) on Milan.
Passing to PMAP_WIRED against I/O spaces seems problematic,
probably after yamt-km branch merge, which was committed
between NetBSD 3.0 and NetBSD 4.0.
(i.e. ISA and PCI devices on Milan didn't work after 4.0 release)
XXX:
According to pmap(9) man page, the "flags" arg for pmap_enter(9)
doesn't take VM_PROT_READ and VM_PROT_WRITE, but pmap_enter()
implementation in sys/arch/m68k/m68k/pmap_motolora.c historically
checks them.
To generate a diff of this commit:
cvs rdiff -u -r1.58 -r1.59 src/sys/arch/atari/atari/bus.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/atari/atari/bus.c
diff -u src/sys/arch/atari/atari/bus.c:1.58 src/sys/arch/atari/atari/bus.c:1.59
--- src/sys/arch/atari/atari/bus.c:1.58 Sat Oct 18 08:33:24 2014
+++ src/sys/arch/atari/atari/bus.c Sat Jan 20 17:37:15 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: bus.c,v 1.58 2014/10/18 08:33:24 snj Exp $ */
+/* $NetBSD: bus.c,v 1.59 2018/01/20 17:37:15 tsutsui Exp $ */
/*-
* Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -33,7 +33,7 @@
#include "opt_m68k_arch.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bus.c,v 1.58 2014/10/18 08:33:24 snj Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bus.c,v 1.59 2018/01/20 17:37:15 tsutsui Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -251,7 +251,7 @@ bus_mem_add_mapping(bus_space_tag_t t, b
u_int *ptep, npte;
pmap_enter(pmap_kernel(), (vaddr_t)va, pa,
- VM_PROT_READ|VM_PROT_WRITE, PMAP_WIRED);
+ VM_PROT_READ|VM_PROT_WRITE, VM_PROT_READ|VM_PROT_WRITE);
ptep = kvtopte(va);
npte = *ptep & ~PG_CMASK;
@@ -667,7 +667,7 @@ bus_dmamem_map(bus_dma_tag_t t, bus_dma_
panic("_bus_dmamem_map: size botch");
pmap_enter(pmap_kernel(), va, addr - offset,
VM_PROT_READ | VM_PROT_WRITE,
- VM_PROT_READ | VM_PROT_WRITE | PMAP_WIRED);
+ VM_PROT_READ | VM_PROT_WRITE);
}
}
pmap_update(pmap_kernel());