Revision 6ad02592 target-alpha/op_helper.c
b/target-alpha/op_helper.c | ||
---|---|---|
58 | 58 |
|
59 | 59 |
/*****************************************************************************/ |
60 | 60 |
/* Exceptions processing helpers */ |
61 |
void helper_excp (uint32_t excp, uint32_t error)
|
|
61 |
void helper_excp (int excp, int error)
|
|
62 | 62 |
{ |
63 | 63 |
env->exception_index = excp; |
64 | 64 |
env->error_code = error; |
... | ... | |
80 | 80 |
return arg; |
81 | 81 |
} |
82 | 82 |
|
83 |
void helper_load_pcc (void)
|
|
83 |
uint64_t helper_load_pcc (void)
|
|
84 | 84 |
{ |
85 | 85 |
/* XXX: TODO */ |
86 |
T0 = 0;
|
|
86 |
return 0;
|
|
87 | 87 |
} |
88 | 88 |
|
89 |
void helper_load_implver (void)
|
|
89 |
uint64_t helper_load_implver (void)
|
|
90 | 90 |
{ |
91 |
T0 = env->implver;
|
|
91 |
return env->implver;
|
|
92 | 92 |
} |
93 | 93 |
|
94 | 94 |
void helper_load_fpcr (void) |
... | ... | |
137 | 137 |
} |
138 | 138 |
} |
139 | 139 |
|
140 |
void helper_load_irf (void) |
|
141 |
{ |
|
142 |
/* XXX: TODO */ |
|
143 |
T0 = 0; |
|
144 |
} |
|
140 |
spinlock_t intr_cpu_lock = SPIN_LOCK_UNLOCKED; |
|
145 | 141 |
|
146 |
void helper_set_irf (void)
|
|
142 |
uint64_t helper_rs(void)
|
|
147 | 143 |
{ |
148 |
/* XXX: TODO */ |
|
144 |
uint64_t tmp; |
|
145 |
|
|
146 |
spin_lock(&intr_cpu_lock); |
|
147 |
tmp = env->intr_flag; |
|
148 |
env->intr_flag = 1; |
|
149 |
spin_unlock(&intr_cpu_lock); |
|
150 |
|
|
151 |
return tmp; |
|
149 | 152 |
} |
150 | 153 |
|
151 |
void helper_clear_irf (void)
|
|
154 |
uint64_t helper_rc(void)
|
|
152 | 155 |
{ |
153 |
/* XXX: TODO */ |
|
156 |
uint64_t tmp; |
|
157 |
|
|
158 |
spin_lock(&intr_cpu_lock); |
|
159 |
tmp = env->intr_flag; |
|
160 |
env->intr_flag = 0; |
|
161 |
spin_unlock(&intr_cpu_lock); |
|
162 |
|
|
163 |
return tmp; |
|
154 | 164 |
} |
155 | 165 |
|
156 | 166 |
void helper_addqv (void) |
Also available in: Unified diff