Re: [SeaBIOS] [Qemu-devel] [Qemu PATCH v2] add a boot option to do strict boot
Eric Blake writes: > On 01/22/2013 08:52 AM, Amos Kong wrote: > Libvirt will need to expose an attribute that lets the user control whether to use this new option; how do we probe via QMP whether the new -boot strict=on command-line option is available? >>> >>> Hi all, >>> >>> How about add new info/query command? >>> >>> (hmp) info strict-boot >>> on >>> >>> (qmp) {"execute": "query-strict-boot"} >>> {"return": {"state": true}} >> >> It might be not a good solution, I already updated qemu-options.hx, >> we can check help message to know if this new option is added or not. > > Having libvirt probe the -help output is out of the question. We > already declared that for qemu 1.3 and beyond, ALL command line behavior > must ALSO be probe-able via QMP. I think Anthony had a trick for > testing for existence of various command line options without needing to > add a new query-strict-boot command, but I don't remember what that > trick was. We need a generic query-config-schema command. Regards, Anthony Liguori > > -- > Eric Blake eblake redhat com+1-919-301-3266 > Libvirt virtualization library http://libvirt.org ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [Qemu-devel] [Qemu PATCH v2] add a boot option to do strict boot
On 01/22/2013 08:52 AM, Amos Kong wrote: >>> >>> Libvirt will need to expose an attribute that lets the user control >>> whether to use this new option; how do we probe via QMP whether the >>> new >>> -boot strict=on command-line option is available? >> >> Hi all, >> >> How about add new info/query command? >> >> (hmp) info strict-boot >> on >> >> (qmp) {"execute": "query-strict-boot"} >> {"return": {"state": true}} > > It might be not a good solution, I already updated qemu-options.hx, > we can check help message to know if this new option is added or not. Having libvirt probe the -help output is out of the question. We already declared that for qemu 1.3 and beyond, ALL command line behavior must ALSO be probe-able via QMP. I think Anthony had a trick for testing for existence of various command line options without needing to add a new query-strict-boot command, but I don't remember what that trick was. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [Qemu-devel] [Qemu PATCH v2] add a boot option to do strict boot
- Original Message - > On 01/09/2013 01:39 AM, Amos Kong wrote: > > Current seabios will try to boot from selected devices first, > > if they are all failed, seabios will also try to boot from > > un-selected devices. > > > > We need to make it configurable. I already posted a seabios > > patch to add a new device type to halt booting. Qemu can add > > "HALT" at the end of bootindex string, then seabios will halt > > booting after trying to boot from selected devices. > > > > This option only effects when boot priority is changed by > > bootindex options, the old style(-boot order=..) will still > > try to boot from un-selected devices. > > > > v2: add HALT entry in get_boot_devices_list() > > define boot_strict to bool > > > > Signed-off-by: Amos Kong > > --- > > Libvirt will need to expose an attribute that lets the user control > whether to use this new option; how do we probe via QMP whether the > new > -boot strict=on command-line option is available? Hi all, How about add new info/query command? (hmp) info strict-boot on (qmp) {"execute": "query-strict-boot"} {"return": {"state": true}} > > +++ b/qemu-options.hx > > @@ -376,14 +376,14 @@ ETEXI > > > > DEF("boot", HAS_ARG, QEMU_OPTION_boot, > > "-boot [order=drives][,once=drives][,menu=on|off]\n" > > -" > > [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time]\n" > > +" > > > > [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time][,strict=on|off]\n" > > "'drives': floppy (a), hard disk (c), CD-ROM > > (d), network (n)\n" > > "'sp_name': the file's name that would be > > passed to bios as logo picture, if menu=on\n" > > "'sp_time': the period that splash picture > > last if menu=on, unit is ms\n" > > "'rb_timeout': the timeout before guest reboot > > when boot failed, unit is ms\n", > > So if I understand correctly, -boot order=... is incompatible with > -boot > strict=on; They are not incompatible, order will effect the priority, strict decides if boot from un-selected device. > even though you have listed both options under a single > -boot > entry in the -help. We've already declared that -help output is no > longer guaranteed stable, so this doesn't really impact libvirt, but > would it make any more sense to list this as two orthogonal entries, > to > make it clear that they don't mix? > > -boot order=drivers[,once=drives]... > -boot strict=on|off[,menu=on|off]... > > But this is all bikeshedding, so it's not worth a v3 if you disagree. > > -- > Eric Blake eblake redhat com+1-919-301-3266 > Libvirt virtualization library http://libvirt.org > > ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [Qemu-devel] [Qemu PATCH v2] add a boot option to do strict boot
On Tue, Jan 22, 2013 at 10:23:32AM -0500, Amos Kong wrote: > - Original Message - > > On 01/09/2013 01:39 AM, Amos Kong wrote: > > > Current seabios will try to boot from selected devices first, > > > if they are all failed, seabios will also try to boot from > > > un-selected devices. > > > > > > We need to make it configurable. I already posted a seabios > > > patch to add a new device type to halt booting. Qemu can add > > > "HALT" at the end of bootindex string, then seabios will halt > > > booting after trying to boot from selected devices. > > > > > > This option only effects when boot priority is changed by > > > bootindex options, the old style(-boot order=..) will still > > > try to boot from un-selected devices. > > > > > > v2: add HALT entry in get_boot_devices_list() > > > define boot_strict to bool > > > > > > Signed-off-by: Amos Kong > > > --- > > > > Libvirt will need to expose an attribute that lets the user control > > whether to use this new option; how do we probe via QMP whether the > > new > > -boot strict=on command-line option is available? > > Hi all, > > How about add new info/query command? > > (hmp) info strict-boot > on > > (qmp) {"execute": "query-strict-boot"} > {"return": {"state": true}} It might be not a good solution, I already updated qemu-options.hx, we can check help message to know if this new option is added or not. Daniel, Laine, do you have some suggestion? > > > +++ b/qemu-options.hx > > > @@ -376,14 +376,14 @@ ETEXI > > > > > > DEF("boot", HAS_ARG, QEMU_OPTION_boot, > > > "-boot [order=drives][,once=drives][,menu=on|off]\n" > > > -" > > > [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time]\n" > > > +" > > > > > > [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time][,strict=on|off]\n" > > > "'drives': floppy (a), hard disk (c), CD-ROM > > > (d), network (n)\n" > > > "'sp_name': the file's name that would be > > > passed to bios as logo picture, if menu=on\n" > > > "'sp_time': the period that splash picture > > > last if menu=on, unit is ms\n" > > > "'rb_timeout': the timeout before guest reboot > > > when boot failed, unit is ms\n", > > > > So if I understand correctly, -boot order=... is incompatible with > > -boot > > strict=on; > > They are not incompatible, order will effect the priority, > strict decides if boot from un-selected device. > > > even though you have listed both options under a single > > -boot > > entry in the -help. We've already declared that -help output is no > > longer guaranteed stable, so this doesn't really impact libvirt, but > > would it make any more sense to list this as two orthogonal entries, > > to > > make it clear that they don't mix? > > > > -boot order=drivers[,once=drives]... > > -boot strict=on|off[,menu=on|off]... > > > > But this is all bikeshedding, so it's not worth a v3 if you disagree. > > > > -- > > Eric Blake eblake redhat com+1-919-301-3266 > > Libvirt virtualization library http://libvirt.org > > > > ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [Qemu-devel] [Qemu PATCH v2] add a boot option to do strict boot
On Wed, Jan 09, 2013 at 08:14:07AM -0700, Eric Blake wrote: > On 01/09/2013 01:39 AM, Amos Kong wrote: > > Current seabios will try to boot from selected devices first, > > if they are all failed, seabios will also try to boot from > > un-selected devices. > > > > We need to make it configurable. I already posted a seabios > > patch to add a new device type to halt booting. Qemu can add > > "HALT" at the end of bootindex string, then seabios will halt > > booting after trying to boot from selected devices. > > > > This option only effects when boot priority is changed by > > bootindex options, the old style(-boot order=..) will still > > try to boot from un-selected devices. > > > > v2: add HALT entry in get_boot_devices_list() > > define boot_strict to bool > > > > Signed-off-by: Amos Kong > > --- > > Libvirt will need to expose an attribute that lets the user control > whether to use this new option; how do we probe via QMP whether the new > -boot strict=on command-line option is available? Old style to adjust boot priority by order parameter: -boot order=n,strict=on (BAD, unselected devices will be tried) New style to adjust boot priority by bootindex: -device virtio-net-pci,...,bootindex=1 -boot strict=on (OK) We only want strict option to support new style. (those two styles are implemented in two different way insider seabios, the latest simple patch only changed the bootindex way) > > +++ b/qemu-options.hx > > @@ -376,14 +376,14 @@ ETEXI > > > > DEF("boot", HAS_ARG, QEMU_OPTION_boot, > > "-boot [order=drives][,once=drives][,menu=on|off]\n" > > -" > > [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time]\n" > > +" > > [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time][,strict=on|off]\n" > > "'drives': floppy (a), hard disk (c), CD-ROM (d), > > network (n)\n" > > "'sp_name': the file's name that would be passed to > > bios as logo picture, if menu=on\n" > > "'sp_time': the period that splash picture last if > > menu=on, unit is ms\n" > > "'rb_timeout': the timeout before guest reboot when > > boot failed, unit is ms\n", > > So if I understand correctly, -boot order=... is incompatible with -boot > strict=on; even though you have listed both options under a single -boot > entry in the -help. We've already declared that -help output is no > longer guaranteed stable, so this doesn't really impact libvirt, but > would it make any more sense to list this as two orthogonal entries, to > make it clear that they don't mix? > > -boot order=drivers[,once=drives]... > -boot strict=on|off[,menu=on|off]... > > But this is all bikeshedding, so it's not worth a v3 if you disagree. > > -- > Eric Blake eblake redhat com+1-919-301-3266 > Libvirt virtualization library http://libvirt.org > ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios
Re: [SeaBIOS] [Qemu-devel] [Qemu PATCH v2] add a boot option to do strict boot
On 01/09/2013 01:39 AM, Amos Kong wrote: > Current seabios will try to boot from selected devices first, > if they are all failed, seabios will also try to boot from > un-selected devices. > > We need to make it configurable. I already posted a seabios > patch to add a new device type to halt booting. Qemu can add > "HALT" at the end of bootindex string, then seabios will halt > booting after trying to boot from selected devices. > > This option only effects when boot priority is changed by > bootindex options, the old style(-boot order=..) will still > try to boot from un-selected devices. > > v2: add HALT entry in get_boot_devices_list() > define boot_strict to bool > > Signed-off-by: Amos Kong > --- Libvirt will need to expose an attribute that lets the user control whether to use this new option; how do we probe via QMP whether the new -boot strict=on command-line option is available? > +++ b/qemu-options.hx > @@ -376,14 +376,14 @@ ETEXI > > DEF("boot", HAS_ARG, QEMU_OPTION_boot, > "-boot [order=drives][,once=drives][,menu=on|off]\n" > -" > [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time]\n" > +" > [,splash=sp_name][,splash-time=sp_time][,reboot-timeout=rb_time][,strict=on|off]\n" > "'drives': floppy (a), hard disk (c), CD-ROM (d), > network (n)\n" > "'sp_name': the file's name that would be passed to bios > as logo picture, if menu=on\n" > "'sp_time': the period that splash picture last if > menu=on, unit is ms\n" > "'rb_timeout': the timeout before guest reboot when boot > failed, unit is ms\n", So if I understand correctly, -boot order=... is incompatible with -boot strict=on; even though you have listed both options under a single -boot entry in the -help. We've already declared that -help output is no longer guaranteed stable, so this doesn't really impact libvirt, but would it make any more sense to list this as two orthogonal entries, to make it clear that they don't mix? -boot order=drivers[,once=drives]... -boot strict=on|off[,menu=on|off]... But this is all bikeshedding, so it's not worth a v3 if you disagree. -- Eric Blake eblake redhat com+1-919-301-3266 Libvirt virtualization library http://libvirt.org signature.asc Description: OpenPGP digital signature ___ SeaBIOS mailing list SeaBIOS@seabios.org http://www.seabios.org/mailman/listinfo/seabios