[SeaBIOS] [PATCH] Enable shell-like * globing in bootorder entries

Kevin O'Connor kevin at koconnor.net
Tue May 15 16:40:46 CEST 2018


On Sun, May 13, 2018 at 11:12:07PM -0400, Ian Kelling wrote:
> Signed-off-by: Ian Kelling <ian at iankelling.org>
> ---
>  src/boot.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/src/boot.c b/src/boot.c
> index ff705fd..ca64595 100644
> --- a/src/boot.c
> +++ b/src/boot.c
> @@ -91,14 +91,14 @@ glob_prefix(const char *glob, const char *str)
>      }
>  }
>  
> -// Search the bootorder list for the given glob pattern.
> +// Search the bootorder glob list for the given device description
>  static int
> -find_prio(const char *glob)
> +find_prio(const char *desc)
>  {
> -    dprintf(1, "Searching bootorder for: %s\n", glob);
> +    dprintf(1, "Searching bootorder for: %s\n", desc);
>      int i;
>      for (i = 0; i < BootorderCount; i++)
> -        if (glob_prefix(glob, Bootorder[i]))
> +        if (glob_prefix(Bootorder[i], desc))
>              return i+1;
>      return -1;
>  }

Thanks, but I don't think this is correct.  The idea is that the user
will pass a bootorder list, and that SeaBIOS will see if the devices
it finds match that list.  So, the SeaBIOS code generates the globs,
and the user generates the actual device names.

This was done that way because QEMU generates and passes a bootorder
list to SeaBIOS.  QEMU will generate the actual device names, but
SeaBIOS generally doesn't have enough information to generate the full
device names.  So, SeaBIOS globs the QEMU generated device names to
find a match.

-Kevin



More information about the SeaBIOS mailing list