|
Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /lib/modules/4.4.0-141-generic/build/arch/cris/include/arch-v32/arch/hwregs/ |
Upload File : |
#ifndef __SUPP_REG_H__
#define __SUPP_REG_H__
/* Macros for reading and writing support/special registers. */
#ifndef STRINGIFYFY
#define STRINGIFYFY(i) #i
#endif
#ifndef STRINGIFY
#define STRINGIFY(i) STRINGIFYFY(i)
#endif
#define SPEC_REG_BZ "BZ"
#define SPEC_REG_VR "VR"
#define SPEC_REG_PID "PID"
#define SPEC_REG_SRS "SRS"
#define SPEC_REG_WZ "WZ"
#define SPEC_REG_EXS "EXS"
#define SPEC_REG_EDA "EDA"
#define SPEC_REG_MOF "MOF"
#define SPEC_REG_DZ "DZ"
#define SPEC_REG_EBP "EBP"
#define SPEC_REG_ERP "ERP"
#define SPEC_REG_SRP "SRP"
#define SPEC_REG_NRP "NRP"
#define SPEC_REG_CCS "CCS"
#define SPEC_REG_USP "USP"
#define SPEC_REG_SPC "SPC"
#define RW_MM_CFG 0
#define RW_MM_KBASE_LO 1
#define RW_MM_KBASE_HI 2
#define RW_MM_CAUSE 3
#define RW_MM_TLB_SEL 4
#define RW_MM_TLB_LO 5
#define RW_MM_TLB_HI 6
#define RW_MM_TLB_PGD 7
#define BANK_GC 0
#define BANK_IM 1
#define BANK_DM 2
#define BANK_BP 3
#define RW_GC_CFG 0
#define RW_GC_CCS 1
#define RW_GC_SRS 2
#define RW_GC_NRP 3
#define RW_GC_EXS 4
#define RW_GC_R0 8
#define RW_GC_R1 9
#define SPEC_REG_WR(r,v) \
__asm__ __volatile__ ("move %0, $" r : : "r" (v));
#define SPEC_REG_RD(r,v) \
__asm__ __volatile__ ("move $" r ",%0" : "=r" (v));
#define NOP() \
__asm__ __volatile__ ("nop");
#define SUPP_BANK_SEL(b) \
SPEC_REG_WR(SPEC_REG_SRS,b); \
NOP(); \
NOP(); \
NOP();
#define SUPP_REG_WR(r,v) \
__asm__ __volatile__ ("move %0, $S" STRINGIFYFY(r) "\n\t" \
"nop\n\t" \
"nop\n\t" \
"nop\n\t" \
: : "r" (v));
#define SUPP_REG_RD(r,v) \
__asm__ __volatile__ ("move $S" STRINGIFYFY(r) ",%0" : "=r" (v));
#endif /* __SUPP_REG_H__ */