- Timestamp:
- 07/11/00 19:31:04 (23 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 073e2411
- Parents:
- 9e52b29
- Location:
- c/src/lib
- Files:
-
- 17 added
- 14 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/i960/cvme961/include/bsp.h
r9e52b29 rbc85fd5a 23 23 24 24 #include <rtems.h> 25 #include <libcpu/i960CA.h> 25 26 #include <iosupp.h> 26 27 #include <console.h> -
c/src/lib/libbsp/i960/cvme961/startup/bspstart.c
r9e52b29 rbc85fd5a 109 109 Cpu_table.postdriver_hook = bsp_postdriver_hook; 110 110 Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY; 111 Cpu_table.Prcb = Prcb;112 111 113 112 BSP_Configuration.work_space_start = (void *) -
c/src/lib/libbsp/i960/cvme961/wrapup/Makefile.am
r9e52b29 rbc85fd5a 20 20 # bummer; have to use $foreach since % pattern subst rules only replace 1x 21 21 OBJS = $(foreach piece, $(BSP_FILES), $(wildcard ../$(piece)/$(ARCH)/*.o)) \ 22 $(foreach piece, $(GENERIC_FILES), ../../../$(piece)/$(ARCH)/$(piece).rel) 22 $(wildcard ../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/$(ARCH)/*.o) \ 23 $(foreach piece, $(GENERIC_FILES), ../../../$(piece)/$(ARCH)/$(piece).rel) 23 24 24 25 LIB = $(ARCH)/libbsp.a -
c/src/lib/libbsp/i960/i960sim/include/bsp.h
r9e52b29 rbc85fd5a 14 14 */ 15 15 16 #ifndef __ CVME961_h17 #define __ CVME961_h16 #ifndef __I960SIM_h 17 #define __I960SIM_h 18 18 19 19 #ifdef __cplusplus -
c/src/lib/libbsp/i960/i960sim/startup/bspstart.c
r9e52b29 rbc85fd5a 78 78 */ 79 79 80 #include <libcpu/i960KA.h> 81 82 i960_PRCB *Prcb; /* to satisfy linking */ 83 80 84 void bsp_start( void ) 81 85 { … … 87 91 Cpu_table.postdriver_hook = bsp_postdriver_hook; 88 92 Cpu_table.interrupt_stack_size = 4096; 89 Cpu_table.Prcb = 0; /* Prcb; */90 93 91 94 if ( BSP_Configuration.work_space_size >(512*1024) ) -
c/src/lib/libbsp/i960/i960sim/wrapup/Makefile.am
r9e52b29 rbc85fd5a 12 12 # bummer; have to use $foreach since % pattern subst rules only replace 1x 13 13 OBJS = $(foreach piece, $(BSP_FILES), $(wildcard ../$(piece)/$(ARCH)/*.o)) \ 14 $(foreach piece, $(GENERIC_FILES), ../../../$(piece)/$(ARCH)/$(piece).rel) 14 $(wildcard ../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/$(ARCH)/*.o) \ 15 $(foreach piece, $(GENERIC_FILES), ../../../$(piece)/$(ARCH)/$(piece).rel) 15 16 16 17 LIB = $(ARCH)/libbsp.a -
c/src/lib/libbsp/i960/rxgen960/clock/ckinit.c
r9e52b29 rbc85fd5a 23 23 24 24 #include <bsp.h> 25 #include <i960RP.h>26 25 #include <rtems/libio.h> 27 26 -
c/src/lib/libbsp/i960/rxgen960/include/bsp.h
r9e52b29 rbc85fd5a 23 23 24 24 #include <rtems.h> 25 #include <libcpu/i960RP.h> 25 26 #include <iosupp.h> 26 27 #include <console.h> -
c/src/lib/libbsp/i960/rxgen960/startup/bspstart.c
r9e52b29 rbc85fd5a 29 29 #include <fcntl.h> 30 30 #include <stdio.h> 31 #include "i960RP.h"32 31 #include <rtems/libio.h> 33 32 34 #ifdef STACK_CHECKER_ON35 #include <stackchk.h>36 #endif37 38 33 #define HEAP_SIZE 1024*1024*2 39 34 … … 85 80 86 81 87 #ifdef STACK_CHECKER_ON88 /*89 * Initialize the stack bounds checker90 * We can either turn it on here or from the app.91 */92 93 *(unsigned char *)(0x120f) = 0xe;94 Stack_check_Initialize();95 #endif96 97 82 #ifdef RTEMS_DEBUG 98 83 rtems_debug_enable( RTEMS_DEBUG_ALL_MASK ); … … 135 120 Cpu_table.interrupt_stack_size = CONFIGURE_INTERRUPT_STACK_MEMORY; 136 121 Cpu_table.extra_mpci_receive_server_stack = 0; 137 Cpu_table.Prcb = Prcb;138 122 139 123 /* just trying to get along */ -
c/src/lib/libbsp/i960/rxgen960/startup/cntrltbl.c
r9e52b29 rbc85fd5a 7 7 */ 8 8 9 #include "i960RP.h"9 #include <bsp.h> 10 10 #include "cntrltbl.h" 11 11 /*-------------------------------------*/ -
c/src/lib/libbsp/i960/rxgen960/startup/rom_cntrltbl.c
r9e52b29 rbc85fd5a 7 7 */ 8 8 9 #include < i960RP.h>9 #include <bsp.h> 10 10 #include "cntrltbl.h" 11 11 /*-------------------------------------*/ -
c/src/lib/libbsp/i960/rxgen960/startup/rom_ibr.c
r9e52b29 rbc85fd5a 10 10 #include "prcb.h" 11 11 #include "cntrltbl.h" 12 #include < i960RP.h>12 #include <bsp.h> 13 13 #include "../include/rxgen960_config.h" 14 14 /*-------------------------------------*/ -
c/src/lib/libbsp/i960/rxgen960/timer/timer.c
r9e52b29 rbc85fd5a 28 28 29 29 30 #include <rtems.h>31 30 #include <bsp.h> 32 31 #include <stdlib.h> 33 #include <i960RP.h>34 32 #include <rtems/libio.h> 35 33 -
c/src/lib/libbsp/i960/rxgen960/wrapup/Makefile.am
r9e52b29 rbc85fd5a 20 20 # bummer; have to use $foreach since % pattern subst rules only replace 1x 21 21 OBJS = $(foreach piece, $(BSP_PIECES), $(wildcard ../$(piece)/$(ARCH)/*.o)) \ 22 $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel) 22 $(wildcard ../../../../libcpu/$(RTEMS_CPU)/$(RTEMS_CPU_MODEL)/$(ARCH)/*.o) \ 23 $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel) 23 24 LIB = $(ARCH)/libbsp.a 24 25 -
c/src/lib/libcpu/i960/include/i960RP.h
r9e52b29 rbc85fd5a 11 11 #define __I960RP_h 12 12 13 /*----------------------------------------------------------*/ 14 /* Example 6. Include File (evrp.h) */ 15 /*----------------------------------------------------------*/ 16 /* Define JX Core memory mapped register addresses */ 17 /* Common to Jx and RP: */ 18 #define DLMCON_ADDR 0xff008100 19 #define LMAR0_ADDR 0xff008108 20 #define LMMR0_ADDR 0xff00810c 21 #define LMAR1_ADDR 0xff008110 22 #define LMMR1_ADDR 0xff008114 23 #define IPB0_ADDR 0xff008400 24 #define IPB1_ADDR 0xff008404 25 #define DAB0_ADDR 0xff008420 26 #define DAB1_ADDR 0xff008424 27 #define BPCON_ADDR 0xff008440 28 #define IPND_ADDR 0xff008500 29 #define IMSK_ADDR 0xff008504 30 #define ICON_ADDR 0xff008510 31 #define IMAP0_ADDR 0xff008520 32 #define IMAP1_ADDR 0xff008524 33 #define IMAP2_ADDR 0xff008528 34 #define PMCON0_ADDR 0xff008600 35 #define PMCON2_ADDR 0xff008608 36 #define PMCON4_ADDR 0xff008610 37 #define PMCON6_ADDR 0xff008618 38 #define PMCON8_ADDR 0xff008620 39 #define PMCON10_ADDR 0xff008628 40 #define PMCON12_ADDR 0xff008630 41 #define PMCON14_ADDR 0xff008638 42 #define BCON_ADDR 0xff0086fc 43 #define PRCB_ADDR 0xff008700 44 #define ISP_ADDR 0xff008704 45 #define SSP_ADDR 0xff008708 46 #define DEVID_ADDR 0xff008710 47 #define TRR0_ADDR 0xff000300 48 #define TCR0_ADDR 0xff000304 49 #define TMR0_ADDR 0xff000308 50 #define TRR1_ADDR 0xff000310 51 #define TCR1_ADDR 0xff000314 52 #define TMR1_ADDR 0xff000318 13 /* i960RP control structures */ 14 15 /* Intel i960RP Control Table */ 16 17 typedef struct { 18 /* Control Group 0 */ 19 unsigned int rsvd00; 20 unsigned int rsvd01; 21 unsigned int rsvd02; 22 unsigned int rsvd03; 23 /* Control Group 1 */ 24 unsigned int imap0; /* interrupt map 0 */ 25 unsigned int imap1; /* interrupt map 1 */ 26 unsigned int imap2; /* interrupt map 2 */ 27 unsigned int icon; /* interrupt control */ 28 /* Control Group 2 */ 29 unsigned int pmcon0; /* memory region 0 configuration */ 30 unsigned int rsvd1; 31 unsigned int pmcon2; /* memory region 2 configuration */ 32 unsigned int rsvd2; 33 /* Control Group 3 */ 34 unsigned int pmcon4; /* memory region 4 configuration */ 35 unsigned int rsvd3; 36 unsigned int pmcon6; /* memory region 6 configuration */ 37 unsigned int rsvd4; 38 /* Control Group 4 */ 39 unsigned int pmcon8; /* memory region 8 configuration */ 40 unsigned int rsvd5; 41 unsigned int pmcon10; /* memory region 10 configuration */ 42 unsigned int rsvd6; 43 /* Control Group 5 */ 44 unsigned int pmcon12; /* memory region 12 configuration */ 45 unsigned int rsvd7; 46 unsigned int pmcon14; /* memory region 14 configuration */ 47 unsigned int rsvd8; 48 /* Control Group 6 */ 49 unsigned int rsvd9; 50 unsigned int rsvd10; 51 unsigned int tc; /* trace control */ 52 unsigned int bcon; /* bus configuration control */ 53 } i960rp_control_table; 54 55 /* Intel i960RP Processor Control Block */ 56 57 /* Intel i960RP Processor Control Block */ 58 59 typedef struct { 60 unsigned int *fault_tbl; /* fault table base address */ 61 i960rp_control_table 62 *control_tbl; /* control table base address */ 63 unsigned int initial_ac; /* AC register initial value */ 64 unsigned int fault_config; /* fault configuration word */ 65 void **intr_tbl; /* interrupt table base address */ 66 void *sys_proc_tbl; /* system procedure table 67 base address */ 68 unsigned int reserved; /* reserved */ 69 unsigned int *intr_stack; /* interrupt stack pointer */ 70 unsigned int ins_cache_cfg; /* instruction cache 71 configuration word */ 72 unsigned int reg_cache_cfg; /* register cache configuration word */ 73 } i960rp_PRCB; 74 75 typedef i960rp_control_table i960_control_table; 76 typedef i960rp_PRCB i960_PRCB; 77 78 /* Addresses shared with JX */ 79 80 #include <libcpu/i960JX_RP_common.h> 53 81 54 82 /* RP-only addresses: */ … … 315 343 #define RP_PRI_MEM_WIND_BASE 0x80000000 316 344 345 #define i960_unmask_intr( xint ) \ 346 { register unsigned int _mask= (1<<(xint)); \ 347 register unsigned int *_imsk = (int * ) IMSK_ADDR; \ 348 register unsigned int _val= *_imsk; \ 349 asm volatile( "or %0,%2,%0; \ 350 st %0,(%1)" \ 351 : "=d" (_val), "=d" (_imsk), "=d" (_mask) \ 352 : "0" (_val), "1" (_imsk), "2" (_mask) ); \ 353 } 354 355 #define i960_mask_intr( xint ) \ 356 { register unsigned int _mask= (1<<(xint)); \ 357 register unsigned int *_imsk = (int * ) IMSK_ADDR; \ 358 register unsigned int _val = *_imsk; \ 359 asm volatile( "andnot %2,%0,%0; \ 360 st %0,(%1)" \ 361 : "=d" (_val), "=d" (_imsk), "=d" (_mask) \ 362 : "0" (_val), "1" (_imsk), "2" (_mask) ); \ 363 } 364 #define i960_clear_intr( xint ) \ 365 { register unsigned int _xint=xint; \ 366 register unsigned int _mask=(1<<(xint)); \ 367 register unsigned int *_ipnd = (int * ) IPND_ADDR; \ 368 register unsigned int _rslt = 0; \ 369 asm volatile( "loop_til_cleared: mov 0, %0; \ 370 atmod %1, %2, %0; \ 371 bbs %3,%0, loop_til_cleared" \ 372 : "=d" (_rslt), "=d" (_ipnd), "=d" (_mask), "=d" (_xint) \ 373 : "0" (_rslt), "1" (_ipnd), "2" (_mask), "3" (_xint) ); \ 374 } 375 376 static inline unsigned int i960_pend_intrs() 377 { register unsigned int _intr= *(unsigned int *) IPND_ADDR; 378 /*register unsigned int *_ipnd = (int * ) IPND_ADDR; \ 379 asm volatile( "mov (%0),%1" \ 380 : "=d" (_ipnd), "=d" (_mask) \ 381 : "0" (_ipnd), "1" (_mask) ); \ */ 382 return ( _intr ); 383 } 384 385 static inline unsigned int i960_mask_intrs() 386 { register unsigned int _intr= *(unsigned int *) IMSK_ADDR; 387 /*asm volatile( "mov sf1,%0" : "=d" (_intr) : "0" (_intr) );*/ 388 return( _intr ); 389 } 390 391 #define I960_SOFT_RESET_COMMAND 0x300 392 393 #define i960_soft_reset( prcb ) \ 394 { register i960_PRCB *_prcb = (prcb); \ 395 register unsigned int *_next=0; \ 396 register unsigned int _cmd = I960_SOFT_RESET_COMMAND; \ 397 asm volatile( "lda next,%1; \ 398 sysctl %0,%1,%2; \ 399 next: mov g0,g0" \ 400 : "=d" (_cmd), "=d" (_next), "=d" (_prcb) \ 401 : "0" (_cmd), "1" (_next), "2" (_prcb) ); \ 402 } 403 404 317 405 #endif 318 406 /* end of include file */
Note: See TracChangeset
for help on using the changeset viewer.