Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch Set user page table base address dynamically on ami...
details: https://anonhg.NetBSD.org/src/rev/9f0bccdb5be5
branches: trunk
changeset: 780056:9f0bccdb5be5
user: rkujawa <rkujawa%NetBSD.org@localhost>
date: Mon Jul 09 19:23:45 2012 +0000
description:
Set user page table base address dynamically on amiga. This unbreaks machines
with large Zorro III I/O spaces. Patch originally by Michael L. Hitch.
Test on an A4000.
diffstat:
sys/arch/amiga/amiga/amiga_init.c | 9 +++++----
sys/arch/m68k/m68k/pmap_motorola.c | 8 +++++---
2 files changed, 10 insertions(+), 7 deletions(-)
diffs (73 lines):
diff -r 9fe7c5008b28 -r 9f0bccdb5be5 sys/arch/amiga/amiga/amiga_init.c
--- a/sys/arch/amiga/amiga/amiga_init.c Mon Jul 09 19:10:16 2012 +0000
+++ b/sys/arch/amiga/amiga/amiga_init.c Mon Jul 09 19:23:45 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: amiga_init.c,v 1.126 2012/02/12 16:34:06 matt Exp $ */
+/* $NetBSD: amiga_init.c,v 1.127 2012/07/09 19:23:45 rkujawa Exp $ */
/*
* Copyright (c) 1994 Michael L. Hitch
@@ -38,7 +38,7 @@
#include "ser.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: amiga_init.c,v 1.126 2012/02/12 16:34:06 matt Exp $");
+__KERNEL_RCSID(0, "$NetBSD: amiga_init.c,v 1.127 2012/07/09 19:23:45 rkujawa Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -73,7 +73,8 @@
extern u_int lowram;
extern u_int Umap;
extern u_long boot_partition;
-vaddr_t amiga_uptbase;
+extern vaddr_t m68k_uptbase;
+
#ifdef P5PPC68KBOARD
extern int p5ppc;
#endif
@@ -705,7 +706,7 @@
* XXX 16 MB instead of 256 MB should be enough, but...
* we need to fix the fastmem loading first. (see comment at line 375)
*/
- RELOC(amiga_uptbase, vaddr_t) =
+ RELOC(m68k_uptbase, vaddr_t) =
roundup(vstart + 0x10000000, 0x10000000);
/*
diff -r 9fe7c5008b28 -r 9f0bccdb5be5 sys/arch/m68k/m68k/pmap_motorola.c
--- a/sys/arch/m68k/m68k/pmap_motorola.c Mon Jul 09 19:10:16 2012 +0000
+++ b/sys/arch/m68k/m68k/pmap_motorola.c Mon Jul 09 19:23:45 2012 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap_motorola.c,v 1.65 2012/01/27 19:48:38 para Exp $ */
+/* $NetBSD: pmap_motorola.c,v 1.66 2012/07/09 19:23:45 rkujawa Exp $ */
/*-
* Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -119,7 +119,7 @@
#include "opt_m68k_arch.h"
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap_motorola.c,v 1.65 2012/01/27 19:48:38 para Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap_motorola.c,v 1.66 2012/07/09 19:23:45 rkujawa Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -256,6 +256,8 @@
bool pmap_initialized = false; /* Has pmap_init completed? */
+vaddr_t m68k_uptbase = M68K_PTBASE;
+
struct pv_header {
struct pv_entry pvh_first; /* first PV entry */
uint16_t pvh_attrs; /* attributes:
@@ -514,7 +516,7 @@
st_map = uvm_km_suballoc(kernel_map, &addr, &addr2, s, 0, false,
&st_map_store);
- addr = M68K_PTBASE;
+ addr = m68k_uptbase;
if ((M68K_PTMAXSIZE / M68K_MAX_PTSIZE) < maxproc) {
s = M68K_PTMAXSIZE;
/*
Home |
Main Index |
Thread Index |
Old Index