[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [patch 3/3] mc146818rtc: add "rtc" link to "/machines"
From: |
mtosatti |
Subject: |
[Qemu-devel] [patch 3/3] mc146818rtc: add "rtc" link to "/machines" |
Date: |
Fri, 30 May 2014 17:11:48 -0300 |
User-agent: |
quilt/0.60-1 |
Add a link to rtc under /machines providing a stable
location for management apps to query "date" field.
{"execute":"qom-get","arguments":{"path":"/machine/rtc","property":"date"} }
Suggested by Paolo Bonzini.
Signed-off-by: Marcelo Tosatti <address@hidden>
Index: qemu/hw/timer/mc146818rtc.c
===================================================================
--- qemu.orig/hw/timer/mc146818rtc.c
+++ qemu/hw/timer/mc146818rtc.c
@@ -63,6 +63,7 @@
typedef struct RTCState {
ISADevice parent_obj;
+ Object *rtc_object;
MemoryRegion io;
uint8_t cmos_data[128];
uint8_t cmos_index;
@@ -856,6 +857,8 @@ static void rtc_realizefn(DeviceState *d
RTCState *s = MC146818_RTC(dev);
int base = 0x70;
+ s->rtc_object = OBJECT(s);
+
s->cmos_data[RTC_REG_A] = 0x26;
s->cmos_data[RTC_REG_B] = 0x02;
s->cmos_data[RTC_REG_C] = 0x00;
@@ -908,6 +911,11 @@ static void rtc_realizefn(DeviceState *d
object_property_add(OBJECT(s), "date", "struct tm",
rtc_get_date, NULL, NULL, s, NULL);
+#ifdef TARGET_I386
+ object_ref(s->rtc_object);
+ object_property_add_link(qdev_get_machine(), "rtc", TYPE_MC146818_RTC,
+ (Object **)&s->rtc_object, NULL, 0, &error_abort);
+#endif
}
ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq)
[Qemu-devel] [patch 1/2] generate device configuration file header, Marcelo Tosatti, 2014/05/30