⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 leon3.h

📁 这是leon3处理器的交叉编译链
💻 H
字号:
#ifndef _INCLUDE_LEON3_h#define _INCLUDE_LEON3_h#ifndef __ASSEMBLER__#ifdef __cplusplusextern "C" {#endif#define ASI_LEON3_CACHEMISS 1#define ASI_LEON3_SYSCTRL   0x02#define ASI_LEON3_DFLUSH    0x11#define ASI_LEON3_SYSCTRL_ICFG		0x08#define ASI_LEON3_SYSCTRL_DCFG		0x0c#define ASI_LEON3_SYSCTRL_CFG_SNOOPING (1<<27)#define ASI_LEON3_SYSCTRL_CFG_SSIZE(c) (1<<((c>>20)&0xf))extern __inline__ unsigned long sparc_leon23_get_psr(void) {	unsigned int retval;	__asm__ __volatile__("rd %%psr, %0\n\t" :			     "=r" (retval) :);	return (retval);}extern __inline__ unsigned long sparc_leon23_get_psr_version(void) {  unsigned int psr = sparc_leon23_get_psr();  return (psr >> 24) & 0xf;}#define LEON_ISLEON2 (sparc_leon23_get_psr_version() == 2 || sparc_leon23_get_psr_version() == 0)#define LEON_ISLEON3 (sparc_leon23_get_psr_version() == 3)extern __inline__ unsigned long sparc_leon3_get_dcachecfg(void) {	unsigned int retval;	__asm__ __volatile__("lda [%1] %2, %0\n\t" :			     "=r" (retval) :			     "r" (ASI_LEON3_SYSCTRL_DCFG),			     "i" (ASI_LEON3_SYSCTRL));	return (retval);}extern __inline__ void sparc_leon3_enable_snooping(void) {  /*enable snooping*/  __asm__ volatile ("lda [%%g0] 2, %%l1\n\t"  \                    "set 0x800000, %%l2\n\t"  \                    "or  %%l2, %%l1, %%l2\n\t" \                    "sta %%l2, [%%g0] 2\n\t"  \                    :  : : "l1", "l2");	};extern __inline__ void sparc_leon3_disable_cache(void) {  /*asi 2*/  __asm__ volatile ("lda [%%g0] 2, %%l1\n\t"  \                    "set 0x00000f, %%l2\n\t"  \                    "andn  %%l2, %%l1, %%l2\n\t" \                    "sta %%l2, [%%g0] 2\n\t"  \                    :  : : "l1", "l2");	};extern __inline__ void sparc_leon3_dcache_flush(void) {        __asm__ __volatile__(" flush "); //iflush 	__asm__ __volatile__("sta %%g0, [%%g0] %0\n\t": :			     "i" (ASI_LEON3_DFLUSH) : "memory");};  #ifdef __cplusplus}#endif#endif /* !ASM */ #endif /* !_INCLUDE_LEON3_h *//* end of include file */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -