qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 1/2] Make default boot order machine specific


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH v2 1/2] Make default boot order machine specific
Date: Thu, 25 Oct 2012 15:18:22 -0500
User-agent: Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu)

Peter Maydell <address@hidden> writes:

> On 25 October 2012 15:38, Avik Sil <address@hidden> wrote:
>> @@ -171,6 +171,7 @@ static QEMUMachine clipper_machine = {
>>      .init = clipper_init,
>>      .max_cpus = 4,
>>      .is_default = 1,
>> +    .default_machine_opts = DEFAULT_BOOT_ORDER,
>>  };
>
>> @@ -86,6 +86,7 @@ static QEMUMachine an5206_machine = {
>>      .name = "an5206",
>>      .desc = "Arnewsh 5206",
>>      .init = an5206_init,
>> +    .default_machine_opts = DEFAULT_BOOT_ORDER,
>>  };
>
>> +++ b/hw/axis_dev88.c
>> @@ -355,6 +355,7 @@ static QEMUMachine axisdev88_machine = {
>>      .desc = "AXIS devboard 88",
>>      .init = axisdev88_init,
>>      .is_default = 1,
>> +    .default_machine_opts = DEFAULT_BOOT_ORDER,
>>  };
>
> The thing about a default is that you shouldn't have to
> explicitly say it in every QEMUMachine struct... Please
> make the code handle a NULL in the struct in a way
> that means you don't need to touch every board.

I hate to spin a lot on a touch everything patch, but I also agree that
this is the wrong approach.

I think there are two reasonable approaches to this.  One would be a
macro to provide default initialization.  Something along the lines of:

#define DEFAULT_MACHINE_OPTIONS \
    .boot_order = "cad"

And then:

static QEMUMachine axisdev88_machine = {
    DEFAULT_MACHINE_OPTIONS,
    ...
};

static QEMUMachine pseries_machine = {
    DEFAULT_MACHINE_OPTIONS,
     /* no default boot order so we can detect absence of boot option */
    .boot_order = NULL,
};

Baking this into .default_machines_opts is too much overloading.

The other approach to this would be:

static QEMUMachine pseries_machine = {
    .no_boot_order = 1,
};

Which I think is what Peter is suggesting.  I'm not a huge fan of this
because it's backwards logic but we already do this for a bunch of other
things so I can't object too strongly to it.

Regards,

Anthony Liguori


>
> -- PMM




reply via email to

[Prev in Thread] Current Thread [Next in Thread]