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, dval...@suse.de wrote:
>>>
>>>> From: Dinar Valeev <dval...@suse.com>
>>>>
>>>> on sPAPR we need to update boot_order in MachineState in case it
>>>> got changed on reset.
>>>>
>>>> Signed-off-by: Dinar Valeev <dval...@suse.com>
>>>> ---
>>>>  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?
I'll see what I can do here. I recall once I debugged once option, I haven't 
seen
error message either.

> Would you debug it by setting a breakpoint ?
> 
> Regards,
> -Gonglei
> 
>> Previous patch was using qemu_register_boot_set, but Alexender Graf, 
>> suggested me to use MachineState and simply update on each guest reset.
>>
>>>
>>> Regards,
>>> -Gonglei
>>>
>>
> 
> 
> 


Reply via email to