From: Anthony Liguori <anthony@codemonkey.ws>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH 1/2] Move KVM init to arch_init.c, compile vl.c once
Date: Thu, 01 Apr 2010 15:15:17 -0500 [thread overview]
Message-ID: <4BB4FED5.2080508@codemonkey.ws> (raw)
In-Reply-To: <l2vf43fc5581004011307m28f5f783nc27e4350acedef81@mail.gmail.com>
On 04/01/2010 03:07 PM, Blue Swirl wrote:
> Remove dependency of vl.c to KVM, then we can partially revert
> b33612d03540fda7fa67485f1c20395beb7a2bf0.
>
> Signed-off-by: Blue Swirl<blauwirbel@gmail.com>
> ---
> Makefile.objs | 2 +-
> Makefile.target | 2 +-
> arch_init.c | 20 ++++++++++++++++++++
> arch_init.h | 2 ++
> vl.c | 14 ++------------
> 5 files changed, 26 insertions(+), 14 deletions(-)
>
> diff --git a/Makefile.objs b/Makefile.objs
> index 74d7a3d..4cc8ea6 100644
> --- a/Makefile.objs
> +++ b/Makefile.objs
> @@ -128,7 +128,7 @@ user-obj-y += cutils.o cache-utils.o
> # libhw
>
> hw-obj-y =
> -hw-obj-y += loader.o
> +hw-obj-y += vl.o loader.o
> hw-obj-y += virtio.o virtio-console.o
> hw-obj-y += fw_cfg.o pci.o pci_host.o pcie_host.o
> hw-obj-y += watchdog.o
> diff --git a/Makefile.target b/Makefile.target
> index 167fc8d..2aa02f5 100644
> --- a/Makefile.target
> +++ b/Makefile.target
> @@ -161,7 +161,7 @@ endif #CONFIG_BSD_USER
> # System emulator target
> ifdef CONFIG_SOFTMMU
>
> -obj-y = arch_init.o cpus.o monitor.o machine.o gdbstub.o vl.o
> +obj-y = arch_init.o cpus.o monitor.o machine.o gdbstub.o
> # virtio has to be here due to weird dependency between PCI and virtio-net.
> # need to fix this properly
> obj-y += virtio-blk.o virtio-balloon.o virtio-net.o virtio-pci.o
> virtio-serial-bus.o
> diff --git a/arch_init.c b/arch_init.c
> index cfc03ea..001c560 100644
> --- a/arch_init.c
> +++ b/arch_init.c
> @@ -41,6 +41,8 @@
> #include "gdbstub.h"
> #include "hw/smbios.h"
>
> +int kvm_allowed = 0;
> +
> #ifdef TARGET_SPARC
> int graphic_width = 1024;
> int graphic_height = 768;
> @@ -508,3 +510,21 @@ int xen_available(void)
> return 0;
> #endif
> }
> +
> +void enable_kvm(void)
> +{
> + kvm_allowed = 1;
> +}
>
Can we get away with keeping a local to vl.c use_kvm flag and then call
kvm_init() if use_kvm in vl.c?
We can stick a stub kvm_init() in arch_init.c if !CONFIG_KVM.
Regards,
Anthony LIguori
> +void kvm_maybe_init(int smp_cpus)
> +{
> + if (kvm_enabled()) {
> + int ret;
> +
> + ret = kvm_init(smp_cpus);
> + if (ret< 0) {
> + fprintf(stderr, "failed to initialize KVM\n");
> + exit(1);
> + }
> + }
> +}
> diff --git a/arch_init.h b/arch_init.h
> index 682890c..dde4309 100644
> --- a/arch_init.h
> +++ b/arch_init.h
> @@ -29,5 +29,7 @@ void cpudef_init(void);
> int audio_available(void);
> int kvm_available(void);
> int xen_available(void);
> +void enable_kvm(void);
> +void kvm_maybe_init(int smp_cpus);
>
> #endif
> diff --git a/vl.c b/vl.c
> index 03fccbf..cc214dd 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -145,7 +145,6 @@ int main(int argc, char **argv)
> #include "dma.h"
> #include "audio/audio.h"
> #include "migration.h"
> -#include "kvm.h"
> #include "balloon.h"
> #include "qemu-option.h"
> #include "qemu-config.h"
> @@ -241,7 +240,6 @@ uint8_t qemu_uuid[16];
> static QEMUBootSetHandler *boot_set_handler;
> static void *boot_set_opaque;
>
> -int kvm_allowed = 0;
> uint32_t xen_domid;
> enum xen_mode xen_mode = XEN_EMULATE;
>
> @@ -3228,7 +3226,7 @@ int main(int argc, char **argv, char **envp)
> printf("Option %s not supported for this
> target\n", popt->name);
> exit(1);
> }
> - kvm_allowed = 1;
> + enable_kvm();
> break;
> case QEMU_OPTION_usb:
> usb_enabled = 1;
> @@ -3574,15 +3572,7 @@ int main(int argc, char **argv, char **envp)
> exit(1);
> }
>
> - if (kvm_enabled()) {
> - int ret;
> -
> - ret = kvm_init(smp_cpus);
> - if (ret< 0) {
> - fprintf(stderr, "failed to initialize KVM\n");
> - exit(1);
> - }
> - }
> + kvm_maybe_init(smp_cpus);
>
> if (qemu_init_main_loop()) {
> fprintf(stderr, "qemu_init_main_loop failed\n");
>
next prev parent reply other threads:[~2010-04-01 20:15 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-01 20:07 [Qemu-devel] [PATCH 1/2] Move KVM init to arch_init.c, compile vl.c once Blue Swirl
2010-04-01 20:15 ` Anthony Liguori [this message]
2010-04-01 20:27 ` Blue Swirl
2010-04-02 15:01 ` [Qemu-devel] " Paolo Bonzini
2010-04-02 15:08 ` Anthony Liguori
2010-04-02 15:11 ` Paolo Bonzini
2010-04-02 15:20 ` Anthony Liguori
2010-04-02 16:01 ` Paolo Bonzini
2010-04-02 15:43 ` Blue Swirl
2010-04-01 20:23 ` Paolo Bonzini
2010-04-02 14:20 ` Blue Swirl
-- strict thread matches above, loose matches on Subject: below --
2010-04-02 15:46 [Qemu-devel] " Blue Swirl
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=4BB4FED5.2080508@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=blauwirbel@gmail.com \
--cc=qemu-devel@nongnu.org \
/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 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.