softmmu/rtc: Emit warning when using driftfix=slew on systems without mc146818
The 'slew' lost tick policy is only available on systems with a mc146818 RTC. On other systems, "-rtc driftfix=slew" is currently silently ignored. Let's emit at least a warning in this case to make the users aware that there is something wrong in their command line settings. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-Id: <20230110095351.611724-5-thuth@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
e896d84933
commit
e8dc34196b
@ -33,6 +33,7 @@
|
||||
#include "sysemu/replay.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "sysemu/rtc.h"
|
||||
#include "hw/rtc/mc146818rtc.h"
|
||||
|
||||
static enum {
|
||||
RTC_BASE_UTC,
|
||||
@ -177,10 +178,13 @@ void configure_rtc(QemuOpts *opts)
|
||||
value = qemu_opt_get(opts, "driftfix");
|
||||
if (value) {
|
||||
if (!strcmp(value, "slew")) {
|
||||
object_register_sugar_prop("mc146818rtc",
|
||||
object_register_sugar_prop(TYPE_MC146818_RTC,
|
||||
"lost_tick_policy",
|
||||
"slew",
|
||||
false);
|
||||
if (!object_class_by_name(TYPE_MC146818_RTC)) {
|
||||
warn_report("driftfix 'slew' is not available with this machine");
|
||||
}
|
||||
} else if (!strcmp(value, "none")) {
|
||||
/* discard is default */
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user