The UEFI spec mandates that unaligned memory access should be enabled if
supported by the CPU architecture.
This patch adds an empty weak function unaligned_access() that can be
overridden by an architecture specific routine.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
#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;
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.
*
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) {
#error invalid endian
#endif
+/* Allow unaligned memory access */
+void allow_unaligned(void);
+
#endif