Rev 3993 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3993 | Rev 4130 | ||
---|---|---|---|
Line 169... | Line 169... | ||
169 | asm volatile ("rdpr %%tick, %0\n" : "=r" (v)); |
169 | asm volatile ("rdpr %%tick, %0\n" : "=r" (v)); |
170 | 170 | ||
171 | return v; |
171 | return v; |
172 | } |
172 | } |
173 | 173 | ||
174 | /** Write TICK Register. |
- | |
175 | * |
- | |
176 | * @param v New value of TICK register. |
- | |
177 | */ |
- | |
178 | static inline void tick_write(uint64_t v) |
- | |
179 | { |
- | |
180 | asm volatile ("wrpr %0, %1, %%tick\n" : : "r" (v), "i" (0)); |
- | |
181 | } |
- | |
182 | - | ||
183 | /** Read FPRS Register. |
174 | /** Read FPRS Register. |
184 | * |
175 | * |
185 | * @return Value of FPRS register. |
176 | * @return Value of FPRS register. |
186 | */ |
177 | */ |
187 | static inline uint64_t fprs_read(void) |
178 | static inline uint64_t fprs_read(void) |
Line 321... | Line 312... | ||
321 | asm volatile ("add %%sp, %1, %0\n" : "=r" (unbiased_sp) : "i" (STACK_BIAS)); |
312 | asm volatile ("add %%sp, %1, %0\n" : "=r" (unbiased_sp) : "i" (STACK_BIAS)); |
322 | 313 | ||
323 | return ALIGN_DOWN(unbiased_sp, STACK_SIZE); |
314 | return ALIGN_DOWN(unbiased_sp, STACK_SIZE); |
324 | } |
315 | } |
325 | 316 | ||
326 | /** Read Version Register. |
- | |
327 | * |
- | |
328 | * @return Value of VER register. |
- | |
329 | */ |
- | |
330 | static inline uint64_t ver_read(void) |
- | |
331 | { |
- | |
332 | uint64_t v; |
- | |
333 | - | ||
334 | asm volatile ("rdpr %%ver, %0\n" : "=r" (v)); |
- | |
335 | - | ||
336 | return v; |
- | |
337 | } |
- | |
338 | - | ||
339 | /** Read Trap Program Counter register. |
317 | /** Read Trap Program Counter register. |
340 | * |
318 | * |
341 | * @return Current value in TPC. |
319 | * @return Current value in TPC. |
342 | */ |
320 | */ |
343 | static inline uint64_t tpc_read(void) |
321 | static inline uint64_t tpc_read(void) |