diff --git a/sys/boot/efi/boot1/boot1.c b/sys/boot/efi/boot1/boot1.c index 97a40e6ec22f..6628a1af7a3c 100644 --- a/sys/boot/efi/boot1/boot1.c +++ b/sys/boot/efi/boot1/boot1.c @@ -47,8 +47,6 @@ static const boot_module_t *boot_modules[] = /* The initial number of handles used to query EFI for partitions. */ #define NUM_HANDLES_INIT 24 -EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE* Xsystab); - EFI_SYSTEM_TABLE *systab; EFI_BOOT_SERVICES *bs; static EFI_HANDLE *image; diff --git a/sys/boot/efi/include/efiapi.h b/sys/boot/efi/include/efiapi.h index 92eb5131f2d7..e63c79ad90cb 100644 --- a/sys/boot/efi/include/efiapi.h +++ b/sys/boot/efi/include/efiapi.h @@ -353,7 +353,7 @@ EFI_STATUS IN EFI_STATUS ExitStatus, IN UINTN ExitDataSize, IN CHAR16 *ExitData OPTIONAL - ); + ) __dead2; typedef EFI_STATUS diff --git a/sys/boot/efi/include/efilib.h b/sys/boot/efi/include/efilib.h index 2804a9154494..803a3a718bd7 100644 --- a/sys/boot/efi/include/efilib.h +++ b/sys/boot/efi/include/efilib.h @@ -89,8 +89,10 @@ EFI_STATUS errno_to_efi_status(int errno); void efi_time_init(void); void efi_time_fini(void); +EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE* Xsystab); + EFI_STATUS main(int argc, CHAR16 *argv[]); -void exit(EFI_STATUS status); +void exit(EFI_STATUS status) __dead2; void delay(int usecs); /* EFI environment initialization. */ diff --git a/sys/boot/efi/loader/efi_main.c b/sys/boot/efi/loader/efi_main.c index 5ecaf6d57ede..fd8f521bbab6 100644 --- a/sys/boot/efi/loader/efi_main.c +++ b/sys/boot/efi/loader/efi_main.c @@ -66,9 +66,7 @@ arg_skipword(CHAR16 *argp) return (argp); } -void efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table); - -void +EFI_STATUS efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table) { static EFI_GUID image_protocol = LOADED_IMAGE_PROTOCOL; @@ -184,4 +182,5 @@ efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table) status = main(argc, argv); exit(status); + return (status); }