|
@@ -17,6 +17,7 @@
|
|
|
#include <memalign.h>
|
|
|
#include <asm/global_data.h>
|
|
|
#include <asm-generic/sections.h>
|
|
|
+#include <asm-generic/unaligned.h>
|
|
|
#include <linux/linkage.h>
|
|
|
|
|
|
DECLARE_GLOBAL_DATA_PTR;
|
|
@@ -82,6 +83,15 @@ out:
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * Allow unaligned memory access.
|
|
|
+ *
|
|
|
+ * This routine is overridden by architectures providing this feature.
|
|
|
+ */
|
|
|
+void __weak allow_unaligned(void)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* Set the load options of an image from an environment variable.
|
|
|
*
|
|
@@ -370,6 +380,9 @@ static int do_bootefi(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
|
|
|
efi_status_t r;
|
|
|
void *fdt_addr;
|
|
|
|
|
|
+ /* Allow unaligned memory access */
|
|
|
+ allow_unaligned();
|
|
|
+
|
|
|
/* Initialize EFI drivers */
|
|
|
r = efi_init_obj_list();
|
|
|
if (r != EFI_SUCCESS) {
|