Changeset 6eabb6e6 in mainline for kernel/arch/sparc64/include
- Timestamp:
- 2006-09-13T13:16:30Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 34d9469e
- Parents:
- 9a5b556
- Location:
- kernel/arch/sparc64/include
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/include/asm.h
r9a5b556 r6eabb6e6 109 109 } 110 110 111 /** Read FPRS Register. 112 * 113 * @return Value of FPRS register. 114 */ 115 static inline uint64_t fprs_read(void) 116 { 117 uint64_t v; 118 119 __asm__ volatile ("rd %%fprs, %0\n" : "=r" (v)); 120 121 return v; 122 } 123 124 /** Write FPRS Register. 125 * 126 * @param v New value of FPRS register. 127 */ 128 static inline void fprs_write(uint64_t v) 129 { 130 __asm__ volatile ("wr %0, %1, %%fprs\n" : : "r" (v), "i" (0)); 131 } 132 111 133 /** Read SOFTINT Register. 112 134 * -
kernel/arch/sparc64/include/fpu_context.h
r9a5b556 r6eabb6e6 38 38 #include <arch/types.h> 39 39 40 #define ARCH_HAS_FPU 41 #define FPU_CONTEXT_ALIGN 8 42 40 43 struct fpu_context { 44 uint64_t d[32]; 45 uint64_t fsr; 41 46 }; 42 47 -
kernel/arch/sparc64/include/regdef.h
r9a5b556 r6eabb6e6 44 44 45 45 #define PSTATE_PRIV_BIT (1<<2) 46 #define PSTATE_PEF_BIT (1<<4) 46 47 47 48 #define TSTATE_PSTATE_SHIFT 8 48 49 #define TSTATE_PRIV_BIT (PSTATE_PRIV_BIT<<TSTATE_PSTATE_SHIFT) 49 50 #define TSTATE_IE_BIT (PSTATE_IE_BIT<<TSTATE_PSTATE_SHIFT) 51 #define TSTATE_PEF_BIT (PSTATE_PEF_BIT<<TSTATE_PSTATE_SHIFT) 50 52 51 53 #define TSTATE_CWP_MASK 0x1f -
kernel/arch/sparc64/include/register.h
r9a5b556 r6eabb6e6 88 88 uint64_t value; 89 89 struct { 90 unsigned int_dis : 1; /**< TICK_INT interrupt disabled flag. */90 unsigned int_dis : 1; /**< TICK_INT interrupt disabled flag. */ 91 91 uint64_t tick_cmpr : 63; /**< Compare value for TICK interrupts. */ 92 92 } __attribute__ ((packed)); … … 106 106 typedef union softint_reg softint_reg_t; 107 107 108 /** Floating-point Registers State Register. */ 109 union fprs_reg { 110 uint64_t value; 111 struct { 112 uint64_t : 61; 113 unsigned fef : 1; 114 unsigned du : 1; 115 unsigned dl : 1; 116 } __attribute__ ((packed)); 117 }; 118 typedef union fprs_reg fprs_reg_t; 119 108 120 #endif 109 121 -
kernel/arch/sparc64/include/trap/exception.h
r9a5b556 r6eabb6e6 41 41 #define TT_ILLEGAL_INSTRUCTION 0x10 42 42 #define TT_PRIVILEGED_OPCODE 0x11 43 #define TT_FP_DISABLED 0x20 43 44 #define TT_DIVISION_BY_ZERO 0x28 44 45 #define TT_DATA_ACCESS_EXCEPTION 0x30 … … 57 58 extern void illegal_instruction(int n, istate_t *istate); 58 59 extern void privileged_opcode(int n, istate_t *istate); 60 extern void fp_disabled(int n, istate_t *istate); 59 61 extern void division_by_zero(int n, istate_t *istate); 60 62 extern void data_access_exception(int n, istate_t *istate);
Note:
See TracChangeset
for help on using the changeset viewer.