David Howells <dhowells@xxxxxxxxxx> wrote: > +#define efi_call_runtime(f, ...) sys_table_arg->runtime->f(__VA_ARGS__) Turns out it's not that simple - of course. runtime->get_variable is just a void pointer. The old arm stub was casting it by virtue of assignment to a function pointer variable. The x86_64 appears to be doing bypassing all the compile-time type checking by passing the arguments through an ellipsis and then fixing up the argument list in the ->call() function. What I've changed the ARM and ARM64 things to is: #define efi_call_runtime(f, ...) ((efi_##f##_t *)sys_table_arg->runtime->f)(__VA_ARGS__) David -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html