aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-28 23:33:05 +0000
committerj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-28 23:33:05 +0000
commit897b4c6c4e63afebdd41de0f1a19e17ab1f4c2b8 (patch)
tree43dc6d36d169ae9b0f70165172209820ecb1e635 /hw
parent6433014805f6f23050c4c4d0483b0241b3eaccb4 (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.c14
-rw-r--r--hw/m48t59.h6
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);