/* * This set of routines starts the application. It includes application, * board, and monitor specific initialization and configuration. * The generic CPU dependent initialization has been performed * before any of these are invoked. * * COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * Modified for LEON3 BSP. * COPYRIGHT (c) 2004. * Gaisler Research. * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. * * $Id$ */ #include #include /* * Tells us if data cache snooping is available */ int CPU_SPARC_HAS_SNOOPING; /* * set_snooping * * Read the data cache configuration register to determine if * bus snooping is available. This is needed for some drivers so * that they can select the most efficient copy routines. * */ static inline int set_snooping(void) { int tmp; asm(" lda [%1] 2, %0 " : "=r"(tmp) : "r"(0xC) ); return (tmp >> 27) & 1; } /* * bsp_start * * This routine does the bulk of the system initialization. */ void bsp_start( void ) { CPU_SPARC_HAS_SNOOPING = set_snooping(); }