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? 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 >> >