summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hw/pc.c5
-rw-r--r--vl.c6
-rw-r--r--vl.h1
3 files changed, 11 insertions, 1 deletions
diff --git a/hw/pc.c b/hw/pc.c
index 815d47f..eef120e 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -110,7 +110,10 @@ static void cmos_init(int ram_size, int boot_device)
/* set the CMOS date */
time(&ti);
- tm = gmtime(&ti);
+ if (rtc_utc)
+ tm = gmtime(&ti);
+ else
+ tm = localtime(&ti);
rtc_set_date(s, tm);
val = to_bcd(s, (tm->tm_year / 100) + 19);
diff --git a/vl.c b/vl.c
index 6faf19f..445066f 100644
--- a/vl.c
+++ b/vl.c
@@ -129,6 +129,7 @@ int vm_running;
int audio_enabled = 0;
int pci_enabled = 0;
int prep_enabled = 0;
+int rtc_utc = 1;
/***********************************************************/
/* x86 ISA bus support */
@@ -2015,6 +2016,7 @@ enum {
QEMU_OPTION_no_code_copy,
QEMU_OPTION_pci,
QEMU_OPTION_prep,
+ QEMU_OPTION_localtime,
};
typedef struct QEMUOption {
@@ -2065,6 +2067,7 @@ const QEMUOption qemu_options[] = {
#ifdef TARGET_PPC
{ "prep", 0, QEMU_OPTION_prep },
#endif
+ { "localtime", 0, QEMU_OPTION_localtime },
{ NULL },
};
@@ -2341,6 +2344,9 @@ int main(int argc, char **argv)
case QEMU_OPTION_prep:
prep_enabled = 1;
break;
+ case QEMU_OPTION_localtime:
+ rtc_utc = 0;
+ break;
}
}
}
diff --git a/vl.h b/vl.h
index 05b0a1f..54f6cdd 100644
--- a/vl.h
+++ b/vl.h
@@ -170,6 +170,7 @@ void vm_stop(int reason);
extern int audio_enabled;
extern int ram_size;
extern int bios_size;
+extern int rtc_utc;
/* XXX: make it dynamic */
#if defined (TARGET_PPC)
OpenPOWER on IntegriCloud