Subject: Re: Booting a Compaq ProLiant ML370
To: enami tsugutomo <enami@but-b.or.jp>
From: Mark Davies <mark@MCS.VUW.AC.NZ>
List: current-users
Date: 01/09/2001 10:25:01
That patch seemed to fix problem 1.

Thanks
mark


	From:  enami tsugutomo <enami@but-b.or.jp>
	Date:  08 Jan 2001 17:26:48 +0900

> 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