Changeset 8fb1bf82 in mainline for kernel/arch/ia64/include
- Timestamp:
- 2010-11-25T13:42:50Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8df8415
- Parents:
- a93d79a (diff), eb667613 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- kernel/arch/ia64/include
- Files:
-
- 1 added
- 3 edited
-
interrupt.h (modified) (2 diffs)
-
istate.h (added)
-
register.h (modified) (1 diff)
-
types.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia64/include/interrupt.h
ra93d79a r8fb1bf82 37 37 38 38 #include <typedefs.h> 39 #include <arch/register.h> 40 #include <trace.h> 39 #include <arch/istate.h> 41 40 42 41 /** ia64 has 256 INRs. */ … … 74 73 #define EOI 0 /**< The actual value doesn't matter. */ 75 74 76 typedef struct istate {77 uint128_t f2;78 uint128_t f3;79 uint128_t f4;80 uint128_t f5;81 uint128_t f6;82 uint128_t f7;83 uint128_t f8;84 uint128_t f9;85 uint128_t f10;86 uint128_t f11;87 uint128_t f12;88 uint128_t f13;89 uint128_t f14;90 uint128_t f15;91 uint128_t f16;92 uint128_t f17;93 uint128_t f18;94 uint128_t f19;95 uint128_t f20;96 uint128_t f21;97 uint128_t f22;98 uint128_t f23;99 uint128_t f24;100 uint128_t f25;101 uint128_t f26;102 uint128_t f27;103 uint128_t f28;104 uint128_t f29;105 uint128_t f30;106 uint128_t f31;107 108 uintptr_t ar_bsp;109 uintptr_t ar_bspstore;110 uintptr_t ar_bspstore_new;111 uint64_t ar_rnat;112 uint64_t ar_ifs;113 uint64_t ar_pfs;114 uint64_t ar_rsc;115 uintptr_t cr_ifa;116 cr_isr_t cr_isr;117 uintptr_t cr_iipa;118 psr_t cr_ipsr;119 uintptr_t cr_iip;120 uint64_t pr;121 uintptr_t sp;122 123 /*124 * The following variables are defined only for break_instruction125 * handler.126 */127 uint64_t in0;128 uint64_t in1;129 uint64_t in2;130 uint64_t in3;131 uint64_t in4;132 uint64_t in5;133 uint64_t in6;134 } istate_t;135 136 75 extern void *ivt; 137 138 NO_TRACE static inline void istate_set_retaddr(istate_t *istate,139 uintptr_t retaddr)140 {141 istate->cr_iip = retaddr;142 istate->cr_ipsr.ri = 0; /* return to instruction slot #0 */143 }144 145 NO_TRACE static inline unative_t istate_get_pc(istate_t *istate)146 {147 return istate->cr_iip;148 }149 150 NO_TRACE static inline unative_t istate_get_fp(istate_t *istate)151 {152 /* FIXME */153 154 return 0;155 }156 157 NO_TRACE static inline int istate_from_uspace(istate_t *istate)158 {159 return (istate->cr_iip) < 0xe000000000000000ULL;160 }161 76 162 77 extern void general_exception(uint64_t, istate_t *); -
kernel/arch/ia64/include/register.h
ra93d79a r8fb1bf82 142 142 #ifndef __ASM__ 143 143 144 #ifdef KERNEL 144 145 #include <typedefs.h> 146 #else 147 #include <sys/types.h> 148 #endif 145 149 146 150 /** Processor Status Register. */ -
kernel/arch/ia64/include/types.h
ra93d79a r8fb1bf82 52 52 } __attribute__((may_alias)) fncptr_t; 53 53 54 #define PRIp "lx" /**< Format for uintptr_t. */ 55 #define PRIs "lu" /**< Format for size_t. */ 56 57 #define PRId8 "d" /**< Format for int8_t. */ 58 #define PRId16 "d" /**< Format for int16_t. */ 59 #define PRId32 "d" /**< Format for int32_t. */ 60 #define PRId64 "ld" /**< Format for int64_t. */ 61 #define PRIdn "d" /**< Format for native_t. */ 62 63 #define PRIu8 "u" /**< Format for uint8_t. */ 64 #define PRIu16 "u" /**< Format for uint16_t. */ 65 #define PRIu32 "u" /**< Format for uint32_t. */ 66 #define PRIu64 "lu" /**< Format for uint64_t. */ 67 #define PRIun "u" /**< Format for unative_t. */ 68 69 #define PRIx8 "x" /**< Format for hexadecimal (u)int8_t. */ 70 #define PRIx16 "x" /**< Format for hexadecimal (u)int16_t. */ 71 #define PRIx32 "x" /**< Format for hexadecimal (u)uint32_t. */ 72 #define PRIx64 "lx" /**< Format for hexadecimal (u)int64_t. */ 73 #define PRIxn "x" /**< Format for hexadecimal (u)native_t. */ 54 #define PRIp PRIx64 /**< Format for uintptr_t. */ 55 #define PRIs PRIu64 /**< Format for size_t. */ 56 #define PRIdn PRId64 /**< Format for native_t. */ 57 #define PRIun PRIu64 /**< Format for unative_t. */ 58 #define PRIxn PRIx64 /**< Format for hexadecimal unative_t. */ 74 59 75 60 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
