view gsm-fw/services/dar/dar_emergency.h @ 923:10b4bed10192

gsm-fw/L1: fix for the DSP patch corruption bug The L1 code we got from the LoCosto fw contains a feature for DSP CPU load measurement. This feature is a LoCosto-ism, i.e., not applicable to earlier DBB chips (Calypso) with their respective earlier DSP ROMs. Most of the code dealing with that feature is conditionalized as #if (DSP >= 38), but one spot was missed, and the MCU code was writing into an API word dealing with this feature. In TCS211 this DSP API word happens to be used by the DSP code patch, hence that write was corrupting the patched DSP code.
author Mychaela Falconia <falcon@ivan.Harhan.ORG>
date Mon, 19 Oct 2015 17:13:56 +0000
parents 81bee6125882
children
line wrap: on
line source

/****************************************************************************/
/*                                                                          */
/*  File Name:  dar_emergency.h                                             */
/*                                                                          */
/*  Purpose:   This function contains the functions prototypes of the DAR   */ 
/*             entity when emergencies occured.                             */
/*                                                                          */
/*  Version   0.1                                                           */
/*                                                                          */
/*  Date               Modification                                         */
/*  ------------------------------------                                    */
/*  17 October 2001    Create                                               */
/*                                                                          */
/*  Author     Stephanie Gerthoux                                           */
/*                                                                          */
/* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved*/
/****************************************************************************/

#ifndef __DAR_EMERGENCY_H_
#define __DAR_EMERGENCY_H_

  #include "../../riviera/rv/rv_defined_swe.h"

  #ifdef RVM_DAR_SWE

    #include "../../riviera/rvm/rvm_gen.h"

    /* Functions prototypes */
    T_RV_RET dar_process_emergency( T_DAR_INFO    *buffer_p,
                                    T_DAR_FORMAT  format,
                                    T_RVM_USE_ID  dar_use_id,
                                    UINT32 flags);
    void dar_exception_arm_undefined(void);
    void dar_exception_arm_swi(void);
    void dar_exception_arm_abort_prefetch(void);
    void dar_exception_arm_abort_data(void);
    void dar_exception_arm_reserved(void);

  #endif /* #ifdef RVM_DAR_SWE */

  void dar_exception(int abort_type);

#endif /* __DAR_EMERGENCY_H_ */