[RFC PATCH 1/2] efi_loader: define internal implementations of install/uninstallmultiple

Ilias Apalodimas ilias.apalodimas at linaro.org
Thu Oct 6 09:37:05 CEST 2022


Hi Heinrich 

[...]

> > diff --git a/lib/efi_loader/efi_load_initrd.c b/lib/efi_loader/efi_load_initrd.c
> > index 3d6044f76047..87fde3f88c2b 100644
> > --- a/lib/efi_loader/efi_load_initrd.c
> > +++ b/lib/efi_loader/efi_load_initrd.c
> > @@ -208,14 +208,13 @@ efi_status_t efi_initrd_register(void)
> >   	if (ret != EFI_SUCCESS)
> >   		return ret;
> > 
> > -	ret = EFI_CALL(efi_install_multiple_protocol_interfaces
> > -		       (&efi_initrd_handle,
> > -			/* initramfs */
> > -			&efi_guid_device_path, &dp_lf2_handle,
> > -			/* LOAD_FILE2 */
> > -			&efi_guid_load_file2_protocol,
> > -			(void *)&efi_lf2_protocol,
> > -			NULL));
> > +	ret = efi_install_multiple_protocol_interfaces(&efi_initrd_handle,
> > +						       /* initramfs */
> > +						       &efi_guid_device_path, &dp_lf2_handle,
> > +						       /* LOAD_FILE2 */
> > +						       &efi_guid_load_file2_protocol,
> > +						       (void *)&efi_lf2_protocol,
> > +						       NULL);
> > 
> >   	return ret;
> >   }
> > diff --git a/lib/efi_loader/efi_root_node.c b/lib/efi_loader/efi_root_node.c
> > index 739c6867f412..b4696d54c33d 100644
> > --- a/lib/efi_loader/efi_root_node.c
> > +++ b/lib/efi_loader/efi_root_node.c
> 
> Please, put these changes into a separate patch.
> 

Shouldn't they go in the same patchset?  We are changing the definition of 
efi_install_multiple_protocol_interfaces() so EFI_ENTRY/EFI_EXIT is not
there anymore and we don't need EFI_CALL to save/restore the gd on
entry/exit.

Thanks
/Ilias

> Best regards
> 
> Heinrich
> 
> > @@ -49,38 +49,38 @@ efi_status_t efi_root_node_register(void)
> >   	dp->end.length = sizeof(struct efi_device_path);
> > 
> >   	/* Create root node and install protocols */
> > -	ret = EFI_CALL(efi_install_multiple_protocol_interfaces
> > -			(&efi_root,
> > -			 /* Device path protocol */
> > -			 &efi_guid_device_path, dp,
> > +	ret = efi_install_multiple_protocol_interfaces
> > +		(&efi_root,
> > +		 /* Device path protocol */
> > +		 &efi_guid_device_path, dp,
> >   #if CONFIG_IS_ENABLED(EFI_DEVICE_PATH_TO_TEXT)
> > -			 /* Device path to text protocol */
> > -			 &efi_guid_device_path_to_text_protocol,
> > -			 (void *)&efi_device_path_to_text,
> > +		 /* Device path to text protocol */
> > +		 &efi_guid_device_path_to_text_protocol,
> > +		 (void *)&efi_device_path_to_text,
> >   #endif
> >   #ifdef CONFIG_EFI_DEVICE_PATH_UTIL
> > -			 /* Device path utilities protocol */
> > -			 &efi_guid_device_path_utilities_protocol,
> > -			 (void *)&efi_device_path_utilities,
> > +		 /* Device path utilities protocol */
> > +		 &efi_guid_device_path_utilities_protocol,
> > +		 (void *)&efi_device_path_utilities,
> >   #endif
> >   #ifdef CONFIG_EFI_DT_FIXUP
> > -			 /* Device-tree fix-up protocol */
> > -			 &efi_guid_dt_fixup_protocol,
> > -			 (void *)&efi_dt_fixup_prot,
> > +		 /* Device-tree fix-up protocol */
> > +		 &efi_guid_dt_fixup_protocol,
> > +		 (void *)&efi_dt_fixup_prot,
> >   #endif
> >   #if CONFIG_IS_ENABLED(EFI_UNICODE_COLLATION_PROTOCOL2)
> > -			 &efi_guid_unicode_collation_protocol2,
> > -			 (void *)&efi_unicode_collation_protocol2,
> > +		 &efi_guid_unicode_collation_protocol2,
> > +		 (void *)&efi_unicode_collation_protocol2,
> >   #endif
> >   #if CONFIG_IS_ENABLED(EFI_LOADER_HII)
> > -			 /* HII string protocol */
> > -			 &efi_guid_hii_string_protocol,
> > -			 (void *)&efi_hii_string,
> > -			 /* HII database protocol */
> > -			 &efi_guid_hii_database_protocol,
> > -			 (void *)&efi_hii_database,
> > +		 /* HII string protocol */
> > +		 &efi_guid_hii_string_protocol,
> > +		 (void *)&efi_hii_string,
> > +		 /* HII database protocol */
> > +		 &efi_guid_hii_database_protocol,
> > +		 (void *)&efi_hii_database,
> >   #endif
> > -			 NULL));
> > +		 NULL);
> >   	efi_root->type = EFI_OBJECT_TYPE_U_BOOT_FIRMWARE;
> >   	return ret;
> >   }
> 


More information about the U-Boot mailing list