• Home
  • Raw
  • Download

Lines Matching full:mca

3  * File:	mca.c
4 * Purpose: Generic MCA handling layer
28 * Fixed PAL/SAL update issues, began MCA bug fixes, logging issues,
38 * Aligned MCA stack to 16 bytes, added platform vs. CPU error flag,
54 * Avoid deadlock when using printk() for MCA and INIT records.
61 * Convert MCA/INIT handlers to use per event stacks and SAL/OS
68 * Add printing support for MCA/INIT.
98 #include <asm/mca.h>
124 if ((notify_die((event), "MCA", (regs), (arg), 0, 0) \
174 * limited & delayed printing support for MCA/INIT handler
182 static DEFINE_SPINLOCK(mlogbuf_wlock); /* mca context only */
294 "MCA/INIT might be dodgy or fail.\n"); in ia64_mlogbuf_finish()
349 #define IA64_MAX_LOG_TYPES 4 /* MCA, INIT, CMC, CPE */
391 * Inputs : info_type (SAL_INFO_TYPE_{MCA,INIT,CMC,CPE})
415 * Get the current MCA log from SAL and copy it into the OS log buffer.
417 * Inputs : info_type (SAL_INFO_TYPE_{MCA,INIT,CMC,CPE})
458 * Inputs : sal_info_type (Type of error record MCA/CMC/CPE)
459 * FIXME: remove MCA and irq_safe.
469 static const char * const rec_name[] = { "MCA", "INIT", "CMC", "CPE" }; in ia64_mca_log_sal_error_record()
491 * See if the MCA surfaced in an instruction range
523 /* Given an address, look for it in the mca tables. */
767 * while the monarch processor does the mca handling and later
829 /* Function pointer for extra MCA recovery */
867 /* Change the comm field on the MCA/INT task to include the pid that
869 * (swapper or nested MCA/INIT) then use the start of the previous comm
961 * that we can do backtrace on the MCA/INIT handler code itself.
994 /* Best effort attempt to cope with MCA/INIT delivered while in in ia64_mca_modify_original_stack()
1132 * the time of MCA/INIT. It also does flushrs, so all registers before in ia64_mca_modify_original_stack()
1133 * this function have been written to backing store on the MCA/INIT in ia64_mca_modify_original_stack()
1169 * so. In this context, slave includes cpus that respond to the MCA rendezvous
1267 * This is the place where the core of OS MCA handling is done.
1270 * monarch processor. Once the monarch is done with MCA handling
1271 * further MCA logging is enabled by clearing logs.
1277 * bitmask. After the first monarch has processed its MCA, it
1280 * their MCA, the last monarch frees up the rest of the processors.
1300 mprintk(KERN_INFO "Entered OS MCA handler. PSP=%lx cpu=%d " in ia64_mca_handler()
1303 previous_current = ia64_mca_modify_original_stack(regs, sw, sos, "MCA"); in ia64_mca_handler()
1309 ia64_wait_for_slaves(cpu, "MCA"); in ia64_mca_handler()
1314 * MCA handler. That gets control back to the OS so we can in ia64_mca_handler()
1326 /* Get the MCA error record and log it */ in ia64_mca_handler()
1329 /* MCA error recovery */ in ia64_mca_handler()
1656 * returns. We can also get INIT slave events for MCA, in which case the MCA
1770 /* Minimal format of the MCA/INIT stacks. The pseudo processes that run on
1804 /* Do per-CPU MCA-related initialization. */
1828 panic("Could not allocate MCA memory for cpu %d\n", in ia64_mca_cpu_init()
1832 "MCA", cpu); in ia64_mca_cpu_init()
1839 * We may need it during MCA recovery. in ia64_mca_cpu_init()
1871 * Do all the system level mca specific initialization.
1879 * 4. Initialize MCA/CMC/INIT related log buffers maintained by the OS.
1924 printk(KERN_INFO "Increasing MCA rendezvous timeout from " in ia64_mca_init()
1947 IA64_MCA_DEBUG("%s: registered MCA rendezvous spinloop and wakeup mech.\n", __func__); in ia64_mca_init()
1956 /* Register the os mca handler with SAL */ in ia64_mca_init()
1963 printk(KERN_ERR "Failed to register OS MCA handler with SAL " in ia64_mca_init()
1968 IA64_MCA_DEBUG("%s: registered OS MCA handler with SAL at 0x%lx, gp = 0x%lx\n", __func__, in ia64_mca_init()
2004 * platform/processor error states for MCA/INIT/CMC in ia64_mca_init()
2013 printk(KERN_INFO "MCA related initialization done\n"); in ia64_mca_init()
2036 /* Setup the MCA rendezvous interrupt vector */ in ia64_mca_irq_init()
2040 /* Setup the MCA wakeup interrupt vector */ in ia64_mca_irq_init()
2070 cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "ia64/mca:online", in ia64_mca_late_init()