diff options
author | balrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-08 19:20:04 +0000 |
---|---|---|
committer | balrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-05-08 19:20:04 +0000 |
commit | 565d28951e971abf342fcc8701861163b7421f23 (patch) | |
tree | 7cefdc9a4916e8f0cdfb9b747ad833ac9a97220b /hw | |
parent | d95b2f8d365a3ef431111e9188d219de1f577a90 (diff) | |
download | hqemu-565d28951e971abf342fcc8701861163b7421f23.zip hqemu-565d28951e971abf342fcc8701861163b7421f23.tar.gz |
Set OOK when OON is set in OSCC register (thanks to BobOfDoom). Correct a fatal typo in timer code.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2785 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw')
-rw-r--r-- | hw/pxa2xx.c | 4 | ||||
-rw-r--r-- | hw/pxa2xx_timer.c | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/hw/pxa2xx.c b/hw/pxa2xx.c index 19494b8..eb8bd15 100644 --- a/hw/pxa2xx.c +++ b/hw/pxa2xx.c @@ -168,8 +168,10 @@ static void pxa2xx_cm_write(void *opaque, target_phys_addr_t addr, break; case OSCC: - s->cm_regs[addr >> 2] &= ~0x6e; + s->cm_regs[addr >> 2] &= ~0x6c; s->cm_regs[addr >> 2] |= value & 0x6e; + if ((value >> 1) & 1) /* OON */ + s->cm_regs[addr >> 2] |= 1 << 0; /* Oscillator is now stable */ break; default: diff --git a/hw/pxa2xx_timer.c b/hw/pxa2xx_timer.c index 3ab7149..8c08359 100644 --- a/hw/pxa2xx_timer.c +++ b/hw/pxa2xx_timer.c @@ -364,7 +364,7 @@ static void pxa2xx_timer_tick4(void *opaque) struct pxa2xx_timer4_s *t = (struct pxa2xx_timer4_s *) opaque; pxa2xx_timer_info *i = (pxa2xx_timer_info *) t->info; - pxa2xx_timer_tick4(opaque); + pxa2xx_timer_tick(opaque); if (t->control & (1 << 3)) t->clock = 0; if (t->control & (1 << 6)) |