Add the LIMITMEM workaround for the kernel address space size problem.

Will be removed as soon as the kernel can auto-adapt to its address space.
This commit is contained in:
is 1998-02-09 22:14:43 +00:00
parent a1efa84a4d
commit cb1085870c
3 changed files with 25 additions and 3 deletions

View File

@ -1,4 +1,4 @@
.\" $NetBSD: options.4,v 1.41 1998/02/06 06:06:48 perry Exp $
.\" $NetBSD: options.4,v 1.42 1998/02/09 22:14:43 is Exp $
.\"
.\" Copyright (c) 1996
.\" Perry E. Metzger. All rights reserved.
@ -942,6 +942,19 @@ When the bootloader (which passes AmigaOS ROM information) claims we have
a M68060 cpu without FPU, go look into the Processor Configuration Register
to find out. You need this with Amiga ROMs up to (at least) V40.xxx (OS3.1),
when you boot via the bootblocks and don't have a DraCo.
.It Cd options LIMITMEM=value
If there, limit memory usage by NetBSD to value megabytes.
.br
The machine specific part of the virtual memory system contains tables which
are fixed in size (due to the way initialization is done currently), but would
need scaling with kernel data space virtual size (see NKMEMCLUSTERS).
However, the kernel data area contains at least two variables: address space
of big graphics boards, and the file buffer cache (the latter scales with
memory size). As the size of the table would get very large if it should
handle big spaces conveniently, it would make booting on
small Amigas very painful due to excessive paging.
This option allows to work around this problem by limiting what the kernel
things is the memory size.
.Ss atari-specific Options
.Bl -ohang
.It Cd options DISKLABEL_AHDI

View File

@ -1,4 +1,4 @@
/* $NetBSD: amiga_init.c,v 1.56 1997/06/10 18:22:24 veego Exp $ */
/* $NetBSD: amiga_init.c,v 1.57 1998/02/09 22:14:46 is Exp $ */
/*
* Copyright (c) 1994 Michael L. Hitch
@ -221,6 +221,11 @@ start_c(id, fphystart, fphysize, cphysize, esym_addr, flags, inh_sync, boot_part
((volatile struct Custom *)0xdff000)->color[0] = 0xa00; /* RED */
#endif
#ifdef LIMITMEM
if (fphysize > LIMITMEM*1024*1024)
fphysize = LIMITMEM*1024*1024;
#endif
RELOC(boot_fphystart, u_long) = fphystart;
RELOC(boot_fphysize, u_long) = fphysize;
RELOC(boot_cphysize, u_long) = cphysize;

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.98 1998/02/05 20:07:15 is Exp $
# $NetBSD: GENERIC,v 1.99 1998/02/09 22:14:48 is Exp $
#
# GENERIC AMIGA
@ -119,6 +119,10 @@ options DIAGNOSTIC # Extra kernel sanity checks
#
# Amiga specific options
#
options LIMITMEM=24 # dont use more than LIMITMEM MB of RAM.
# remove this line to use more than 24 MB, and
# increase NKMEMCLUSTERS
options MACHINE_NONCONTIG # Non-contiguous memory support
# ATTENTION: There is NO WARRANTY AT ALL that the sync will be complete
# before the 10 secondinterval ends, or that KBDRESET does work at all.