diff --git a/sys/dev/efidev/efirt.c b/sys/dev/efidev/efirt.c index 8cada0d5061b27..fcbed48af395f7 100644 --- a/sys/dev/efidev/efirt.c +++ b/sys/dev/efidev/efirt.c @@ -490,31 +490,32 @@ efi_rt_arch_call_nofault(struct efirt_callinfo *ec) switch (ec->ec_argcnt) { case 0: - ec->ec_efi_status = ((register_t (*)(void))ec->ec_fptr)(); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(void)) + ec->ec_fptr)(); break; case 1: - ec->ec_efi_status = ((register_t (*)(register_t))ec->ec_fptr) - (ec->ec_arg1); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t)) + ec->ec_fptr)(ec->ec_arg1); break; case 2: - ec->ec_efi_status = ((register_t (*)(register_t, register_t)) - ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t))ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2); break; case 3: - ec->ec_efi_status = ((register_t (*)(register_t, register_t, - register_t))ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2, - ec->ec_arg3); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t, register_t))ec->ec_fptr)(ec->ec_arg1, + ec->ec_arg2, ec->ec_arg3); break; case 4: - ec->ec_efi_status = ((register_t (*)(register_t, register_t, - register_t, register_t))ec->ec_fptr)(ec->ec_arg1, - ec->ec_arg2, ec->ec_arg3, ec->ec_arg4); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t, register_t, register_t))ec->ec_fptr)( + ec->ec_arg1, ec->ec_arg2, ec->ec_arg3, ec->ec_arg4); break; case 5: - ec->ec_efi_status = ((register_t (*)(register_t, register_t, - register_t, register_t, register_t))ec->ec_fptr)( - ec->ec_arg1, ec->ec_arg2, ec->ec_arg3, ec->ec_arg4, - ec->ec_arg5); + ec->ec_efi_status = ((register_t EFIABI_ATTR (*)(register_t, + register_t, register_t, register_t, register_t)) + ec->ec_fptr)(ec->ec_arg1, ec->ec_arg2, ec->ec_arg3, + ec->ec_arg4, ec->ec_arg5); break; default: panic("efi_rt_arch_call: %d args", (int)ec->ec_argcnt);