Subject: Re: Booting a Compaq ProLiant ML370
To: Mark Davies <mark@MCS.VUW.AC.NZ>
From: enami tsugutomo <enami@but-b.or.jp>
List: current-users
Date: 01/08/2001 17:26:48
Mark Davies <mark@MCS.VUW.AC.NZ> writes:
> First problem) With an unmodified INSTALL kernel the system prints
>
> WARNING: CAN'T ALLOCATE SEGMENT 8 (0x100000000/0xfffffffffffff000/0x1) FROM
> IOMEM EXTENT MAP
0x100000000 is seg_start and 0xfffffffffffff000 is seg_end -
seg_start. So, seg_end is 0xfffff000, and we have following statement
just before the printf.
if (seg_end == 0x100000000ULL)
seg_end -= PAGE_SIZE;
So, seg_end was initially 0x100000000. I guess we can skip this
segment if seg_end become smaller than seg_start here.
enami.
Index: machdep.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/i386/i386/machdep.c,v
retrieving revision 1.426
diff -u -r1.426 machdep.c
--- machdep.c 2001/01/01 22:13:54 1.426
+++ machdep.c 2001/01/08 08:22:34
@@ -1882,8 +1882,11 @@
* XXX Chop the last page off the size so that
* XXX it can fit in avail_end.
*/
- if (seg_end == 0x100000000ULL)
+ if (seg_end == 0x100000000ULL) {
seg_end -= PAGE_SIZE;
+ if (seg_end <= seg_start)
+ continue;
+ }
/*
* Allocate the physical addresses used by RAM