> +#ifndef CONFIG_PC9800
>  			if (mpf->mpf_physptr)
>  				reserve_bootmem(mpf->mpf_physptr, PAGE_SIZE);
> +#else
> +			/*
> +			 * PC-9800's MPC table places on the very last of
> +			 * physical memory; so that simply reserving PAGE_SIZE
> +			 * from mpg->mpf_physptr yields BUG() in
> +			 * reserve_bootmem.
> +			 */
> +			if (mpf->mpf_physptr) {
> +				/*
> +				 * We cannot access to MPC table to compute
> +				 * table size yet, as only few megabytes from
> +				 * the bottom is mapped now.
> +				 */
> +				unsigned long size = PAGE_SIZE;
> +				unsigned long end = max_low_pfn * PAGE_SIZE;
> +				if (mpf->mpf_physptr + size > end)
> +					size = end - mpf->mpf_physptr;
> +				reserve_bootmem(mpf->mpf_physptr, size);
> +			}
> +#endif
> +
I'm not sure if we need this #ifdef; 
it doesn't seem that this #ifdef CONFIG_PC9800 part is harmful 
for others at all.
Well, if it is required, I prefer putting #ifdef..#endif inside the 
if-clause like this:
 			if (mpf->mpf_physptr) {
				unsigned long size = PAGE_SIZE;
#ifdef CONFIG_PC9800
				/*
				 * PC-9800's MPC table places on the very last of
				 * physical memory; so that simply reserving PAGE_SIZE
				 * from mpg->mpf_physptr yields BUG() in
				 * reserve_bootmem.
				 *
				 * We cannot access to MPC table to compute
				 * table size yet, as only few megabytes from
				 * the bottom is mapped now.
				 */
				unsigned long end = max_low_pfn * PAGE_SIZE;
				if (mpf->mpf_physptr + size > end)
					size = end - mpf->mpf_physptr;
#endif
				reserve_bootmem(mpf->mpf_physptr, size);
			}
-- Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org> GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/