Message ID | 1328679700-31015-3-git-send-email-peter.maydell@linaro.org |
---|---|
State | Accepted |
Commit | 9de36b1a7cf61aa8be365f13c81668b3e19fbc7f |
Headers | show |
On 8 February 2012 06:41, Peter Maydell <peter.maydell@linaro.org> wrote: > Make the "machine" option list use list merging, so that multiple > -machine arguments (and the -enable-kvm argument) all merge together > into a single list. Drop the calls to qemu_opts_reset() which meant > that only the last -machine or -enable-kvm option had any effect. > > This fixes the bug where "-enable-kvm -machine foo" would ignore > the '-enable-kvm' option, and "-machine foo -enable-kvm" would > ignore the '-machine foo' option. Applied this patch and the first one as a bug fix, thank you. Cheers
diff --git a/qemu-config.c b/qemu-config.c index b030205..c938470 100644 --- a/qemu-config.c +++ b/qemu-config.c @@ -521,6 +521,7 @@ QemuOptsList qemu_option_rom_opts = { static QemuOptsList qemu_machine_opts = { .name = "machine", .implied_opt_name = "type", + .merge_lists = true, .head = QTAILQ_HEAD_INITIALIZER(qemu_machine_opts.head), .desc = { { diff --git a/vl.c b/vl.c index 63dd725..fe24ef8 100644 --- a/vl.c +++ b/vl.c @@ -2874,12 +2874,10 @@ int main(int argc, char **argv, char **envp) break; case QEMU_OPTION_enable_kvm: olist = qemu_find_opts("machine"); - qemu_opts_reset(olist); qemu_opts_parse(olist, "accel=kvm", 0); break; case QEMU_OPTION_machine: olist = qemu_find_opts("machine"); - qemu_opts_reset(olist); opts = qemu_opts_parse(olist, optarg, 1); if (!opts) { fprintf(stderr, "parse error: %s\n", optarg);
Make the "machine" option list use list merging, so that multiple -machine arguments (and the -enable-kvm argument) all merge together into a single list. Drop the calls to qemu_opts_reset() which meant that only the last -machine or -enable-kvm option had any effect. This fixes the bug where "-enable-kvm -machine foo" would ignore the '-enable-kvm' option, and "-machine foo -enable-kvm" would ignore the '-machine foo' option. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> --- qemu-config.c | 1 + vl.c | 2 -- 2 files changed, 1 insertions(+), 2 deletions(-)