All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Qemu-devel] [PATCH v5 1/3] Check if GlobalProperty exists before registering
       [not found] <1340733111-9166-1-git-send-email-vianac@linux.vnet.ibm.com>
@ 2012-07-11 17:52 ` Anthony Liguori
       [not found] ` <1340733111-9166-2-git-send-email-vianac@linux.vnet.ibm.com>
       [not found] ` <1340733111-9166-3-git-send-email-vianac@linux.vnet.ibm.com>
  2 siblings, 0 replies; 3+ messages in thread
From: Anthony Liguori @ 2012-07-11 17:52 UTC (permalink / raw)
  To: Crístian Viana, QEMU Development ML
  Cc: Paolo Bonzini, Stefano Stabellini

Crístian Viana <vianac@linux.vnet.ibm.com> writes:

> If a GlobalProperty has already been registered, it won't have its
> value overwritten.
>
> Signed-off-by: Crístian Viana <vianac@linux.vnet.ibm.com>
> ---
>
> Changes since v4: 
> - Only register a GlobalProperty if it hasn't already been registered. That
>   avoids the property values to be overwritten (fix previous known bug).
>
>  hw/qdev-properties.c |    8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/hw/qdev-properties.c b/hw/qdev-properties.c
> index 099a7aa..fda94dd 100644
> --- a/hw/qdev-properties.c
> +++ b/hw/qdev-properties.c
> @@ -1105,6 +1105,14 @@ static QTAILQ_HEAD(, GlobalProperty) global_props = QTAILQ_HEAD_INITIALIZER(glob
>
>  static void qdev_prop_register_global(GlobalProperty *prop)
>  {
> +    GlobalProperty *p;
> +
> +    QTAILQ_FOREACH(p, &global_props, next) {
> +        if (strcmp(prop->driver, p->driver) == 0) {
> +            return;
> +        }
> +    }
> +
>      QTAILQ_INSERT_TAIL(&global_props, prop, next);
>  }

This is relying on a very subtle characteristic: that -global properties
are registered before machine options.  We probably need to be more
explicit about who we want to win.  In the very least, you should add a
comment here that says this check is specifically to allow -global to
"win" over machine options.

Regards,

Anthony Liguori

>  
> -- 
> 1.7.9.5

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH v5 2/3] Force driftfix=none on previous machines
       [not found] ` <1340733111-9166-2-git-send-email-vianac@linux.vnet.ibm.com>
@ 2012-07-11 17:53   ` Anthony Liguori
  0 siblings, 0 replies; 3+ messages in thread
From: Anthony Liguori @ 2012-07-11 17:53 UTC (permalink / raw)
  To: Crístian Viana, QEMU Development ML
  Cc: Paolo Bonzini, Stefano Stabellini

Crístian Viana <vianac@linux.vnet.ibm.com> writes:

> The current value for the -rtc driftfix option is 'none'. This patch
> makes sure that the old machines configuration will work the same way
> even after that option changes its default value.
>
> Signed-off-by: Crístian Viana <vianac@linux.vnet.ibm.com>

Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>

Regards,

Anthony Liguori

> ---
>  hw/pc_piix.c |    4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index eae258c..2658ec2 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -379,6 +379,10 @@ static QEMUMachine pc_machine_v1_1 = {
>              .driver   = TYPE_USB_DEVICE,\
>              .property = "full-path",\
>              .value    = "no",\
> +        },{\
> +            .driver   = "mc146818rtc",\
> +            .property = "lost_tick_policy",\
> +            .value    = "discard",\
>          }
>  
>  static QEMUMachine pc_machine_v1_0 = {
> -- 
> 1.7.9.5

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Qemu-devel] [PATCH v5 3/3] Change driftfix default value to slew
       [not found] ` <1340733111-9166-3-git-send-email-vianac@linux.vnet.ibm.com>
@ 2012-07-11 17:54   ` Anthony Liguori
  0 siblings, 0 replies; 3+ messages in thread
From: Anthony Liguori @ 2012-07-11 17:54 UTC (permalink / raw)
  To: Crístian Viana, QEMU Development ML
  Cc: Paolo Bonzini, Stefano Stabellini

Crístian Viana <vianac@linux.vnet.ibm.com> writes:

> Windows 2008+ is very sensitive to missed ticks. The RTC is used by default as
> the time source. If driftfix is not enabled, Windows is prone to
> blue screening.
>
> Signed-off-by: Crístian Viana <vianac@linux.vnet.ibm.com>

Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>

Regards,

Anthony Liguori

> ---
>  hw/mc146818rtc.c |    2 +-
>  vl.c             |   11 ++++++++++-
>  2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c
> index 3777f85..dfd7ee6 100644
> --- a/hw/mc146818rtc.c
> +++ b/hw/mc146818rtc.c
> @@ -686,7 +686,7 @@ ISADevice *rtc_init(ISABus *bus, int base_year, qemu_irq intercept_irq)
>  static Property mc146818rtc_properties[] = {
>      DEFINE_PROP_INT32("base_year", RTCState, base_year, 1980),
>      DEFINE_PROP_LOSTTICKPOLICY("lost_tick_policy", RTCState,
> -                               lost_tick_policy, LOST_TICK_DISCARD),
> +                               lost_tick_policy, LOST_TICK_SLEW),
>      DEFINE_PROP_END_OF_LIST(),
>  };
>  
> diff --git a/vl.c b/vl.c
> index 1329c30..3ae43fc 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -559,7 +559,16 @@ static void configure_rtc(QemuOpts *opts)
>  
>              qdev_prop_register_global_list(slew_lost_ticks);
>          } else if (!strcmp(value, "none")) {
> -            /* discard is default */
> +            static GlobalProperty discard_lost_ticks[] = {
> +                {
> +                    .driver   = "mc146818rtc",
> +                    .property = "lost_tick_policy",
> +                    .value    = "discard",
> +                },
> +                { /* end of list */ }
> +            };
> +
> +            qdev_prop_register_global_list(discard_lost_ticks);
>          } else {
>              fprintf(stderr, "qemu: invalid option value '%s'\n", value);
>              exit(1);
> -- 
> 1.7.9.5

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-07-11 17:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1340733111-9166-1-git-send-email-vianac@linux.vnet.ibm.com>
2012-07-11 17:52 ` [Qemu-devel] [PATCH v5 1/3] Check if GlobalProperty exists before registering Anthony Liguori
     [not found] ` <1340733111-9166-2-git-send-email-vianac@linux.vnet.ibm.com>
2012-07-11 17:53   ` [Qemu-devel] [PATCH v5 2/3] Force driftfix=none on previous machines Anthony Liguori
     [not found] ` <1340733111-9166-3-git-send-email-vianac@linux.vnet.ibm.com>
2012-07-11 17:54   ` [Qemu-devel] [PATCH v5 3/3] Change driftfix default value to slew Anthony Liguori

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.