On Fri, 28 Feb 2025 15:39:28 +0100
Daniel Kiper <dki...@net-space.pl> wrote:

> On Fri, Jan 03, 2025 at 12:11:14AM -0600, Glenn Washburn wrote:
> > Signed-off-by: Glenn Washburn <developm...@efficientek.com>
> > ---
> > This should be a quick review.
> >
> > v2: Rebase to current master
> >
> > Glenn
> > ---
> > Range-diff against v1:
> > 1:  fbaf2eb14231 ! 1:  8b14fcf62f88 acpi: Use options enum to index command 
> > options
> >     @@ grub-core/commands/acpi.c
> >         {"exclude", 'x', 0,
> >          N_("Don't load host tables specified by comma-separated list."),
> >      @@ grub-core/commands/acpi.c: grub_cmd_acpi (struct 
> > grub_extcmd_context *ctxt, int argc, char **args)
> >     -       /* RSDT consists of header and an array of 32-bit pointers. */
> >     -       struct grub_acpi_table_header *rsdt;
> >     +       grub_size_t tbl_addr_size;
> >     +       struct grub_acpi_table_header *table_head;
> >
> >      -      exclude = state[0].set ? grub_strdup (state[0].arg) : 0;
> >      +      exclude = state[OPTION_EXCLUDE].set ? grub_strdup 
> > (state[OPTION_EXCLUDE].arg) : 0;
> >
> >  grub-core/commands/acpi.c | 46 +++++++++++++++++++++++++--------------
> >  1 file changed, 30 insertions(+), 16 deletions(-)
> >
> > diff --git a/grub-core/commands/acpi.c b/grub-core/commands/acpi.c
> > index 77be99a5879c..429ee6f14834 100644
> > --- a/grub-core/commands/acpi.c
> > +++ b/grub-core/commands/acpi.c
> > @@ -38,6 +38,20 @@
> >
> >  GRUB_MOD_LICENSE ("GPLv3+");
> >
> > +enum
> > +  {
> > +    OPTION_EXCLUDE,
> 
> Should not you explicitly set OPTION_EXCLUDE to 0?

Seems reasonable.

> 
> > +    OPTION_LOAD_ONLY,
> > +    OPTION_V1,
> > +    OPTION_V2,
> > +    OPTION_OEMID,
> > +    OPTION_OEMTABLE,
> > +    OPTION_OEMTABLEREV,
> > +    OPTION_OEMTABLECREATOR,
> > +    OPTION_OEMTABLECREATORREV,
> > +    OPTION_NO_EBDA
> > +  };
> > +
> >  static const struct grub_arg_option options[] = {
> >    {"exclude", 'x', 0,
> >     N_("Don't load host tables specified by comma-separated list."),
> > @@ -497,14 +511,14 @@ grub_cmd_acpi (struct grub_extcmd_context *ctxt, int 
> > argc, char **args)
> >        grub_size_t tbl_addr_size;
> >        struct grub_acpi_table_header *table_head;
> >
> > -      exclude = state[0].set ? grub_strdup (state[0].arg) : 0;
> > +      exclude = state[OPTION_EXCLUDE].set ? grub_strdup 
> > (state[OPTION_EXCLUDE].arg) : 0;
> >        if (exclude)
> >     {
> >       for (ptr = exclude; *ptr; ptr++)
> >         *ptr = grub_tolower (*ptr);
> >     }
> >
> > -      load_only = state[1].set ? grub_strdup (state[1].arg) : 0;
> > +      load_only = state[OPTION_EXCLUDE].set ? grub_strdup 
> > (state[OPTION_EXCLUDE].arg) : 0;
> 
> s/OPTION_EXCLUDE/OPTION_LOAD_ONLY/

Good catch. I'll send a v2 shortly.

Glenn

> 
> >        if (load_only)
> >     {
> >       for (ptr = load_only; *ptr; ptr++)
> > @@ -623,26 +637,26 @@ grub_cmd_acpi (struct grub_extcmd_context *ctxt, int 
> > argc, char **args)
> >      }
> >
> >    /* Does user specify versions to generate? */
> > -  if (state[2].set || state[3].set)
> > +  if (state[OPTION_V1].set || state[OPTION_V2].set)
> >      {
> > -      rev1 = state[2].set;
> > -      if (state[3].set)
> > +      rev1 = state[OPTION_V1].set;
> > +      if (state[OPTION_V2].set)
> >     rev2 = rev2 ? : 2;
> >        else
> >     rev2 = 0;
> >      }
> >
> >    /* Does user override root header information? */
> > -  if (state[4].set)
> > -    grub_strncpy (root_oemid, state[4].arg, sizeof (root_oemid));
> > -  if (state[5].set)
> > -    grub_strncpy (root_oemtable, state[5].arg, sizeof (root_oemtable));
> > -  if (state[6].set)
> > -    root_oemrev = grub_strtoul (state[6].arg, 0, 0);
> > -  if (state[7].set)
> > -    grub_strncpy (root_creator_id, state[7].arg, sizeof (root_creator_id));
> > -  if (state[8].set)
> > -    root_creator_rev = grub_strtoul (state[8].arg, 0, 0);
> > +  if (state[OPTION_OEMID].set)
> > +    grub_strncpy (root_oemid, state[OPTION_OEMID].arg, sizeof 
> > (root_oemid));
> > +  if (state[OPTION_OEMTABLE].set)
> > +    grub_strncpy (root_oemtable, state[OPTION_OEMTABLE].arg, sizeof 
> > (root_oemtable));
> > +  if (state[OPTION_OEMTABLEREV].set)
> > +    root_oemrev = grub_strtoul (state[OPTION_OEMTABLEREV].arg, 0, 0);
> > +  if (state[OPTION_OEMTABLECREATOR].set)
> > +    grub_strncpy (root_creator_id, state[OPTION_OEMTABLECREATOR].arg, 
> > sizeof (root_creator_id));
> > +  if (state[OPTION_OEMTABLECREATORREV].set)
> > +    root_creator_rev = grub_strtoul (state[OPTION_OEMTABLECREATORREV].arg, 
> > 0, 0);
> >
> >    /* Load user tables */
> >    for (i = 0; i < argc; i++)
> > @@ -758,7 +772,7 @@ grub_cmd_acpi (struct grub_extcmd_context *ctxt, int 
> > argc, char **args)
> >    acpi_tables = 0;
> >
> >  #if defined (__i386__) || defined (__x86_64__)
> > -  if (! state[9].set)
> > +  if (! state[OPTION_NO_EBDA].set)
> >      {
> >        grub_err_t err;
> >        err = grub_acpi_create_ebda ();
> 
> Daniel

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to