// ARM runtime support. // // Copyright (c) 2001, 2002 Rowley Associates Limited. // // This file may be distributed under the terms of the License Agreement // provided with this software. // // THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. #ifndef __armlib_H #define __armlib_H #ifdef __cplusplus extern "C" { #endif /***************************************************************************** * Function : __ARMLIB_enableIRQ * * Description : Enable ARM's global interrupts * *****************************************************************************/ void __ARMLIB_enableIRQ(void); /***************************************************************************** * Function : __ARMLIB_disableIRQ * * Description : Disable ARM's global interrupts * *****************************************************************************/ void __ARMLIB_disableIRQ(void); /***************************************************************************** * Function : __ARMLIB_isrEnableIRQ * * Description : Re-enable ARM's global interrupts from within an IRQ ISR * * NOTE: Call must be accompanied with a call to * * __ARMLIB_isrDisableIRQ prior to completion of the ISR. * *****************************************************************************/ void __ARMLIB_isrEnableIRQ(void); /***************************************************************************** * Function : __ARMLIB_isrDisableIRQ * * Description : Re-disable ARM's global interrupts from within an IRQ ISR * *****************************************************************************/ void __ARMLIB_isrDisableIRQ(void); /***************************************************************************** * Function : __ARMLIB_enableFIQ * * Description : Enable ARM's global interrupts * *****************************************************************************/ void __ARMLIB_enableFIQ(void); /***************************************************************************** * Function : __ARMLIB_disableFIQ * * Description : Disable ARM's global interrupts * *****************************************************************************/ void __ARMLIB_disableFIQ(void); /***************************************************************************** * Function : __ARMLIB_commTX * * Description : Transmit word down the ARM's communication channel. * *****************************************************************************/ void __ARMLIB_commTX(unsigned long n); /***************************************************************************** * Function : __ARMLIB_commRX * * Description : Receive word fom the ARM's communication channel. * *****************************************************************************/ unsigned long __ARMLIB_commRX(void); /***************************************************************************** * Function : __ARMLIB_runCommPortServer * * Description : Serve commands from ARM's communication channel until * * terminated. * *****************************************************************************/ void __ARMLIB_runCommPortServer(void); /***************************************************************************** * Function : __ARMLIB_crc32 * * Description : Compute CRC-32 checksum for a block of data. * *****************************************************************************/ unsigned long __ARMLIB_crc32(const unsigned char *src, unsigned long length); #ifdef __cplusplus } #endif #endif