Back to index

glibc  2.9
Classes | Defines | Typedefs | Functions
i960ca.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  i80960ca_prcb
struct  i80960ca_ctltbl

Defines

#define disable_intr(oldlevel)
#define enable_intr(oldlevel)
#define flash_intr(oldlevel)
#define atomic_modify(mask, addr, prev)
#define delay(microseconds)
#define enable_tracing()
#define unmask_intr(xint)
#define mask_intr(xint)
#define clear_intr(xint)
#define reload_ctl_group(group)
#define cause_intr(intr)
#define soft_reset(prcb)

Typedefs

typedef unsigned char unsigned8
typedef unsigned short unsigned16
typedef unsigned int unsigned32

Functions

static unsigned32 pend_intrs ()
static unsigned32 mask_intrs ()
static unsigned32 get_fp ()

Class Documentation

struct i80960ca_prcb

Definition at line 40 of file i960ca.h.

Collaboration diagram for i80960ca_prcb:
Class Members
struct i80960ca_ctltbl * control_tbl
unsigned32 fault_config
unsigned32 * fault_tbl
unsigned32 initial_ac
unsigned32 ins_cache_cfg
unsigned32 * intr_stack
void * intr_tbl
unsigned32 reg_cache_cfg
unsigned32 reserved
void * sys_proc_tbl
struct i80960ca_ctltbl

Definition at line 61 of file i960ca.h.

Class Members
unsigned32 bcon
unsigned32 bpcon
unsigned32 dab0
unsigned32 dab1
unsigned32 icon
unsigned32 imap0
unsigned32 imap1
unsigned32 imap2
unsigned32 ipb0
unsigned32 ipb1
unsigned32 mcon0
unsigned32 mcon1
unsigned32 mcon10
unsigned32 mcon11
unsigned32 mcon12
unsigned32 mcon13
unsigned32 mcon14
unsigned32 mcon15
unsigned32 mcon2
unsigned32 mcon3
unsigned32 mcon4
unsigned32 mcon5
unsigned32 mcon6
unsigned32 mcon7
unsigned32 mcon8
unsigned32 mcon9
unsigned32 reserved
unsigned32 tc

Define Documentation

#define atomic_modify (   mask,
  addr,
  prev 
)
Value:
{ register unsigned32  _mask = (mask); \
   register unsigned32 *_addr = (unsigned32 *)(addr); \
   asm volatile( "atmod  %0,%1,%1" \
                  : "=d" (_addr), "=d" (_mask) \
                  : "0"  (_addr), "1"  (_mask) ); \
   (prev) = _mask; \
 }

Definition at line 122 of file i960ca.h.

#define cause_intr (   intr)
Value:
{ register int _intr = (intr); \
   asm volatile( "sysctl %0,%0,%0" : "=d" (_intr) : "0" (_intr) ); \
 }

Definition at line 171 of file i960ca.h.

#define clear_intr (   xint)
Value:
{ register unsigned32 _xint=(xint); \
   asm volatile( "loop_til_cleared:" \
                 "  clrbit %0,sf0,sf0 ;" \
                 "  bbs    %0,sf0,loop_til_cleared" \
                 : "=d" (_xint) : "0" (_xint) ); \
 }

Definition at line 158 of file i960ca.h.

#define delay (   microseconds)
Value:
{ register unsigned32 _delay=(microseconds); \
    register unsigned32 _tmp; \
    asm volatile( "delay0: \                     remo      3,31,%0 ; \                     cmpo      0,%0 ; \                     subo      1,%1,%1 ; \                     cmpobne.t 0,%1,delay0 " \
                  : "=d" (_tmp), "=d" (_delay) \
                  : "0"  (_tmp), "1"  (_delay) ); \
  }

Definition at line 131 of file i960ca.h.

#define disable_intr (   oldlevel)
Value:
{ (oldlevel) = 0x1f0000; \
    asm volatile ( "modpc   0,%1,%1" \
                       : "=d" ((oldlevel)) \
                       : "0"  ((oldlevel)) ); \
  }

Definition at line 99 of file i960ca.h.

#define enable_intr (   oldlevel)
Value:
{ unsigned32 _mask = 0x1f0000; \
    asm volatile ( "modpc   0,%0,%1" \
                       : "=d" (_mask), "=d" ((oldlevel)) \
                       : "0"  (_mask), "1"  ((oldlevel)) ); \
  }

Definition at line 106 of file i960ca.h.

#define enable_tracing ( )
Value:
{ register unsigned32 _pc = 0x1; \
   asm volatile( "modpc 0,%0,%0" : "=d" (_pc) : "0" (_pc) ); \
 }

Definition at line 143 of file i960ca.h.

#define flash_intr (   oldlevel)
Value:
{ unsigned32 _mask = 0x1f0000; \
    asm volatile ( "modpc   0,%0,%1 ; \                    mov     %0,%1 ; \                    modpc   0,%0,%1"  \
                       : "=d" (_mask), "=d" ((oldlevel)) \
                       : "0"  (_mask), "1"  ((oldlevel)) ); \
  }

Definition at line 113 of file i960ca.h.

#define mask_intr (   xint)
Value:
{ register unsigned32 _mask= (1<<(xint)); \
   asm volatile( "andnot %0,sf1,sf1" : "=d" (_mask) : "0" (_mask) ); \
 }

Definition at line 153 of file i960ca.h.

#define reload_ctl_group (   group)
Value:
{ register int _cmd = ((group)|0x400) ; \
   asm volatile( "sysctl %0,%0,%0" : "=d" (_cmd) : "0" (_cmd) ); \
 }

Definition at line 166 of file i960ca.h.

#define soft_reset (   prcb)
Value:
{ register struct i80960ca_prcb *_prcb = (prcb); \
   register unsigned32         *_next=0; \
   register unsigned32          _cmd  = 0x30000; \
   asm volatile( "lda    next,%1; \                  sysctl %0,%1,%2; \            next: mov    g0,g0" \
                  : "=d" (_cmd), "=d" (_next), "=d" (_prcb) \
                  : "0"  (_cmd), "1"  (_next), "2"  (_prcb) ); \
 }

Definition at line 176 of file i960ca.h.

#define unmask_intr (   xint)
Value:
{ register unsigned32 _mask= (1<<(xint)); \
   asm volatile( "or sf1,%0,sf1" : "=d" (_mask) : "0" (_mask) ); \
 }

Definition at line 148 of file i960ca.h.


Typedef Documentation

typedef unsigned short unsigned16

Definition at line 33 of file i960ca.h.

typedef unsigned int unsigned32

Definition at line 34 of file i960ca.h.

typedef unsigned char unsigned8

Definition at line 32 of file i960ca.h.


Function Documentation

static unsigned32 get_fp ( ) [inline, static]

Definition at line 199 of file i960ca.h.

{ register unsigned32 _fp=0;
  asm volatile( "mov fp,%0" : "=d" (_fp) : "0" (_fp) );
  return ( _fp );
}
static unsigned32 mask_intrs ( ) [inline, static]

Definition at line 193 of file i960ca.h.

{ register unsigned32 _intr=0;
  asm volatile( "mov sf1,%0" : "=d" (_intr) : "0" (_intr) );
  return( _intr );
}
static unsigned32 pend_intrs ( ) [inline, static]

Definition at line 187 of file i960ca.h.

{ register unsigned32 _intr=0;
  asm volatile( "mov sf0,%0" : "=d" (_intr) : "0" (_intr) );
  return ( _intr );
}