
INITIALIZATION AND SYSTEM REQUIREMENTS
12-18
12.3.2
Process PRCB Flow
The following pseudo-code flow illustrates the processing of the PRCB. Note that this flow is used
for both initialization and reinitialization (through
sysctl
).
Example 12-2. Process PRCB Flow
Process_PRCB(prcb_ptr)
{ PRCB_mmr = prcb_ptr;
reset_state(data_ram); /* It is unpredictable whether the */
/* Data RAM keeps its prior contents */
fault_table = memory[PRCB_mmr];
ctrl_table = memory[P0x4];
AC = memory[P0x8];
fault_config = memory[P0xc];
if (1 & (fault_config >> 30)) generate_fault_on_unaligned_access = false;
else generate_fault_on_unaligned_access = true;
/** Load Interrupt Table and Cache NMI Vector Entry in Data RAM**/
Reset_block_NMI;
interrupt_table = memory[P0x10];
memory[0] = memory[interrupt (248*4) + 4];
/** Process System Procedure Table **/
sysproc = memory[P0x14];
temp = memory[0xc];
SSP_mmr = (~0x3) & temp;
SSP.te = 1 & temp;
/** Initialize ISP, FP, SP, and PFP **/
ISP_mmr = memory[P0x1c];
FP = (~0xF) & ISP_mmr;
SP = FP + 64;
PFP = FP;
/** Initialize Instruction Cache **/
ICCW = memory[P0x20];
if (1 & (ICCW >> 16) ) disable(I_cache);
/** Configure Local Register Cache **/
programmed_limit = (7 & (memory[P0x24] >> 8) );
config_reg_cache( programmed_limit );
/** Load_control_table. **/
load_control_table(ctr0x10 , ctr0x58);
load_control_table(ctr0x68 , ctr0x6c);
IBP0 = 0x0; IBP1 = 0x0; DAB0 = 0x0; DAB1 = 0x0; BPCON = 0x0
/** Initialize Timers **/
TMR0.tc = 0; TMR1.tc = 0; TMR0.enable = 0; TMR1.enable = 0;
TMR0.sup = 0; TMR1.sup = 0; TMR0.reload = 0; TMR1.reload = 0;
TMR0.csel = 0; TMR1.csel = 0;
DLMCON.dcen = 0
LMMR0O.lmte = 0
LMMR1.lmte = 0
return;
}
Summary of Contents for i960 Jx
Page 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Page 24: ......
Page 25: ...1 INTRODUCTION ...
Page 26: ......
Page 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Page 36: ......
Page 46: ......
Page 47: ...3 PROGRAMMING ENVIRONMENT ...
Page 48: ......
Page 73: ...4 CACHE AND ON CHIP DATA RAM ...
Page 74: ......
Page 85: ...5 INSTRUCTION SET OVERVIEW ...
Page 86: ......
Page 111: ...6 INSTRUCTION SET REFERENCE ...
Page 112: ......
Page 233: ...7 PROCEDURE CALLS ...
Page 234: ......
Page 256: ......
Page 257: ...8 FAULTS ...
Page 258: ......
Page 291: ...9 TRACING AND DEBUGGING ...
Page 292: ......
Page 309: ...10 TIMERS ...
Page 310: ......
Page 324: ......
Page 325: ...11 INTERRUPTS ...
Page 326: ......
Page 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Page 370: ......
Page 412: ......
Page 413: ...13 MEMORY CONFIGURATION ...
Page 414: ......
Page 429: ...14 EXTERNAL BUS ...
Page 430: ......
Page 468: ......
Page 469: ...15 TEST FEATURES ...
Page 470: ......
Page 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Page 494: ......
Page 502: ......
Page 503: ...B OPCODES AND EXECUTION TIMES ...
Page 504: ......
Page 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Page 516: ......
Page 523: ...D REGISTER AND DATA STRUCTURES ...
Page 524: ......
Page 550: ......
Page 551: ...GLOSSARY ...
Page 552: ......
Page 561: ...INDEX ...
Page 562: ......
Page 578: ......