Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
sun4m_irq.c File Reference
#include <asm/timer.h>
#include <asm/traps.h>
#include <asm/pgalloc.h>
#include <asm/pgtable.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <asm/cacheflush.h>
#include "irq.h"
#include "kernel.h"

Go to the source code of this file.

Data Structures

struct  sun4m_handler_data
 
struct  sun4m_timer_percpu
 
struct  sun4m_timer_global
 

Macros

#define SUN4M_INT_ENABLE   0x80000000
 
#define SUN4M_INT_E14   0x00000080
 
#define SUN4M_INT_E10   0x00080000
 
#define SUN4M_INT_MASKALL   0x80000000 /* mask all interrupts */
 
#define SUN4M_INT_MODULE_ERR   0x40000000 /* module error */
 
#define SUN4M_INT_M2S_WRITE_ERR   0x20000000 /* write buffer error */
 
#define SUN4M_INT_ECC_ERR   0x10000000 /* ecc memory error */
 
#define SUN4M_INT_VME_ERR   0x08000000 /* vme async error */
 
#define SUN4M_INT_FLOPPY   0x00400000 /* floppy disk */
 
#define SUN4M_INT_MODULE   0x00200000 /* module interrupt */
 
#define SUN4M_INT_VIDEO   0x00100000 /* onboard video */
 
#define SUN4M_INT_REALTIME   0x00080000 /* system timer */
 
#define SUN4M_INT_SCSI   0x00040000 /* onboard scsi */
 
#define SUN4M_INT_AUDIO   0x00020000 /* audio/isdn */
 
#define SUN4M_INT_ETHERNET   0x00010000 /* onboard ethernet */
 
#define SUN4M_INT_SERIAL   0x00008000 /* serial ports */
 
#define SUN4M_INT_KBDMS   0x00004000 /* keyboard/mouse */
 
#define SUN4M_INT_SBUSBITS   0x00003F80 /* sbus int bits */
 
#define SUN4M_INT_VMEBITS   0x0000007F /* vme int bits */
 
#define SUN4M_INT_ERROR
 
#define SUN4M_INT_SBUS(x)   (1 << (x+7))
 
#define SUN4M_INT_VME(x)   (1 << (x))
 
#define OBP_INT_LEVEL_SOFT   0x10
 
#define OBP_INT_LEVEL_ONBOARD   0x20
 
#define OBP_INT_LEVEL_SBUS   0x30
 
#define OBP_INT_LEVEL_VME   0x40
 
#define SUN4M_TIMER_IRQ   (OBP_INT_LEVEL_ONBOARD | 10)
 
#define SUN4M_PROFILE_IRQ   (OBP_INT_LEVEL_ONBOARD | 14)
 

Functions

void sun4m_nmi (struct pt_regs *regs)
 
void sun4m_unmask_profile_irq (void)
 
void sun4m_clear_profile_irq (int cpu)
 
void __init sun4m_init_IRQ (void)
 

Variables

struct sun4m_irq_percpu __iomemsun4m_irq_percpu [SUN4M_NCPUS]
 
struct sun4m_irq_global __iomemsun4m_irq_global
 
struct sun4m_handler_data __attribute__
 

Macro Definition Documentation

#define OBP_INT_LEVEL_ONBOARD   0x20

Definition at line 142 of file sun4m_irq.c.

#define OBP_INT_LEVEL_SBUS   0x30

Definition at line 143 of file sun4m_irq.c.

#define OBP_INT_LEVEL_SOFT   0x10

Definition at line 141 of file sun4m_irq.c.

#define OBP_INT_LEVEL_VME   0x40

Definition at line 144 of file sun4m_irq.c.

#define SUN4M_INT_AUDIO   0x00020000 /* audio/isdn */

Definition at line 125 of file sun4m_irq.c.

#define SUN4M_INT_E10   0x00080000

Definition at line 113 of file sun4m_irq.c.

#define SUN4M_INT_E14   0x00000080

Definition at line 112 of file sun4m_irq.c.

#define SUN4M_INT_ECC_ERR   0x10000000 /* ecc memory error */

Definition at line 118 of file sun4m_irq.c.

#define SUN4M_INT_ENABLE   0x80000000

Definition at line 111 of file sun4m_irq.c.

#define SUN4M_INT_ERROR
Value:
SUN4M_INT_M2S_WRITE_ERR | \
SUN4M_INT_ECC_ERR | \
SUN4M_INT_VME_ERR)

Definition at line 132 of file sun4m_irq.c.

#define SUN4M_INT_ETHERNET   0x00010000 /* onboard ethernet */

Definition at line 126 of file sun4m_irq.c.

#define SUN4M_INT_FLOPPY   0x00400000 /* floppy disk */

Definition at line 120 of file sun4m_irq.c.

#define SUN4M_INT_KBDMS   0x00004000 /* keyboard/mouse */

Definition at line 128 of file sun4m_irq.c.

#define SUN4M_INT_M2S_WRITE_ERR   0x20000000 /* write buffer error */

Definition at line 117 of file sun4m_irq.c.

#define SUN4M_INT_MASKALL   0x80000000 /* mask all interrupts */

Definition at line 115 of file sun4m_irq.c.

#define SUN4M_INT_MODULE   0x00200000 /* module interrupt */

Definition at line 121 of file sun4m_irq.c.

#define SUN4M_INT_MODULE_ERR   0x40000000 /* module error */

Definition at line 116 of file sun4m_irq.c.

#define SUN4M_INT_REALTIME   0x00080000 /* system timer */

Definition at line 123 of file sun4m_irq.c.

#define SUN4M_INT_SBUS (   x)    (1 << (x+7))

Definition at line 137 of file sun4m_irq.c.

#define SUN4M_INT_SBUSBITS   0x00003F80 /* sbus int bits */

Definition at line 129 of file sun4m_irq.c.

#define SUN4M_INT_SCSI   0x00040000 /* onboard scsi */

Definition at line 124 of file sun4m_irq.c.

#define SUN4M_INT_SERIAL   0x00008000 /* serial ports */

Definition at line 127 of file sun4m_irq.c.

#define SUN4M_INT_VIDEO   0x00100000 /* onboard video */

Definition at line 122 of file sun4m_irq.c.

#define SUN4M_INT_VME (   x)    (1 << (x))

Definition at line 138 of file sun4m_irq.c.

#define SUN4M_INT_VME_ERR   0x08000000 /* vme async error */

Definition at line 119 of file sun4m_irq.c.

#define SUN4M_INT_VMEBITS   0x0000007F /* vme int bits */

Definition at line 130 of file sun4m_irq.c.

#define SUN4M_PROFILE_IRQ   (OBP_INT_LEVEL_ONBOARD | 14)

Definition at line 147 of file sun4m_irq.c.

#define SUN4M_TIMER_IRQ   (OBP_INT_LEVEL_ONBOARD | 10)

Definition at line 146 of file sun4m_irq.c.

Function Documentation

void sun4m_clear_profile_irq ( int  cpu)

Definition at line 342 of file sun4m_irq.c.

void __init sun4m_init_IRQ ( void  )

Definition at line 430 of file sun4m_irq.c.

void sun4m_nmi ( struct pt_regs regs)

Definition at line 306 of file sun4m_irq.c.

void sun4m_unmask_profile_irq ( void  )

Definition at line 333 of file sun4m_irq.c.

Variable Documentation

Definition at line 101 of file sun4m_irq.c.

Definition at line 100 of file sun4m_irq.c.