forked from Imagelibrary/rtems
LEON3: change d-cache snoop detect implementation
PR 2010/bsps The previous code only checked if d-cache snooping was implemented, however snooping may be available but not enabled which may lead to driver bugs. Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
This commit is contained in:
committed by
Joel Sherrill
parent
45eaf8ccb4
commit
9591970856
@@ -36,19 +36,17 @@ extern void amba_initialize(void);
|
||||
* 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.
|
||||
*
|
||||
* bus snooping is available and enabled. 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 "
|
||||
__asm__ (" lda [%%g0] 2, %0 "
|
||||
: "=r"(tmp)
|
||||
: "r"(0xC)
|
||||
:
|
||||
);
|
||||
return (tmp >> 27) & 1;
|
||||
return (tmp >> 23) & 1;
|
||||
}
|
||||
|
||||
/* ASM-function used to get the CPU-Index on calling LEON3 CPUs */
|
||||
|
||||
Reference in New Issue
Block a user