diff options
author | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-19 01:48:12 +0000 |
---|---|---|
committer | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-11-19 01:48:12 +0000 |
commit | 4018bae91649e8e38e371dc00cb5ac8f9e40089e (patch) | |
tree | 09a105b65ffd79a721d9f9583bdd34f66fe3f824 /hw/ppc_prep.c | |
parent | 265531154a05a26e9b79819ddd068c285e681cbc (diff) | |
download | qemu-4018bae91649e8e38e371dc00cb5ac8f9e40089e.zip qemu-4018bae91649e8e38e371dc00cb5ac8f9e40089e.tar.gz qemu-4018bae91649e8e38e371dc00cb5ac8f9e40089e.tar.bz2 |
New PowerPC CPU flag to define the decrementer and time-base source clock.
Use it to properly initialize the clock for the PreP target.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3701 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/ppc_prep.c')
-rw-r--r-- | hw/ppc_prep.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c index 1d6634c..d33cf5d 100644 --- a/hw/ppc_prep.c +++ b/hw/ppc_prep.c @@ -564,8 +564,13 @@ static void ppc_prep_init (int ram_size, int vga_ram_size, fprintf(stderr, "Unable to find PowerPC CPU definition\n"); exit(1); } - /* Set time-base frequency to 100 Mhz */ - cpu_ppc_tb_init(env, 100UL * 1000UL * 1000UL); + if (env->flags & POWERPC_FLAG_RTC_CLK) { + /* POWER / PowerPC 601 RTC clock frequency is 7.8125 MHz */ + cpu_ppc_tb_init(env, 7812500UL); + } else { + /* Set time-base frequency to 100 Mhz */ + cpu_ppc_tb_init(env, 100UL * 1000UL * 1000UL); + } qemu_register_reset(&cpu_ppc_reset, env); register_savevm("cpu", 0, 3, cpu_save, cpu_load, env); envs[i] = env; |