summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i960/rxgen960/startup/prcb.h
blob: 235341740dae1d893be4a4795d7ac0e54c2f31d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/*-------------------------------------*/
/* prcb.h                              */
/* Last change :  11. 1.95              */
/*-------------------------------------*/
/*
 *  $Id$
 */

#ifndef _PRCB_H_
#define _PRCB_H_

#include "flttbl.h"
#include "cntrltbl.h"
#include "intrtbl.h"
#include "systbl.h"

  /* PRocess Control Block  
   */      
struct PRCB {                       
  FaultTblEntry * faultTbl;             /* Fault Table Base */   
  ControlTblEntry * controlTbl;         /* Control Table Base */    
  unsigned int arithConfig;             /* Arithmetic Control Register Image */ 
  unsigned int faultConfig;             /* Fault Configuration Word Image */
  InterruptTbl * interruptTbl;          /* Interrupt Table Base */ 
  SystemTbl * systemTbl;                /* System Procedure Table Base */   
  unsigned int reserved;                /* Reserved */  
  unsigned int * intStackPtr;           /* Interrupt Stack Pointer */
  unsigned int instCacheConfig;         /* Instruction Cache Config */ 
  unsigned int regCacheConfig;          /* Register Cache Config */ 
}; 
  /* Constants for Arithmetic Control Register.
   */
#define	INT_OVFL_ENABLE		0
#define	INT_OVFL_DISABLE	0x1000

#define	PRECISE_FLTS		0x8000 
#define	IMPRECISE_FLTS		0 
  /* Constants for Fault Configuration Word.
   */
#define	UNLGND_FAULT_ENABLE	0
#define	UNLGND_FAULT_DISABLE    0x40000000 
  /* Constants for Instruction Cache Configuration Word.
   */  
#define INST_CACHE_ENABLE	0
#define INST_CACHE_DISABLE      0x10000
  /* RAM-based Process Control Block.
   */
extern struct PRCB ram_prcb;
extern struct PRCB rom_prcb;
  /* Supervisor Stack. Is defined directly in rom.ld.
   */
extern unsigned int svrStackPtr[]; 
  /* Interrupt Stack. Is defined directly in rom.ld.
   */
extern unsigned int intStackPtr[]; 

#endif
/*-------------*/
/* End of file */
/*-------------*/