tkernel_2/include/tk/sysdepend/tef_em1d/cpudef.h | bare source | permlink (0.02 seconds) |
1: /* 2: *---------------------------------------------------------------------- 3: * T-Kernel 2.0 Software Package 4: * 5: * Copyright 2011 by Ken Sakamura. 6: * This software is distributed under the latest version of T-License 2.x. 7: *---------------------------------------------------------------------- 8: * 9: * Released by T-Engine Forum(http://www.t-engine.org/) at 2011/05/17. 10: * Modified by TRON Forum(http://www.tron.org/) at 2015/06/01. 11: * 12: *---------------------------------------------------------------------- 13: */ 14: 15: /* 16: * @(#)cpudef.h (tk/EM1-D512) 17: * 18: * EM1-D512 dependent definition 19: */ 20: 21: #ifndef __TK_CPUDEF_H__ 22: #define __TK_CPUDEF_H__ 23: 24: #ifdef __cplusplus 25: extern "C" { 26: #endif 27: 28: /* 29: * General purpose register tk_get_reg tk_set_reg 30: */ 31: typedef struct t_regs { 32: VW r[13]; /* General purpose register R0-R12 */ 33: void *lr; /* Link register R14 */ 34: } T_REGS; 35: 36: /* 37: * Exception-related register tk_get_reg tk_set_reg 38: */ 39: typedef struct t_eit { 40: void *pc; /* Program counter R15 */ 41: UW cpsr; /* Program status register */ 42: UW taskmode; /* Task mode flag */ 43: } T_EIT; 44: 45: /* 46: * Control register tk_get_reg tk_set_reg 47: */ 48: typedef struct t_cregs { 49: void *ssp; /* System stack pointer R13_svc */ 50: void *usp; /* User stack pointer R13_ usr */ 51: void *uatb; /* Address of task specific space page table */ 52: UW lsid; /* Task logical space ID */ 53: } T_CREGS; 54: 55: /* 56: * Coprocessor register tk_get_cpr tk_set_cpr 57: */ 58: typedef union { 59: #if 0 60: T_COP0REGS cop0; 61: T_COP1REGS cop1; 62: T_COP2REGS cop2; 63: T_COP3REGS cop3; 64: #else 65: UW copDummy; 66: #endif 67: } T_COPREGS; 68: 69: #ifdef __cplusplus 70: } 71: #endif 72: #endif /* __TK_CPUDEF_H__ */