Subject: Re: [PATCH] [POWERPC] Fix handling of memreserve if the range lands in highmem

From: Scott Wood <[email-masked]>
Date: Wed, 9 Jan 2008 12:53:49 -0600

On Wed, Jan 09, 2008 at 11:28:30AM -0600, Kumar Gala wrote:
>  	/* reserve the sections we're already using */
> -	for (i = 0; i < lmb.reserved.cnt; i++)
> -		reserve_bootmem(lmb.reserved.region[i].base,
> -				lmb_size_bytes(&lmb.reserved, i));
> +	for (i = 0; i < lmb.reserved.cnt; i++) {
> +		unsigned long addr = lmb.reserved.region[i].base +
> +				     lmb_size_bytes(&lmb.reserved, i) - 1;
> +		if (addr < total_lowmem)
> +			reserve_bootmem(lmb.reserved.region[i].base,
> +					lmb_size_bytes(&lmb.reserved, i));
> +	}

It looks like if the reserved area straddles the highmem boundary, it'll
only reserve the highmem portion.

-Scott