kernels/linux-2.4.0/arch/ia64/kernel/mca.c
/*
 * C portion of the OS INIT handler
 *
 * Called from ia64_<monarch/slave>_init_handler
 *
 * Inputs: pointer to pt_regs where processor info was saved.
 *
 * Returns: 
 *   0 if SAL must warm boot the System
 *   1 if SAL must retrun to interrupted context using PAL_MC_RESUME
 *
 */
C portion of the OS INIT handler
Called from ia64__init_handler

pointer to pt_regs where processor info was saved.

0 if SAL must warm boot the System
1 if SAL must retrun to interrupted context using PAL_MC_RESUME
C portion of the OS INIT handler Called from ia64__init_handler pointer to pt_regs where processor info was saved . 0 if SAL must warm boot the System 1 if SAL must retrun to interrupted context using PAL_MC_RESUME
void
ia64_init_handler (struct pt_regs *regs)
{
	sal_log_processor_info_t *proc_ptr;
	ia64_psilog_t *plog_ptr;
	printk("Entered OS INIT handler\n");
	ia64_log_get(SAL_INFO_TYPE_INIT, SAL_SUB_INFO_TYPE_PROCESSOR, (prfunc_t)printk);
	ia64_log_get(SAL_INFO_TYPE_INIT, SAL_SUB_INFO_TYPE_PLATFORM, (prfunc_t)printk);
#ifdef IA64_DUMP_ALL_PROC_INFO 
	ia64_log_print(SAL_INFO_TYPE_INIT, SAL_SUB_INFO_TYPE_PROCESSOR, (prfunc_t)printk);
#endif 
	plog_ptr=(ia64_psilog_t *)IA64_LOG_CURR_BUFFER(SAL_INFO_TYPE_INIT,
						       SAL_SUB_INFO_TYPE_PROCESSOR);
	proc_ptr = &plog_ptr->devlog.proclog;
	ia64_process_min_state_save(&proc_ptr->slpi_min_state_area,regs);
	init_handler_platform(regs);              
	ia64_sal_clear_state_info(SAL_INFO_TYPE_INIT, SAL_SUB_INFO_TYPE_PROCESSOR);
	ia64_sal_clear_state_info(SAL_INFO_TYPE_INIT, SAL_SUB_INFO_TYPE_PLATFORM);
}
void ia64_init_handler ( struct pt_regs * regs ) { sal_log_processor_info_t * proc_ptr ; ia64_psilog_t * plog_ptr ; printk ( " \n " ) ; ia64_log_get ( SAL_INFO_TYPE_INIT , SAL_SUB_INFO_TYPE_PROCESSOR , ( prfunc_t ) printk ) ; ia64_log_get ( SAL_INFO_TYPE_INIT , SAL_SUB_INFO_TYPE_PLATFORM , ( prfunc_t ) printk ) ; #ifdef IA64_DUMP_ALL_PROC_INFO ia64_log_print ( SAL_INFO_TYPE_INIT , SAL_SUB_INFO_TYPE_PROCESSOR , ( prfunc_t ) printk ) ; #endif plog_ptr = ( ia64_psilog_t * ) IA64_LOG_CURR_BUFFER ( SAL_INFO_TYPE_INIT , SAL_SUB_INFO_TYPE_PROCESSOR ) ; proc_ptr = & plog_ptr -> devlog . proclog ; ia64_process_min_state_save ( & proc_ptr -> slpi_min_state_area , regs ) ; init_handler_platform ( regs ) ; ia64_sal_clear_state_info ( SAL_INFO_TYPE_INIT , SAL_SUB_INFO_TYPE_PROCESSOR ) ; ia64_sal_clear_state_info ( SAL_INFO_TYPE_INIT , SAL_SUB_INFO_TYPE_PLATFORM ) ; }
C portion of the OS INIT handler
 Called from ia64_<monarch/slave>_init_handler
C portion of the OS INIT handler Called from ia64_<monarch / slave > _init_handler
/* Get the INIT processor log */ /* Get the INIT platform log */ /* 
	 * get pointer to min state save area
	 *
	 */ /* call platform specific routines */ /* Clear the INIT SAL logs now that they have been saved in the OS buffer */