diff options
| -rw-r--r-- | arch/x86/boot/compressed/eboot.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/boot/compressed/eboot.c b/arch/x86/boot/compressed/eboot.c index dc30c1732057..de8eebd6f67c 100644 --- a/arch/x86/boot/compressed/eboot.c +++ b/arch/x86/boot/compressed/eboot.c | |||
| @@ -268,18 +268,20 @@ void efi_char16_printk(efi_system_table_t *table, efi_char16_t *str) | |||
| 268 | 268 | ||
| 269 | offset = offsetof(typeof(*out), output_string); | 269 | offset = offsetof(typeof(*out), output_string); |
| 270 | output_string = efi_early->text_output + offset; | 270 | output_string = efi_early->text_output + offset; |
| 271 | out = (typeof(out))(unsigned long)efi_early->text_output; | ||
| 271 | func = (u64 *)output_string; | 272 | func = (u64 *)output_string; |
| 272 | 273 | ||
| 273 | efi_early->call(*func, efi_early->text_output, str); | 274 | efi_early->call(*func, out, str); |
| 274 | } else { | 275 | } else { |
| 275 | struct efi_simple_text_output_protocol_32 *out; | 276 | struct efi_simple_text_output_protocol_32 *out; |
| 276 | u32 *func; | 277 | u32 *func; |
| 277 | 278 | ||
| 278 | offset = offsetof(typeof(*out), output_string); | 279 | offset = offsetof(typeof(*out), output_string); |
| 279 | output_string = efi_early->text_output + offset; | 280 | output_string = efi_early->text_output + offset; |
| 281 | out = (typeof(out))(unsigned long)efi_early->text_output; | ||
| 280 | func = (u32 *)output_string; | 282 | func = (u32 *)output_string; |
| 281 | 283 | ||
| 282 | efi_early->call(*func, efi_early->text_output, str); | 284 | efi_early->call(*func, out, str); |
| 283 | } | 285 | } |
| 284 | } | 286 | } |
| 285 | 287 | ||
