@@ -2996,6 +2996,7 @@ int main(int argc, char **argv, char **envp)
DisplayState *ds;
QemuOpts *opts, *machine_opts;
QemuOpts *icount_opts = NULL, *accel_opts = NULL;
+ QemuOpts *rtc_opts = NULL;
QemuOptsList *olist;
int optind;
const char *optarg;
@@ -3775,9 +3776,9 @@ int main(int argc, char **argv, char **envp)
old_param = 1;
break;
case QEMU_OPTION_rtc:
- opts = qemu_opts_parse_noisily(qemu_find_opts("rtc"), optarg,
- false);
- if (!opts) {
+ rtc_opts = qemu_opts_parse_noisily(qemu_find_opts("rtc"),
+ optarg, false);
+ if (!rtc_opts) {
exit(1);
}
break;
@@ -3985,6 +3986,9 @@ int main(int argc, char **argv, char **envp)
user_register_global_props();
replay_configure(icount_opts);
+ if (rtc_opts) {
+ configure_rtc(rtc_opts);
+ }
if (incoming && !preconfig_exit_requested) {
error_report("'preconfig' and 'incoming' options are "
This patch postpones the call of 'configure_rtc' function. This call uses host clock to configure the rtc, but host clock access should be recorded when using icount record/replay mode. Therefore now rtc is configured after switching record/replay mode on. Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru> --- vl.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)