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
SystemResetException(struct pt_regs *regs)
{
if (fwnmi_active) {
unsigned long *r3 = __va(regs->gpr[3]); /* for FWNMI debug */
struct rtas_error_log *errlog;
udbg_printf("FWNMI is active with save area at %016lx\n", r3);
errlog = FWNMI_get_errinfo(regs);
struct rtas_error_log *errhdr = FWNMI_get_errinfo(regs);
if (errhdr) {
/* XXX Should look at FWNMI information */
}
FWNMI_release_errinfo();
}
......
......@@ -36,7 +36,10 @@ extern void __no_lpq_restore_flags(unsigned long);
#else
#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)
{
......
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