···11+#ifndef _ASM_POWERPC_ASM_405_H22+#define _ASM_POWERPC_ASM_405_H33+44+#include <asm/asm-const.h>55+66+#ifdef __KERNEL__77+#ifdef CONFIG_IBM405_ERR7788+/* Erratum #77 on the 405 means we need a sync or dcbt before every99+ * stwcx. The old ATOMIC_SYNC_FIX covered some but not all of this.1010+ */1111+#define PPC405_ERR77(ra,rb) stringify_in_c(dcbt ra, rb;)1212+#define PPC405_ERR77_SYNC stringify_in_c(sync;)1313+#else1414+#define PPC405_ERR77(ra,rb)1515+#define PPC405_ERR77_SYNC1616+#endif1717+#endif1818+1919+#endif /* _ASM_POWERPC_ASM_405_H */
-13
arch/powerpc/include/asm/asm-compat.h
···70707171#endif72727373-#ifdef __KERNEL__7474-#ifdef CONFIG_IBM405_ERR777575-/* Erratum #77 on the 405 means we need a sync or dcbt before every7676- * stwcx. The old ATOMIC_SYNC_FIX covered some but not all of this.7777- */7878-#define PPC405_ERR77(ra,rb) stringify_in_c(dcbt ra, rb;)7979-#define PPC405_ERR77_SYNC stringify_in_c(sync;)8080-#else8181-#define PPC405_ERR77(ra,rb)8282-#define PPC405_ERR77_SYNC8383-#endif8484-#endif8585-8673#endif /* _ASM_POWERPC_ASM_COMPAT_H */
···99#include <linux/sched.h>1010#include <linux/threads.h>1111#include <asm/io.h> /* For sub-arch specific PPC_PIN_SIZE */1212+#include <asm/asm-405.h>12131314extern unsigned long ioremap_bot;1415
+1
arch/powerpc/include/asm/spinlock.h
···2727#include <asm/asm-compat.h>2828#include <asm/synch.h>2929#include <asm/ppc-opcode.h>3030+#include <asm/asm-405.h>30313132#ifdef CONFIG_PPC643233/* use 0x800000yy when locked, where yy == CPU number */
+1
arch/powerpc/kernel/entry_32.S
···3333#include <asm/unistd.h>3434#include <asm/ptrace.h>3535#include <asm/export.h>3636+#include <asm/asm-405.h>36373738/*3839 * MSR_KERNEL is > 0x10000 on 4xx/Book-E since it include MSR_CE.
+1
arch/powerpc/kernel/head_40x.S
···4242#include <asm/asm-offsets.h>4343#include <asm/ptrace.h>4444#include <asm/export.h>4545+#include <asm/asm-405.h>45464647/* As with the other PowerPC ports, it is expected that when code4748 * execution begins here, the following registers contain valid, yet