diff options
author | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-10-28 23:33:05 +0000 |
---|---|---|
committer | j_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162> | 2007-10-28 23:33:05 +0000 |
commit | 897b4c6c4e63afebdd41de0f1a19e17ab1f4c2b8 (patch) | |
tree | 43dc6d36d169ae9b0f70165172209820ecb1e635 /hw | |
parent | 6433014805f6f23050c4c4d0483b0241b3eaccb4 (diff) |
Give an opaque to the m48t59 direct access routines to make it easier
to use another NVRAM with the same API.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3474 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw')
-rw-r--r-- | hw/m48t59.c | 14 | ||||
-rw-r--r-- | hw/m48t59.h | 6 |
2 files changed, 13 insertions, 7 deletions
diff --git a/hw/m48t59.c b/hw/m48t59.c index da61313f1e..34979ad108 100644 --- a/hw/m48t59.c +++ b/hw/m48t59.c @@ -199,8 +199,9 @@ static void set_up_watchdog (m48t59_t *NVRAM, uint8_t value) } /* Direct access to NVRAM */ -void m48t59_write (m48t59_t *NVRAM, uint32_t addr, uint32_t val) +void m48t59_write (void *opaque, uint32_t addr, uint32_t val) { + m48t59_t *NVRAM = opaque; struct tm tm; int tmp; @@ -357,8 +358,9 @@ void m48t59_write (m48t59_t *NVRAM, uint32_t addr, uint32_t val) } } -uint32_t m48t59_read (m48t59_t *NVRAM, uint32_t addr) +uint32_t m48t59_read (void *opaque, uint32_t addr) { + m48t59_t *NVRAM = opaque; struct tm tm; uint32_t retval = 0xFF; @@ -451,13 +453,17 @@ uint32_t m48t59_read (m48t59_t *NVRAM, uint32_t addr) return retval; } -void m48t59_set_addr (m48t59_t *NVRAM, uint32_t addr) +void m48t59_set_addr (void *opaque, uint32_t addr) { + m48t59_t *NVRAM = opaque; + NVRAM->addr = addr; } -void m48t59_toggle_lock (m48t59_t *NVRAM, int lock) +void m48t59_toggle_lock (void *opaque, int lock) { + m48t59_t *NVRAM = opaque; + NVRAM->lock ^= 1 << lock; } diff --git a/hw/m48t59.h b/hw/m48t59.h index cfe9b2af5e..f2eb4b1e34 100644 --- a/hw/m48t59.h +++ b/hw/m48t59.h @@ -3,9 +3,9 @@ typedef struct m48t59_t m48t59_t; -void m48t59_write (m48t59_t *NVRAM, uint32_t addr, uint32_t val); -uint32_t m48t59_read (m48t59_t *NVRAM, uint32_t addr); -void m48t59_toggle_lock (m48t59_t *NVRAM, int lock); +void m48t59_write (void *private, uint32_t addr, uint32_t val); +uint32_t m48t59_read (void *private, uint32_t addr); +void m48t59_toggle_lock (void *private, int lock); m48t59_t *m48t59_init (qemu_irq IRQ, target_phys_addr_t mem_base, uint32_t io_base, uint16_t size, int type); |