Revision 91736d37 target-sparc/cpu.h
b/target-sparc/cpu.h | ||
---|---|---|
337 | 337 |
} while (0) |
338 | 338 |
#endif |
339 | 339 |
|
340 |
/* helper.c */ |
|
340 | 341 |
CPUSPARCState *cpu_sparc_init(const char *cpu_model); |
341 |
void gen_intermediate_code_init(CPUSPARCState *env); |
|
342 |
int cpu_sparc_exec(CPUSPARCState *s); |
|
342 |
void cpu_sparc_set_id(CPUSPARCState *env, unsigned int cpu); |
|
343 | 343 |
void sparc_cpu_list (FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, |
344 | 344 |
...)); |
345 |
void cpu_sparc_set_id(CPUSPARCState *env, unsigned int cpu); |
|
345 |
|
|
346 |
/* translate.c */ |
|
347 |
void gen_intermediate_code_init(CPUSPARCState *env); |
|
348 |
|
|
349 |
/* cpu-exec.c */ |
|
350 |
int cpu_sparc_exec(CPUSPARCState *s); |
|
346 | 351 |
|
347 | 352 |
#define GET_PSR(env) (env->version | (env->psr & PSR_ICC) | \ |
348 | 353 |
(env->psref? PSR_EF : 0) | \ |
... | ... | |
352 | 357 |
(env->psret? PSR_ET : 0) | env->cwp) |
353 | 358 |
|
354 | 359 |
#ifndef NO_CPU_IO_DEFS |
355 |
void cpu_set_cwp(CPUSPARCState *env1, int new_cwp); |
|
360 |
static inline void memcpy32(target_ulong *dst, const target_ulong *src) |
|
361 |
{ |
|
362 |
dst[0] = src[0]; |
|
363 |
dst[1] = src[1]; |
|
364 |
dst[2] = src[2]; |
|
365 |
dst[3] = src[3]; |
|
366 |
dst[4] = src[4]; |
|
367 |
dst[5] = src[5]; |
|
368 |
dst[6] = src[6]; |
|
369 |
dst[7] = src[7]; |
|
370 |
} |
|
371 |
|
|
372 |
static inline void cpu_set_cwp(CPUSPARCState *env1, int new_cwp) |
|
373 |
{ |
|
374 |
/* put the modified wrap registers at their proper location */ |
|
375 |
if (env1->cwp == env1->nwindows - 1) |
|
376 |
memcpy32(env1->regbase, env1->regbase + env1->nwindows * 16); |
|
377 |
env1->cwp = new_cwp; |
|
378 |
/* put the wrap registers at their temporary location */ |
|
379 |
if (new_cwp == env1->nwindows - 1) |
|
380 |
memcpy32(env1->regbase + env1->nwindows * 16, env1->regbase); |
|
381 |
env1->regwptr = env1->regbase + (new_cwp * 16); |
|
382 |
} |
|
356 | 383 |
|
357 | 384 |
static inline int cpu_cwp_inc(CPUSPARCState *env1, int cwp) |
358 | 385 |
{ |
... | ... | |
397 | 424 |
#endif |
398 | 425 |
#endif |
399 | 426 |
|
400 |
int cpu_sparc_signal_handler(int host_signum, void *pinfo, void *puc);
|
|
427 |
/* cpu-exec.c */
|
|
401 | 428 |
void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec, |
402 | 429 |
int is_asi); |
403 |
void cpu_check_irqs(CPUSPARCState *env); |
|
404 | 430 |
|
405 | 431 |
#define CPUState CPUSPARCState |
406 | 432 |
#define cpu_init cpu_sparc_init |
Also available in: Unified diff