+#ifdef CONFIG_CPU_BIG_ENDIAN+#define OF_DT_MAGIC 0xd00dfeed+#else+#define OF_DT_MAGIC 0xedfe0dd0 /* 0xd00dfeed in big-endian */+#endif+ /* * Exception handling. Something went wrong and we can't proceed. We * ought to tell the user, but since we don't have any guarantee that@@ -28,20 +34,26 @@

/* Determine validity of the r2 atags pointer. The heuristic requires * that the pointer be aligned, in the first 16k of physical RAM and- * that the ATAG_CORE marker is first and present. Future revisions+ * that the ATAG_CORE marker is first and present. If CONFIG_OF_FLATTREE+ * is selected, then it will also accept a dtb pointer. Future revisions * of this function may be more lenient with the physical address and * may also be able to move the ATAGS block if necessary. * * Returns:- * r2 either valid atags pointer, or zero+ * r2 either valid atags pointer, valid dtb pointer, or zero * r5, r6 corrupted */ __vet_atags: tst r2, #0x3 @ aligned? bne 1f