[SLOF] [PATCH v2] qemu-bootlist: Take the "-boot strict=off" setting properly into account
Alexey Kardashevskiy
aik at ozlabs.ru
Fri Mar 3 13:22:35 AEDT 2017
On 01/03/17 19:56, Thomas Huth wrote:
> SLOF currently completely ignores the "-boot strict=off" setting from
> QEMU as soon as the user specified one of the devices with a "bootindex"
> parameter. We should continue booting from other devices if strict
> booting is disabled.
>
> Signed-off-by: Thomas Huth <thuth at redhat.com>
Thanks, applied.
> ---
> v2: Moved the code for the check into a separate word, as suggested
> by Segher.
>
> board-qemu/slof/qemu-bootlist.fs | 18 ++++++++++++++----
> 1 file changed, 14 insertions(+), 4 deletions(-)
>
> diff --git a/board-qemu/slof/qemu-bootlist.fs b/board-qemu/slof/qemu-bootlist.fs
> index 4778e16..60dd29d 100644
> --- a/board-qemu/slof/qemu-bootlist.fs
> +++ b/board-qemu/slof/qemu-bootlist.fs
> @@ -25,15 +25,25 @@ defer add-boot-device
> 2drop
> ;
>
> +\ strict boot order is enabled if the last word in qemu,boot-list is "HALT".
> +: is-strict-boot? ( bl-str bl-len -- strict? )
> + dup 4 > IF
> + + 5 - 5 s" HALT" str=
> + ELSE
> + s" HALT" str=
> + THEN
> +;
> +
> : qemu-read-bootlist ( -- )
> \ See if QEMU has set exact boot device list
> " qemu,boot-list" get-chosen IF
> - s" boot-device" $setenv
> - EXIT
> + 1- \ Ignore the trailing NUL character
> + 2dup set-boot-device
> + is-strict-boot? IF EXIT THEN
> + ELSE
> + 0 0 set-boot-device
> THEN
>
> - 0 0 set-boot-device
> -
> " qemu,boot-device" get-chosen not IF
> \ No boot list set from qemu, so check nvram
> " boot-device" evaluate swap drop 0= IF
>
--
Alexey
More information about the SLOF
mailing list