 /* * set pm_power_off to a SAL call to allow * sn machines to power off. The SAL call can be replaced * by an ACPI interface call when ACPI is fully implemented * for sn. */ pm_power_off = ia64_sn_power_down; 
void __init sn_setup(char **cmdline_p){	long status, ticks_per_sec, drift;	int pxm;	int major = sn_sal_rev_major(), minor = sn_sal_rev_minor();	extern void sn_cpu_init(void);	/*	 * If the generic code has enabled vga console support - lets	 * get rid of it again. This is a kludge for the fact that ACPI	 * currtently has no way of informing us if legacy VGA is available	 * or not.	 */#if defined(CONFIG_VT) && defined(CONFIG_VGA_CONSOLE)	if (conswitchp == &vga_con) {		printk(KERN_DEBUG "SGI: Disabling VGA console\n");#ifdef CONFIG_DUMMY_CONSOLE		conswitchp = &dummy_con;#else		conswitchp = NULL;#endif				/* CONFIG_DUMMY_CONSOLE */	}#endif				/* def(CONFIG_VT) && def(CONFIG_VGA_CONSOLE) */	MAX_DMA_ADDRESS = PAGE_OFFSET + MAX_PHYS_MEMORY;	memset(physical_node_map, -1, sizeof(physical_node_map));	for (pxm = 0; pxm < MAX_PXM_DOMAINS; pxm++)		if (pxm_to_nid_map[pxm] != -1)			physical_node_map[pxm_to_nasid(pxm)] =			    pxm_to_nid_map[pxm];	/*	 * Old PROMs do not provide an ACPI FADT. Disable legacy keyboard	 * support here so we don't have to listen to failed keyboard probe	 * messages.	 */	if ((major < 2 || (major == 2 && minor <= 9)) &&	    acpi_kbd_controller_present) {		printk(KERN_INFO "Disabling legacy keyboard support as prom "		       "is too old and doesn't provide FADT\n");		acpi_kbd_controller_present = 0;	}	printk("SGI SAL version %x.%02x\n", major, minor);	/*	 * Confirm the SAL we're running on is recent enough...	 */	if ((major < SN_SAL_MIN_MAJOR) || (major == SN_SAL_MIN_MAJOR &&					   minor < SN_SAL_MIN_MINOR)) {		printk(KERN_ERR "This kernel needs SGI SAL version >= "		       "%x.%02x\n", SN_SAL_MIN_MAJOR, SN_SAL_MIN_MINOR);		panic("PROM version too old\n");	}	master_nasid = boot_get_nasid();	status =	    ia64_sal_freq_base(SAL_FREQ_BASE_REALTIME_CLOCK, &ticks_per_sec,			       &drift);	if (status != 0 || ticks_per_sec < 100000) {		printk(KERN_WARNING		       "unable to determine platform RTC clock frequency, guessing.\n");		/* PROM gives wrong value for clock freq. so guess */		sn_rtc_cycles_per_second = 1000000000000UL / 30000UL;	} else		sn_rtc_cycles_per_second = ticks_per_sec;	platform_intr_list[ACPI_INTERRUPT_CPEI] = IA64_CPE_VECTOR;	/*	 * we set the default root device to /dev/hda	 * to make simulation easy	 */	ROOT_DEV = Root_HDA1;	/*	 * Create the PDAs and NODEPDAs for all the cpus.	 */	sn_init_pdas(cmdline_p);	ia64_mark_idle = &snidle;	/* 	 * For the bootcpu, we do this here. All other cpus will make the	 * call as part of cpu_init in slave cpu initialization.	 */	sn_cpu_init();#ifdef CONFIG_SMP	init_smp_config();#endif	screen_info = sn_screen_info;	sn_timer_init();}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/c1298c5c7e5763a3b2fd4a9535d474ff6e54cd53/setup.c/clean/arch/ia64/sn/kernel/setup.c