return !efi_nosoftreserve;
}
-void efi_printk(const char *str)
+void efi_char16_puts(efi_char16_t *str)
+{
+ efi_call_proto(efi_table_attr(efi_system_table, con_out),
+ output_string, str);
+}
+
+void efi_puts(const char *str)
{
while (*str) {
efi_char16_t ch[] = { *str++, L'\0' };
if (ch[0] == L'\n')
- efi_char16_printk(L"\r\n");
+ efi_char16_puts(L"\r\n");
else
- efi_char16_printk(ch);
+ efi_char16_puts(ch);
}
}
return NULL;
}
-void efi_char16_printk(efi_char16_t *str)
-{
- efi_call_proto(efi_table_attr(efi_system_table, con_out),
- output_string, str);
-}
-
/*
* The LINUX_EFI_INITRD_MEDIA_GUID vendor media device path below provides a way
* for the firmware or bootloader to expose the initrd data directly to the stub
#endif
#define efi_info(msg) do { \
- if (!efi_quiet) efi_printk("EFI stub: "msg); \
+ if (!efi_quiet) efi_puts("EFI stub: "msg); \
} while (0)
-#define efi_err(msg) efi_printk("EFI stub: ERROR: "msg)
+#define efi_err(msg) efi_puts("EFI stub: ERROR: "msg)
/* Helper macros for the usual case of using simple C variables: */
#ifndef fdt_setprop_inplace_var
void *priv,
efi_exit_boot_map_processing priv_func);
-void efi_char16_printk(efi_char16_t *);
-
efi_status_t allocate_new_fdt_and_exit_boot(void *handle,
unsigned long *new_fdt_addr,
unsigned long max_addr,
void *get_efi_config_table(efi_guid_t guid);
-void efi_printk(const char *str);
+/* NOTE: These functions do not print a trailing newline after the string */
+void efi_char16_puts(efi_char16_t *);
+void efi_puts(const char *str);
void efi_free(unsigned long size, unsigned long addr);
status = volume->open(volume, &fh, fi->filename, EFI_FILE_MODE_READ, 0);
if (status != EFI_SUCCESS) {
efi_err("Failed to open file: ");
- efi_char16_printk(fi->filename);
- efi_printk("\n");
+ efi_char16_puts(fi->filename);
+ efi_puts("\n");
return status;
}