Module Name: src Committed By: phx Date: Mon Jan 4 14:10:15 UTC 2016
Modified Files: src/sys/arch/amiga/stand/bootblock/boot: amigatypes.h main.c Log Message: Make the -p option work, like with loadbsd. Otherwise the kernel could load into a low-priority 512MB Z3 RAM segment. To generate a diff of this commit: cvs rdiff -u -r1.7 -r1.8 src/sys/arch/amiga/stand/bootblock/boot/amigatypes.h cvs rdiff -u -r1.29 -r1.30 src/sys/arch/amiga/stand/bootblock/boot/main.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/amiga/stand/bootblock/boot/amigatypes.h diff -u src/sys/arch/amiga/stand/bootblock/boot/amigatypes.h:1.7 src/sys/arch/amiga/stand/bootblock/boot/amigatypes.h:1.8 --- src/sys/arch/amiga/stand/bootblock/boot/amigatypes.h:1.7 Mon Apr 28 20:23:13 2008 +++ src/sys/arch/amiga/stand/bootblock/boot/amigatypes.h Mon Jan 4 14:10:15 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: amigatypes.h,v 1.7 2008/04/28 20:23:13 martin Exp $ */ +/* $NetBSD: amigatypes.h,v 1.8 2016/01/04 14:10:15 phx Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -54,7 +54,7 @@ struct Library { struct MemHead { struct MemHead *next; u_int8_t Dmy1[ 9- 4]; - u_int8_t Pri; + int8_t Pri; u_int8_t Dmy2[ 14- 10]; u_int16_t Attribs; u_int32_t First, Lower, Upper, Free; Index: src/sys/arch/amiga/stand/bootblock/boot/main.c diff -u src/sys/arch/amiga/stand/bootblock/boot/main.c:1.29 src/sys/arch/amiga/stand/bootblock/boot/main.c:1.30 --- src/sys/arch/amiga/stand/bootblock/boot/main.c:1.29 Sat Mar 29 12:49:15 2014 +++ src/sys/arch/amiga/stand/bootblock/boot/main.c Mon Jan 4 14:10:15 2016 @@ -1,5 +1,5 @@ /* - * $NetBSD: main.c,v 1.29 2014/03/29 12:49:15 mlelstv Exp $ + * $NetBSD: main.c,v 1.30 2016/01/04 14:10:15 phx Exp $ * * * Copyright (c) 1996,1999 Ignatios Souvatzis @@ -122,6 +122,7 @@ pain(void *aio, void *cons) struct MemHead *mh; u_int32_t from, size, vfrom, vsize; int contflag, mapped1to1; + int8_t mempri; int ncd, nseg; char c; @@ -200,7 +201,7 @@ again: (get_number(&path) & 3) << 1; break; case 'p': /* Select fastmem by priority */ - p_flag++; + p_flag = 1; break; case 'q': boothowto |= AB_QUIET; @@ -274,6 +275,7 @@ again: vfrom = mh->Lower & -__PGSZ; vsize = (mh->Upper & -__PGSZ) - vfrom; contflag = mapped1to1 = 0; + mempri = -128; do { size = vsize; @@ -318,9 +320,12 @@ again: size += from; cmemsz = size; from = 0; - } else if ((fmemsz < size) && mapped1to1) { + } else if (mapped1to1 && ((!p_flag && fmemsz < size) || + (p_flag && (mempri < mh->Pri || + (mempri == mh->Pri && fmemsz < size))))) { fmem = from; fmemsz = size; + mempri = mh->Pri; } memseg[nseg].ms_start = from;