mca.c (2958a489d7d31552fd1a0a8f54a5005c278d4606) mca.c (4c332c3238ab41fa9bc18d6ccb8e8aec1c87a426)
1/*
2 * File: mca.c
3 * Purpose: Generic MCA handling layer
4 *
5 * Copyright (C) 2003 Hewlett-Packard Co
6 * David Mosberger-Tang <davidm@hpl.hp.com>
7 *
8 * Copyright (C) 2002 Dell Inc.

--- 203 unchanged lines hidden (view full) ---

212
213 va_start(args, fmt);
214 printed_len = vscnprintf(temp_buf, sizeof(temp_buf), fmt, args);
215 va_end(args);
216
217 /* Copy the output into mlogbuf */
218 if (oops_in_progress) {
219 /* mlogbuf was abandoned, use printk directly instead. */
1/*
2 * File: mca.c
3 * Purpose: Generic MCA handling layer
4 *
5 * Copyright (C) 2003 Hewlett-Packard Co
6 * David Mosberger-Tang <davidm@hpl.hp.com>
7 *
8 * Copyright (C) 2002 Dell Inc.

--- 203 unchanged lines hidden (view full) ---

212
213 va_start(args, fmt);
214 printed_len = vscnprintf(temp_buf, sizeof(temp_buf), fmt, args);
215 va_end(args);
216
217 /* Copy the output into mlogbuf */
218 if (oops_in_progress) {
219 /* mlogbuf was abandoned, use printk directly instead. */
220 printk(temp_buf);
220 printk("%s", temp_buf);
221 } else {
222 spin_lock(&mlogbuf_wlock);
223 for (p = temp_buf; *p; p++) {
224 unsigned long next = (mlogbuf_end + 1) % MLOGBUF_SIZE;
225 if (next != mlogbuf_start) {
226 mlogbuf[mlogbuf_end] = *p;
227 mlogbuf_end = next;
228 } else {

--- 34 unchanged lines hidden (view full) ---

263 if (!*p)
264 break;
265 p++;
266 if (++printed_len >= MLOGBUF_MSGMAX - 1)
267 break;
268 }
269 *p = '\0';
270 if (temp_buf[0])
221 } else {
222 spin_lock(&mlogbuf_wlock);
223 for (p = temp_buf; *p; p++) {
224 unsigned long next = (mlogbuf_end + 1) % MLOGBUF_SIZE;
225 if (next != mlogbuf_start) {
226 mlogbuf[mlogbuf_end] = *p;
227 mlogbuf_end = next;
228 } else {

--- 34 unchanged lines hidden (view full) ---

263 if (!*p)
264 break;
265 p++;
266 if (++printed_len >= MLOGBUF_MSGMAX - 1)
267 break;
268 }
269 *p = '\0';
270 if (temp_buf[0])
271 printk(temp_buf);
271 printk("%s", temp_buf);
272 mlogbuf_start = index;
273
274 mlogbuf_timestamp = 0;
275 spin_unlock_irqrestore(&mlogbuf_rlock, flags);
276 }
277}
278EXPORT_SYMBOL(ia64_mlogbuf_dump);
279

--- 1487 unchanged lines hidden (view full) ---

1767 cpe_poll_enabled = 0;
1768 return 1;
1769}
1770
1771__setup("disable_cpe_poll", ia64_mca_disable_cpe_polling);
1772
1773static struct irqaction cmci_irqaction = {
1774 .handler = ia64_mca_cmc_int_handler,
272 mlogbuf_start = index;
273
274 mlogbuf_timestamp = 0;
275 spin_unlock_irqrestore(&mlogbuf_rlock, flags);
276 }
277}
278EXPORT_SYMBOL(ia64_mlogbuf_dump);
279

--- 1487 unchanged lines hidden (view full) ---

1767 cpe_poll_enabled = 0;
1768 return 1;
1769}
1770
1771__setup("disable_cpe_poll", ia64_mca_disable_cpe_polling);
1772
1773static struct irqaction cmci_irqaction = {
1774 .handler = ia64_mca_cmc_int_handler,
1775 .flags = IRQF_DISABLED,
1775 .name = "cmc_hndlr"
1776};
1777
1778static struct irqaction cmcp_irqaction = {
1779 .handler = ia64_mca_cmc_int_caller,
1776 .name = "cmc_hndlr"
1777};
1778
1779static struct irqaction cmcp_irqaction = {
1780 .handler = ia64_mca_cmc_int_caller,
1781 .flags = IRQF_DISABLED,
1780 .name = "cmc_poll"
1781};
1782
1783static struct irqaction mca_rdzv_irqaction = {
1784 .handler = ia64_mca_rendez_int_handler,
1782 .name = "cmc_poll"
1783};
1784
1785static struct irqaction mca_rdzv_irqaction = {
1786 .handler = ia64_mca_rendez_int_handler,
1787 .flags = IRQF_DISABLED,
1785 .name = "mca_rdzv"
1786};
1787
1788static struct irqaction mca_wkup_irqaction = {
1789 .handler = ia64_mca_wakeup_int_handler,
1788 .name = "mca_rdzv"
1789};
1790
1791static struct irqaction mca_wkup_irqaction = {
1792 .handler = ia64_mca_wakeup_int_handler,
1793 .flags = IRQF_DISABLED,
1790 .name = "mca_wkup"
1791};
1792
1793#ifdef CONFIG_ACPI
1794static struct irqaction mca_cpe_irqaction = {
1795 .handler = ia64_mca_cpe_int_handler,
1794 .name = "mca_wkup"
1795};
1796
1797#ifdef CONFIG_ACPI
1798static struct irqaction mca_cpe_irqaction = {
1799 .handler = ia64_mca_cpe_int_handler,
1800 .flags = IRQF_DISABLED,
1796 .name = "cpe_hndlr"
1797};
1798
1799static struct irqaction mca_cpep_irqaction = {
1800 .handler = ia64_mca_cpe_int_caller,
1801 .name = "cpe_hndlr"
1802};
1803
1804static struct irqaction mca_cpep_irqaction = {
1805 .handler = ia64_mca_cpe_int_caller,
1806 .flags = IRQF_DISABLED,
1801 .name = "cpe_poll"
1802};
1803#endif /* CONFIG_ACPI */
1804
1805/* Minimal format of the MCA/INIT stacks. The pseudo processes that run on
1806 * these stacks can never sleep, they cannot return from the kernel to user
1807 * space, they do not appear in a normal ps listing. So there is no need to
1808 * format most of the fields.

--- 358 unchanged lines hidden ---
1807 .name = "cpe_poll"
1808};
1809#endif /* CONFIG_ACPI */
1810
1811/* Minimal format of the MCA/INIT stacks. The pseudo processes that run on
1812 * these stacks can never sleep, they cannot return from the kernel to user
1813 * space, they do not appear in a normal ps listing. So there is no need to
1814 * format most of the fields.

--- 358 unchanged lines hidden ---