Pass kernend as the start parameter to uvm_page_physload(). This

fixes pmap_steal_memory() as it can now unplug from the start of the
segment.  This might be the right thing to do too as the pages before
kernend are accessed via directly mapped P1, but i need to ask someone
with a clue.  This is also what evbsh3 always did.

Anyway, this at least unbreaks landisk after uvm hotplug fallout.
This commit is contained in:
uwe 2017-02-02 21:57:03 +00:00
parent 9e3d987a53
commit 11495586f9

View File

@ -1,4 +1,4 @@
/* $NetBSD: machdep.c,v 1.21 2017/02/02 21:11:25 uwe Exp $ */
/* $NetBSD: machdep.c,v 1.22 2017/02/02 21:57:03 uwe Exp $ */
/*-
* Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.21 2017/02/02 21:11:25 uwe Exp $");
__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.22 2017/02/02 21:57:03 uwe Exp $");
#include "opt_ddb.h"
#include "opt_kgdb.h"
@ -219,7 +219,7 @@ landisk_startup(int howto, void *bi)
physmem = atop(IOM_RAM_SIZE);
kernend = atop(round_page(SH3_P1SEG_TO_PHYS(kernend)));
uvm_page_physload(
atop(IOM_RAM_BEGIN), atop(IOM_RAM_BEGIN + IOM_RAM_SIZE),
kernend, atop(IOM_RAM_BEGIN + IOM_RAM_SIZE),
kernend, atop(IOM_RAM_BEGIN + IOM_RAM_SIZE),
VM_FREELIST_DEFAULT);