Revision a062e36c linux-user/main.c
b/linux-user/main.c | ||
---|---|---|
664 | 664 |
#endif |
665 | 665 |
|
666 | 666 |
#ifdef TARGET_PPC |
667 |
|
|
668 | 667 |
static inline uint64_t cpu_ppc_get_tb (CPUState *env) |
669 | 668 |
{ |
670 | 669 |
/* TO FIX */ |
... | ... | |
681 | 680 |
return cpu_ppc_get_tb(env) >> 32; |
682 | 681 |
} |
683 | 682 |
|
684 |
static void cpu_ppc_store_tb (CPUState *env, uint64_t value) |
|
685 |
{ |
|
686 |
/* TO FIX */ |
|
687 |
} |
|
688 |
|
|
689 |
void cpu_ppc_store_tbu (CPUState *env, uint32_t value) |
|
683 |
uint32_t cpu_ppc_load_atbl (CPUState *env) |
|
690 | 684 |
{ |
691 |
cpu_ppc_store_tb(env, ((uint64_t)value << 32) | cpu_ppc_load_tbl(env));
|
|
685 |
return cpu_ppc_get_tb(env) & 0xFFFFFFFF;
|
|
692 | 686 |
} |
693 | 687 |
|
694 |
void cpu_ppc_store_tbl (CPUState *env, uint32_t value)
|
|
688 |
uint32_t cpu_ppc_load_atbu (CPUState *env)
|
|
695 | 689 |
{ |
696 |
cpu_ppc_store_tb(env, ((uint64_t)cpu_ppc_load_tbl(env) << 32) | value);
|
|
690 |
return cpu_ppc_get_tb(env) >> 32;
|
|
697 | 691 |
} |
698 | 692 |
|
699 |
void cpu_ppc601_store_rtcu (CPUState *env, uint32_t value) |
|
700 |
__attribute__ (( alias ("cpu_ppc_store_tbu") )); |
|
701 |
|
|
702 | 693 |
uint32_t cpu_ppc601_load_rtcu (CPUState *env) |
703 | 694 |
__attribute__ (( alias ("cpu_ppc_load_tbu") )); |
704 | 695 |
|
705 |
void cpu_ppc601_store_rtcl (CPUState *env, uint32_t value) |
|
706 |
{ |
|
707 |
cpu_ppc_store_tbl(env, value & 0x3FFFFF80); |
|
708 |
} |
|
709 |
|
|
710 | 696 |
uint32_t cpu_ppc601_load_rtcl (CPUState *env) |
711 | 697 |
{ |
712 | 698 |
return cpu_ppc_load_tbl(env) & 0x3FFFFF80; |
Also available in: Unified diff