irq.c (b9f12a5d97f652c77ef6803dccd0d40d1290f5be) | irq.c (0869b6fd209bda402576a9a559120ddd4f61198e) |
---|---|
1/* 2 * Derived from arch/i386/kernel/irq.c 3 * Copyright (C) 1992 Linus Torvalds 4 * Adapted from arch/i386 by Gary Thomas 5 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 6 * Updated and modified by Cort Dougan <cort@fsmlabs.com> 7 * Copyright (C) 1996-2001 Cort Dougan 8 * Adapted for Power Macintosh by Paul Mackerras --- 175 unchanged lines hidden (view full) --- 184 local_paca->irq_happened &= ~PACA_IRQ_DBELL; 185 if (happened & PACA_IRQ_DBELL) { 186 if (cpu_has_feature(CPU_FTR_HVMODE)) 187 return 0xe80; 188 return 0xa00; 189 } 190#endif /* CONFIG_PPC_BOOK3E */ 191 | 1/* 2 * Derived from arch/i386/kernel/irq.c 3 * Copyright (C) 1992 Linus Torvalds 4 * Adapted from arch/i386 by Gary Thomas 5 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 6 * Updated and modified by Cort Dougan <cort@fsmlabs.com> 7 * Copyright (C) 1996-2001 Cort Dougan 8 * Adapted for Power Macintosh by Paul Mackerras --- 175 unchanged lines hidden (view full) --- 184 local_paca->irq_happened &= ~PACA_IRQ_DBELL; 185 if (happened & PACA_IRQ_DBELL) { 186 if (cpu_has_feature(CPU_FTR_HVMODE)) 187 return 0xe80; 188 return 0xa00; 189 } 190#endif /* CONFIG_PPC_BOOK3E */ 191 |
192 /* Check if an hypervisor Maintenance interrupt happened */ 193 local_paca->irq_happened &= ~PACA_IRQ_HMI; 194 if (happened & PACA_IRQ_HMI) 195 return 0xe60; 196 |
|
192 /* There should be nothing left ! */ 193 BUG_ON(local_paca->irq_happened != 0); 194 195 return 0; 196} 197 198notrace void arch_local_irq_restore(unsigned long en) 199{ --- 172 unchanged lines hidden (view full) --- 372 seq_printf(p, "%10u ", per_cpu(irq_stat, j).pmu_irqs); 373 seq_printf(p, " Performance monitoring interrupts\n"); 374 375 seq_printf(p, "%*s: ", prec, "MCE"); 376 for_each_online_cpu(j) 377 seq_printf(p, "%10u ", per_cpu(irq_stat, j).mce_exceptions); 378 seq_printf(p, " Machine check exceptions\n"); 379 | 197 /* There should be nothing left ! */ 198 BUG_ON(local_paca->irq_happened != 0); 199 200 return 0; 201} 202 203notrace void arch_local_irq_restore(unsigned long en) 204{ --- 172 unchanged lines hidden (view full) --- 377 seq_printf(p, "%10u ", per_cpu(irq_stat, j).pmu_irqs); 378 seq_printf(p, " Performance monitoring interrupts\n"); 379 380 seq_printf(p, "%*s: ", prec, "MCE"); 381 for_each_online_cpu(j) 382 seq_printf(p, "%10u ", per_cpu(irq_stat, j).mce_exceptions); 383 seq_printf(p, " Machine check exceptions\n"); 384 |
385 if (cpu_has_feature(CPU_FTR_HVMODE)) { 386 seq_printf(p, "%*s: ", prec, "HMI"); 387 for_each_online_cpu(j) 388 seq_printf(p, "%10u ", 389 per_cpu(irq_stat, j).hmi_exceptions); 390 seq_printf(p, " Hypervisor Maintenance Interrupts\n"); 391 } 392 |
|
380#ifdef CONFIG_PPC_DOORBELL 381 if (cpu_has_feature(CPU_FTR_DBELL)) { 382 seq_printf(p, "%*s: ", prec, "DBL"); 383 for_each_online_cpu(j) 384 seq_printf(p, "%10u ", per_cpu(irq_stat, j).doorbell_irqs); 385 seq_printf(p, " Doorbell interrupts\n"); 386 } 387#endif --- 7 unchanged lines hidden (view full) --- 395u64 arch_irq_stat_cpu(unsigned int cpu) 396{ 397 u64 sum = per_cpu(irq_stat, cpu).timer_irqs_event; 398 399 sum += per_cpu(irq_stat, cpu).pmu_irqs; 400 sum += per_cpu(irq_stat, cpu).mce_exceptions; 401 sum += per_cpu(irq_stat, cpu).spurious_irqs; 402 sum += per_cpu(irq_stat, cpu).timer_irqs_others; | 393#ifdef CONFIG_PPC_DOORBELL 394 if (cpu_has_feature(CPU_FTR_DBELL)) { 395 seq_printf(p, "%*s: ", prec, "DBL"); 396 for_each_online_cpu(j) 397 seq_printf(p, "%10u ", per_cpu(irq_stat, j).doorbell_irqs); 398 seq_printf(p, " Doorbell interrupts\n"); 399 } 400#endif --- 7 unchanged lines hidden (view full) --- 408u64 arch_irq_stat_cpu(unsigned int cpu) 409{ 410 u64 sum = per_cpu(irq_stat, cpu).timer_irqs_event; 411 412 sum += per_cpu(irq_stat, cpu).pmu_irqs; 413 sum += per_cpu(irq_stat, cpu).mce_exceptions; 414 sum += per_cpu(irq_stat, cpu).spurious_irqs; 415 sum += per_cpu(irq_stat, cpu).timer_irqs_others; |
416 sum += per_cpu(irq_stat, cpu).hmi_exceptions; |
|
403#ifdef CONFIG_PPC_DOORBELL 404 sum += per_cpu(irq_stat, cpu).doorbell_irqs; 405#endif 406 407 return sum; 408} 409 410#ifdef CONFIG_HOTPLUG_CPU --- 268 unchanged lines hidden --- | 417#ifdef CONFIG_PPC_DOORBELL 418 sum += per_cpu(irq_stat, cpu).doorbell_irqs; 419#endif 420 421 return sum; 422} 423 424#ifdef CONFIG_HOTPLUG_CPU --- 268 unchanged lines hidden --- |