On Птн, Ноя 15, 2002 at 10:08:41 +0900, Osamu Tomita wrote:
> This is for SMP support.
 
>  void __init find_smp_config (void)
>  {
> +#ifndef CONFIG_PC9800
>  	unsigned int address;
> +#endif
>  
>  	/*
>  	 * FIXME: Linux assumes you have 640K of base ram..
> @@ -762,6 +793,7 @@
>  		smp_scan_config(639*0x400,0x400) ||
>  			smp_scan_config(0xF0000,0x10000))
>  		return;
> +#ifndef CONFIG_PC9800	/* PC-9800 has no EBDA area? */
>  	/*
>  	 * If it is an SMP machine we should know now, unless the
>  	 * configuration is in an EISA/MCA bus machine with an
> @@ -784,6 +816,7 @@
>  	smp_scan_config(address, 0x400);
>  	if (smp_found_config)
>  		printk(KERN_WARNING "WARNING: MP table in the EBDA can be UNSAFE, contact linux-smp@vger.kernel.org if you experience SMP problems!\n");
> +#endif
>  }
Can you redo this fragment this way ?
#ifndef CONFIG_PC9800	/* PC-9800 has no EBDA area? */
        {
                unsigned int address = *(unsigned short *)phys_to_virt(0x40E);
                address <<= 4;
                smp_scan_config(address, 0x400);
                if (smp_found_config)
                        printk(KERN_WARNING "WARNING: MP table in the EBDA can be UNSAFE, contact linux-smp@vger.kernel.org if you experience SMP problems!\n");
        }
#endif
IMHO this is better way (one #ifndef less)
-- Andrey Panin | Embedded systems software developer pazke@orbita1.ru | PGP key: wwwkeys.eu.pgp.net
This archive was generated by hypermail 2b29 : Fri Nov 15 2002 - 22:00:37 EST