Changeset aee685a3 in rtems


Ignore:
Timestamp:
Jul 22, 2008, 5:52:05 AM (11 years ago)
Author:
Till Straumann <strauman@…>
Branches:
4.10, 4.11, 4.9, master
Children:
479f2555
Parents:
336495b9
Message:

2008-07-21 Till Straumann <strauman@…>

  • Makefile.am, preinstall.am, irq/irq_init.c: Use low-level exception handling support from new-exceptions/bspsupport.
Location:
c/src/lib/libbsp/powerpc/virtex
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/virtex/ChangeLog

    r336495b9 raee685a3  
     12008-07-21      Till Straumann <strauman@slac.stanford.edu>
     2
     3        * Makefile.am, preinstall.am, irq/irq_init.c:
     4        Use low-level exception handling support from
     5        new-exceptions/bspsupport.
     6       
    172008-07-21      Till Straumann <strauman@slac.stanford.edu>
    28
  • c/src/lib/libbsp/powerpc/virtex/Makefile.am

    r336495b9 raee685a3  
    4545
    4646include_bsp_HEADERS += irq/irq.h
    47 irq_SOURCES = irq/irq_init.c ../shared/irq/irq_asm.S
     47irq_SOURCES = irq/irq_init.c
    4848
    49 include_bsp_HEADERS += ../../powerpc/shared/vectors/vectors.h
    50 vectors_SOURCES = ../../powerpc/shared/vectors/vectors.h \
    51     ../../powerpc/shared/vectors/vectors_init.c \
    52     ../../powerpc/shared/vectors/vectors.S
     49include_bsp_HEADERS +=  \
     50  ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/vectors.h \
     51  ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/ppc_exc_bspsupp.h
    5352
    5453if HAS_NETWORKING
     
    6968    ../../../libcpu/@RTEMS_CPU@/@exceptions@/rtems-cpu.rel \
    7069    ../../../libcpu/@RTEMS_CPU@/@exceptions@/raw_exception.rel \
     70    ../../../libcpu/@RTEMS_CPU@/@exceptions@/exc_bspsupport.rel \
    7171    ../../../libcpu/@RTEMS_CPU@/shared/cpuIdent.rel \
    7272    ../../../libcpu/@RTEMS_CPU@/ppc403/clock.rel \
  • c/src/lib/libbsp/powerpc/virtex/irq/irq_init.c

    r336495b9 raee685a3  
    9797   */
    9898  switch(excNum) {
    99 #if 0
    100   case ASM_DEC_VECTOR:
    101     _CPU_MSR_GET(msr);
    102     new_msr = msr | MSR_EE;
    103     _CPU_MSR_SET(new_msr);
    104    
    105     BSP_rtems_irq_tbl[BSP_DECREMENTER].hdl
    106       (BSP_rtems_irq_tbl[BSP_DECREMENTER].handle);
    107    
    108     _CPU_MSR_SET(msr);
    109    
    110     break;
    111 #endif
    11299  case ASM_EXT_VECTOR:
    113100    BSP_irq_handle_at_opbintc();
     
    125112}
    126113 
    127 void _ThreadProcessSignalsFromIrq (BSP_Exception_frame* ctx)
    128 {
    129   /*
    130    * Process pending signals that have not already been
    131    * processed by _Thread_Displatch. This happens quite
    132    * unfrequently : the ISR must have posted an action
    133    * to the current running thread.
    134    */
    135   if ( _Thread_Do_post_task_switch_extension ||
    136        _Thread_Executing->do_post_task_switch_extension ) {
    137     _Thread_Executing->do_post_task_switch_extension = FALSE;
    138     _API_extensions_Run_postswitch();
    139   }
    140 }
    141 
    142114/***********************************************************
    143115 * functions to set/get/remove interrupt handlers
     
    315287  return 1;
    316288}
    317 /**********************************************
    318  * list of exception vectors to tap for interrupt handlers
    319  */
    320 static rtems_raw_except_connect_data BSP_vec_desc[] = {
    321 #if 0 /* ppc405 has no decrementer */
    322   {ASM_DEC_VECTOR,
    323    {ASM_DEC_VECTOR,
    324     decrementer_exception_vector_prolog_code,
    325     (size_t)decrementer_exception_vector_prolog_code_size
    326    },
    327    exception_nop_enable,
    328    exception_nop_enable,
    329    exception_always_enabled
    330   },
    331 #endif
    332   {ASM_EXT_VECTOR,
    333    {ASM_EXT_VECTOR,
    334     external_exception_vector_prolog_code,
    335     (size_t)&external_exception_vector_prolog_code_size
    336    },
    337    exception_nop_enable,
    338    exception_nop_enable,
    339    exception_always_enabled
    340   },
    341   {ASM_BOOKE_DEC_VECTOR,
    342    {ASM_BOOKE_DEC_VECTOR,
    343     pit_exception_vector_prolog_code,
    344     (size_t)&pit_exception_vector_prolog_code_size
    345    },
    346    exception_nop_enable,
    347    exception_nop_enable,
    348    exception_always_enabled
    349   }
    350 #if 0 /* Critical interrupts not yet supported */
    351   ,{ASM_BOOKE_CRIT_VECTOR,
    352    {ASM_BOOKE_CRIT_VECTOR,
    353     critical_exception_vector_prolog_code,
    354     critical_exception_vector_prolog_code_size
    355    }
    356    BSP_irq_nop_func,
    357    BSP_irq_nop_func,
    358    BSP_irq_true_func
    359   }
    360 #endif
    361 };
    362289
    363290/*
     
    390317{
    391318  int i;
     319
    392320  /*
    393321   * connect all exception vectors needed
    394322   */
    395   for (i = 0;
    396        i < (sizeof(BSP_vec_desc) /
    397             sizeof(BSP_vec_desc[0]));
    398        i++) {
    399     if (!ppc_set_exception (&BSP_vec_desc[i])) {
    400       BSP_panic("Unable to initialize RTEMS raw exception\n");
    401     }
    402   }
     323 ppc_exc_set_handler(ASM_EXT_VECTOR, C_dispatch_irq_handler);
     324 ppc_exc_set_handler(ASM_BOOKE_DEC_VECTOR, C_dispatch_irq_handler);
     325
    403326  /*
    404327   * setup interrupt handlers table
  • c/src/lib/libbsp/powerpc/virtex/preinstall.am

    r336495b9 raee685a3  
    7979PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
    8080
    81 $(PROJECT_INCLUDE)/bsp/vectors.h: ../../powerpc/shared/vectors/vectors.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
     81$(PROJECT_INCLUDE)/bsp/vectors.h: ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/vectors.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
    8282        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/vectors.h
    8383PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/vectors.h
    8484
     85$(PROJECT_INCLUDE)/bsp/ppc_exc_bspsupp.h: ../../../libcpu/@RTEMS_CPU@/@exceptions@/bspsupport/ppc_exc_bspsupp.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
     86        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ppc_exc_bspsupp.h
     87PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ppc_exc_bspsupp.h
     88
Note: See TracChangeset for help on using the changeset viewer.