Commit f145552e authored by Anton Blanchard's avatar Anton Blanchard

ppc64: local_irq_restore was missing a gcc barrier.

parent 84eec5fd
...@@ -127,11 +127,10 @@ void ...@@ -127,11 +127,10 @@ void
SystemResetException(struct pt_regs *regs) SystemResetException(struct pt_regs *regs)
{ {
if (fwnmi_active) { if (fwnmi_active) {
unsigned long *r3 = __va(regs->gpr[3]); /* for FWNMI debug */ struct rtas_error_log *errhdr = FWNMI_get_errinfo(regs);
struct rtas_error_log *errlog; if (errhdr) {
/* XXX Should look at FWNMI information */
udbg_printf("FWNMI is active with save area at %016lx\n", r3); }
errlog = FWNMI_get_errinfo(regs);
FWNMI_release_errinfo(); FWNMI_release_errinfo();
} }
......
...@@ -36,7 +36,10 @@ extern void __no_lpq_restore_flags(unsigned long); ...@@ -36,7 +36,10 @@ extern void __no_lpq_restore_flags(unsigned long);
#else #else
#define local_save_flags(flags) ((flags) = mfmsr()) #define local_save_flags(flags) ((flags) = mfmsr())
#define local_irq_restore(flags) __mtmsrd((flags), 1) #define local_irq_restore(flags) do { \
__asm__ __volatile__("": : :"memory"); \
__mtmsrd((flags), 1); \
} while(0)
static inline void local_irq_disable(void) static inline void local_irq_disable(void)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment