[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState
From: |
Alexander Graf |
Subject: |
Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState |
Date: |
Thu, 29 Jan 2015 11:55:02 +0100 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
On 28.01.15 02:48, Gonglei wrote:
> On 2015/1/27 18:49, Dinar Valeev wrote:
>
>> On 01/27/2015 10:18 AM, Gonglei wrote:
>>> On 2015/1/27 16:57, Dinar Valeev wrote:
>>>
>>>> On 01/27/2015 03:51 AM, Gonglei wrote:
>>>>> On 2015/1/27 7:52, address@hidden wrote:
>>>>>
>>>>>> From: Dinar Valeev <address@hidden>
>>>>>>
>>>>>> on sPAPR we need to update boot_order in MachineState in case it
>>>>>> got changed on reset.
>>>>>>
>>>>>> Signed-off-by: Dinar Valeev <address@hidden>
>>>>>> ---
>>>>>> bootdevice.c | 3 +++
>>>>>> 1 file changed, 3 insertions(+)
>>>>>>
>>>>>> diff --git a/bootdevice.c b/bootdevice.c
>>>>>> index 5914417..4f11a06 100644
>>>>>> --- a/bootdevice.c
>>>>>> +++ b/bootdevice.c
>>>>>> @@ -26,6 +26,7 @@
>>>>>> #include "qapi/visitor.h"
>>>>>> #include "qemu/error-report.h"
>>>>>> #include "hw/hw.h"
>>>>>> +#include "hw/boards.h"
>>>>>>
>>>>>> typedef struct FWBootEntry FWBootEntry;
>>>>>>
>>>>>> @@ -50,6 +51,8 @@ void qemu_register_boot_set(QEMUBootSetHandler *func,
>>>>>> void *opaque)
>>>>>> void qemu_boot_set(const char *boot_order, Error **errp)
>>>>>> {
>>>>>> Error *local_err = NULL;
>>>>>> + MachineState *machine = MACHINE(qdev_get_machine());
>>>>>> + machine->boot_order = boot_order;
>>>>>>
>>>>>> if (!boot_set_handler) {
>>>>>> error_setg(errp, "no function defined to set boot device list
>>>>>> for"
>>>>>
>>>>> Have you registered boot set handler on ppc/sPAPR platform by calling
>>>>> qemu_register_boot_set()? Otherwise qemu_boot_set function
>>>>> will return error.
>>>> No, I set boot_order on each machine reset. My tests are showing it works
>>>> without an error.
>>>
>>> That's interesting. Does this function be called?
>> Yes, then simply returns.
>>> Would you debug it by setting a breakpoint ?
>> I added a trace event.
>> if (!boot_set_handler) {
>> + trace_qemu_boot_set(boot_order);
>> error_setg(errp, "no function defined to set boot device list for"
>> " this architecture");
>> return;
>>
>> And I see this now in qemu's monitor. Still I don't see error message.
>
> That's because NULL is passed to this function in restore_boot_order()
> the error is ignored (commit f183993). I have seen the previous conversation
> about your patch serials. And I think this is the reason which
> you moved machine->boot_order = boot_order before
> checking boot_set_handler variable based on Alexander's
> suggestion, right? But I think this is not a good idea.
Why is it not a good idea? The check is only checking whether there are
callbacks. The boot order changes nevertheless.
Alex
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, (continued)
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, Gonglei, 2015/01/26
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, Dinar Valeev, 2015/01/27
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, Gonglei, 2015/01/27
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, Dinar Valeev, 2015/01/27
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, Dinar Valeev, 2015/01/27
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, Gonglei, 2015/01/27
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, Dinar Valeev, 2015/01/28
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, Gonglei, 2015/01/28
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/2] bootdevice: update boot_order in MachineState, Markus Armbruster, 2015/01/29
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 2/2] bootdevice: update boot_order in MachineState, Alexander Graf, 2015/01/29
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState,
Alexander Graf <=
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, Gonglei, 2015/01/29
- Re: [Qemu-ppc] [PATCH 2/2] bootdevice: update boot_order in MachineState, Alexander Graf, 2015/01/29
Re: [Qemu-ppc] [Qemu-devel] Update boot_order on reset for sPAPR, Alexey Kardashevskiy, 2015/01/26