[syslinux] [syslinux:firmware] efi: Lookup which file system we were loaded from
Matt Fleming
matt at console-pimps.org
Mon May 13 04:25:09 PDT 2013
On Fri, 10 May, at 12:48:36PM, H. Peter Anvin wrote:
> On 05/10/2013 06:27 AM, syslinux-bot for Matt Fleming wrote:
> >
> > diff --git a/efi/main.c b/efi/main.c
> > index 31f0bff..27e7f8f 100644
> > --- a/efi/main.c
> > +++ b/efi/main.c
> > @@ -1177,13 +1177,10 @@ static void efi_setcwd(CHAR16 *dp)
> >
> > EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *table)
> > {
> > + EFI_PXE_BASE_CODE *pxe;
> > EFI_LOADED_IMAGE *info;
> > EFI_STATUS status = EFI_SUCCESS;
> > -#if 0
> > - const struct fs_ops *ops[] = { &vfat_fs_ops, NULL };
> > -#else
> > - const struct fs_ops *ops[] = { &pxe_fs_ops, NULL };
> > -#endif
> > + const struct fs_ops *ops[] = { NULL, NULL };
>
> Probably need to drop "const" here, no?
Hmm... the compiler doesn't complain with the const, but does without,
efi/main.c: In function ‘efi_main’:
efi/main.c:1217:10: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
efi/main.c:1219:10: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
efi/main.c:1238:2: warning: passing argument 1 of ‘fs_init’ from incompatible pointer type [enabled by default]
In file included from efi/main.c:3:0:
core/include/fs.h:188:6: note: expected ‘const struct fs_ops **’ but argument is of type ‘struct fs_ops **’
Is it not because the elements of the array are const, not the array
itself?
--
Matt Fleming, Intel Open Source Technology Center
More information about the Syslinux
mailing list