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
prev parent 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