Revision ef397e88 hw/ppc405_uc.c
b/hw/ppc405_uc.c | ||
---|---|---|
2189 | 2189 |
target_ulong dbsr; |
2190 | 2190 |
|
2191 | 2191 |
printf("Reset PowerPC core\n"); |
2192 |
env->interrupt_request |= CPU_INTERRUPT_EXITTB; |
|
2193 |
/* XXX: TOFIX */ |
|
2194 |
#if 0 |
|
2192 | 2195 |
cpu_ppc_reset(env); |
2196 |
#else |
|
2197 |
qemu_system_reset_request(); |
|
2198 |
#endif |
|
2193 | 2199 |
dbsr = env->spr[SPR_40x_DBSR]; |
2194 | 2200 |
dbsr &= ~0x00000300; |
2195 | 2201 |
dbsr |= 0x00000100; |
2196 | 2202 |
env->spr[SPR_40x_DBSR] = dbsr; |
2197 |
cpu_loop_exit(); |
|
2198 | 2203 |
} |
2199 | 2204 |
|
2200 | 2205 |
void ppc40x_chip_reset (CPUState *env) |
... | ... | |
2202 | 2207 |
target_ulong dbsr; |
2203 | 2208 |
|
2204 | 2209 |
printf("Reset PowerPC chip\n"); |
2210 |
env->interrupt_request |= CPU_INTERRUPT_EXITTB; |
|
2211 |
/* XXX: TOFIX */ |
|
2212 |
#if 0 |
|
2205 | 2213 |
cpu_ppc_reset(env); |
2214 |
#else |
|
2215 |
qemu_system_reset_request(); |
|
2216 |
#endif |
|
2206 | 2217 |
/* XXX: TODO reset all internal peripherals */ |
2207 | 2218 |
dbsr = env->spr[SPR_40x_DBSR]; |
2208 | 2219 |
dbsr &= ~0x00000300; |
2209 | 2220 |
dbsr |= 0x00000200; |
2210 | 2221 |
env->spr[SPR_40x_DBSR] = dbsr; |
2211 |
cpu_loop_exit(); |
|
2212 | 2222 |
} |
2213 | 2223 |
|
2214 | 2224 |
void ppc40x_system_reset (CPUState *env) |
Also available in: Unified diff