public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	Avi Kivity <avi@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	Serge Hallyn <serge.hallyn@canonical.com>
Subject: Re: [PATCH] Fix default accelerator when building with --disable-kvm
Date: Fri, 06 Jul 2012 17:58:36 +0200	[thread overview]
Message-ID: <4FF70B2C.5030107@siemens.com> (raw)
In-Reply-To: <1341589319-23202-1-git-send-email-berrange@redhat.com>

On 2012-07-06 17:41, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange" <berrange@redhat.com>
> 
> The following commit
> 
>   commit 3ad763fcba5bd0ec5a79d4a9b6baeef119dd4a3d
>   Author: Jan Kiszka <jan.kiszka@siemens.com>
>   Date:   Fri Mar 2 10:30:43 2012 +0100
> 
>     qemu-kvm: Use machine options to configure qemu-kvm defaults
> 
>     Upstream is moving towards this mechanism, so start using it in qemu-kvm
>     already to configure the specific defaults: kvm enabled on, just like
>     in-kernel irqchips.
> 
> prevents qemu from starting when it has been build with the
> --disable-kvm argument, because the accelerator is hardcoded
> to 'kvm'.  This is a regression previously fixed by
> 
>   commit ce967f6610dcd7b7762dbad5a639fecf42d5c76d
>   Author: Daniel P. Berrange <berrange@redhat.com>
>   Date:   Fri Aug 5 09:50:29 2011 +0100
> 
>     Fix default accelerator when configured with --disable-kvm
> 
>     The default accelerator is hardcoded to 'kvm'. This is a fine
>     default for qemu-kvm normally, but if the user built with
>     ./configure --disable-kvm, then the resulting binaries will
>     not work by default
> 
> The fix is again to make this conditional on CONFIG_KVM_OPTIONS
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  hw/pc_piix.c |   14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index 98a06fa..35202dd 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -360,7 +360,9 @@ static QEMUMachine pc_machine_v1_2 = {
>      .init = pc_init_pci,
>      .max_cpus = 255,
>      .is_default = 1,
> +#ifdef CONFIG_KVM_OPTIONS
>      .default_machine_opts = "accel=kvm,kernel_irqchip=on",
> +#endif
>  };
>  
>  #define PC_COMPAT_1_1 \
> @@ -469,7 +471,9 @@ static QEMUMachine pc_machine_v0_14 = {
>      .desc = "Standard PC",
>      .init = pc_init_pci,
>      .max_cpus = 255,
> +#ifdef CONFIG_KVM_OPTIONS
>      .default_machine_opts = "accel=kvm,kernel_irqchip=on",
> +#endif
>      .compat_props = (GlobalProperty[]) {
>          PC_COMPAT_0_14, 
>          {
> @@ -503,7 +507,9 @@ static QEMUMachine pc_machine_v0_13 = {
>      .desc = "Standard PC",
>      .init = pc_init_pci_no_kvmclock,
>      .max_cpus = 255,
> +#ifdef CONFIG_KVM_OPTIONS
>      .default_machine_opts = "accel=kvm,kernel_irqchip=on",
> +#endif
>      .compat_props = (GlobalProperty[]) {
>          PC_COMPAT_0_13,
>          {
> @@ -541,7 +547,9 @@ static QEMUMachine pc_machine_v0_12 = {
>      .desc = "Standard PC",
>      .init = pc_init_pci_no_kvmclock,
>      .max_cpus = 255,
> +#ifdef CONFIG_KVM_OPTIONS
>      .default_machine_opts = "accel=kvm,kernel_irqchip=on",
> +#endif
>      .compat_props = (GlobalProperty[]) {
>          PC_COMPAT_0_12,
>          {
> @@ -575,7 +583,9 @@ static QEMUMachine pc_machine_v0_11 = {
>      .desc = "Standard PC, qemu 0.11",
>      .init = pc_init_pci_no_kvmclock,
>      .max_cpus = 255,
> +#ifdef CONFIG_KVM_OPTIONS
>      .default_machine_opts = "accel=kvm,kernel_irqchip=on",
> +#endif
>      .compat_props = (GlobalProperty[]) {
>          PC_COMPAT_0_11,
>          {
> @@ -597,7 +607,9 @@ static QEMUMachine pc_machine_v0_10 = {
>      .desc = "Standard PC, qemu 0.10",
>      .init = pc_init_pci_no_kvmclock,
>      .max_cpus = 255,
> +#ifdef CONFIG_KVM_OPTIONS
>      .default_machine_opts = "accel=kvm,kernel_irqchip=on",
> +#endif
>      .compat_props = (GlobalProperty[]) {
>          PC_COMPAT_0_11,
>          {
> @@ -631,7 +643,9 @@ static QEMUMachine isapc_machine = {
>      .desc = "ISA-only PC",
>      .init = pc_init_isa,
>      .max_cpus = 1,
> +#ifdef CONFIG_KVM_OPTIONS
>      .default_machine_opts = "accel=kvm,kernel_irqchip=on",
> +#endif
>      .compat_props = (GlobalProperty[]) {
>          {
>              .driver   = "pc-sysfw",
> 

A bit ugly. You could make it nicer by providing a macro that delivers
the proper options according to the setup - instead of all theses
#ifdefs (would also help to drop redundant kernel_irqchip=on from
master...).

And please provide the corresponding stable fix. I guess that is
currently more important anyway.

Jan

-- 
Siemens AG, Corporate Technology, CT RTC ITP SDP-DE
Corporate Competence Center Embedded Linux


      reply	other threads:[~2012-07-06 15:58 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-06 15:41 [PATCH] Fix default accelerator when building with --disable-kvm Daniel P. Berrange
2012-07-06 15:58 ` Jan Kiszka [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FF70B2C.5030107@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=avi@redhat.com \
    --cc=berrange@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=rjones@redhat.com \
    --cc=serge.hallyn@canonical.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox