Changeset c243c49 in rtems


Ignore:
Timestamp:
Jun 12, 2000, 3:56:32 PM (21 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Children:
380b2231
Parents:
19c6e495
Message:

Added i960KA support in anticipation is i960 gdb simulator BSP.

Location:
c/src/exec/score/cpu/i960
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • c/src/exec/score/cpu/i960/cpu.c

    r19c6e495 rc243c49  
    1818#if defined(__i960CA__) || defined(__i960_CA__) || defined(__i960CA)
    1919#elif defined(__i960RP__)
     20#elif defined(__i960KA__)
    2021#else
    2122#warning "***  ENTIRE FILE IMPLEMENTED & TESTED FOR CA & RP ONLY  ***"
     
    7273#define i960_vector_caching_enabled( _prcb ) \
    7374   ((*((unsigned int *) ICON_ADDR)) & 0x2000)
     75#elif defined(__i960KA__)
     76#define i960_vector_caching_enabled( _prcb )  0 /* XXX fix me */
    7477#endif
    7578
     
    144147                  : "0"  (_cmd), "1"  (_next), "2"  (_prcb) ); \
    145148 }
    146 #else
    147 #if defined(__i960RP__) || defined(__i960_RP__) || defined(__i960RP)
     149#elif defined(__i960RP__) || defined(__i960_RP__) || defined(__i960RP)
    148150#define soft_reset( prcb ) \
    149151 { register i960_PRCB *_prcb = (prcb); \
     
    156158                  : "0"  (_cmd), "1"  (_next), "2"  (_prcb) ); \
    157159 }
    158 #endif
     160#elif defined(__i960KA__)
     161#define soft_reset( prcb ) /* XXX fix me */
    159162#endif
    160163
     
    174177  _CPU_ISR_Disable( level );
    175178
     179#if !defined(__i960_KA__)
    176180    prcb->intr_stack = _CPU_Interrupt_stack_low;
     181#endif
    177182
    178183#if defined(__i960CA__) || defined(__i960_CA__) || defined(__i960CA)
  • c/src/exec/score/cpu/i960/cpu_asm.S

    r19c6e495 rc243c49  
    227227 */
    228228
     229#if !defined(__i960KA__)
    229230                .globl __i960_soft_reset_asm
    230231__i960_soft_reset_asm:
     
    243244                mov                     r6, sp
    244245                ret
     246#endif
  • c/src/exec/score/cpu/i960/rtems/score/cpu.h

    r19c6e495 rc243c49  
    2121#endif
    2222
     23#if 0
    2324#pragma align 4            /* for GNU C structure alignment */
     25#endif
    2426
    2527#include <rtems/score/i960.h>              /* pick up machine definitions */
     
    352354 */
    353355
     356#if defined(i960gdbsim)
     357
     358#define CPU_USE_GENERIC_BITFIELD_CODE TRUE
     359#define CPU_USE_GENERIC_BITFIELD_DATA TRUE
     360#else
    354361#define CPU_USE_GENERIC_BITFIELD_CODE FALSE
    355362#define CPU_USE_GENERIC_BITFIELD_DATA FALSE
     
    383390
    384391/* end of Priority handler macros */
     392#endif
    385393
    386394/* functions */
  • c/src/exec/score/cpu/i960/rtems/score/i960.h

    r19c6e495 rc243c49  
    3434 */
    3535
    36 #if defined(rtems_multilib)
    37 /*
    38  *  Figure out all CPU Model Feature Flags based upon compiler
    39  *  predefines.
    40  */
    41 
    42 #define CPU_MODEL_NAME  "rtems_multilib"
    43 #define I960_HAS_FPU 0
    44 #define I960_CPU_ALIGNMENT 4
    45 #define I960_SOFT_RESET_COMMAND 0x30000
     36#if defined(i960gdbsim)
     37
     38#define CPU_MODEL_NAME  "i960gdbsim"
     39#define __RTEMS_I960KA__
     40
     41#elif defined(__i960KA__) || defined(__i960_KA__) || defined(__i960KA)
     42
     43#define CPU_MODEL_NAME  "i960ka"
     44#define __RTEMS_I960KA__
    4645
    4746#elif defined(__i960CA__) || defined(__i960_CA__) || defined(__i960CA)
     
    305304typedef i960rp_PRCB i960_PRCB;
    306305
     306#elif defined(__RTEMS_I960KA__)
     307
     308typedef struct {
     309  int fixme;
     310}   i960ka_control_table;
     311
     312typedef struct {
     313  void           **intr_tbl;      /* interrupt table base address */
     314  unsigned int    *intr_stack;    /* interrupt stack pointer */
     315  int fixme;
     316}   i960ka_PRCB;
     317
     318typedef i960ka_control_table i960_control_table;
     319typedef i960ka_PRCB i960_PRCB;
    307320#else
    308321#error "invalid processor selection!"
Note: See TracChangeset for help on using the changeset viewer.