> +#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/