diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-26 15:43:57 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-26 15:43:57 -0500 |
commit | 0dbfe8ddaaab9fe5bc8672c064d3ede6cd66201a (patch) | |
tree | 93eefb55eb9a9e41053e6de032e49e92c7be5574 /arch/m68k/kernel | |
parent | 87f71ae2dd7471c1b4c94100be1f218e91dc64c3 (diff) | |
parent | 2a3535069e33d8b416f406c159ce924427315303 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
m68k: Fix assembler constraint to prevent overeager gcc optimisation
mac_esp: rename irq
mac_scsi: dont enable mac_scsi irq before requesting it
macfb: fix black and white modes
m68k/irq: Remove obsolete IRQ_FLG_* definitions
Fix up trivial conflict in arch/m68k/kernel/process_mm.c as per Geert.
Diffstat (limited to 'arch/m68k/kernel')
-rw-r--r-- | arch/m68k/kernel/process_mm.c | 2 | ||||
-rw-r--r-- | arch/m68k/kernel/process_no.c | 4 | ||||
-rw-r--r-- | arch/m68k/kernel/traps.c | 36 |
3 files changed, 20 insertions, 22 deletions
diff --git a/arch/m68k/kernel/process_mm.c b/arch/m68k/kernel/process_mm.c index 125f34e00bf0..099283ee1a8f 100644 --- a/arch/m68k/kernel/process_mm.c +++ b/arch/m68k/kernel/process_mm.c | |||
@@ -172,7 +172,7 @@ void flush_thread(void) | |||
172 | 172 | ||
173 | current->thread.fs = __USER_DS; | 173 | current->thread.fs = __USER_DS; |
174 | if (!FPU_IS_EMU) | 174 | if (!FPU_IS_EMU) |
175 | asm volatile ("frestore %0@" : : "a" (&zero) : "memory"); | 175 | asm volatile("frestore %0": :"m" (zero)); |
176 | } | 176 | } |
177 | 177 | ||
178 | /* | 178 | /* |
diff --git a/arch/m68k/kernel/process_no.c b/arch/m68k/kernel/process_no.c index 69c1803fcf1b..5e1078cabe0e 100644 --- a/arch/m68k/kernel/process_no.c +++ b/arch/m68k/kernel/process_no.c | |||
@@ -163,8 +163,8 @@ void flush_thread(void) | |||
163 | #ifdef CONFIG_FPU | 163 | #ifdef CONFIG_FPU |
164 | if (!FPU_IS_EMU) | 164 | if (!FPU_IS_EMU) |
165 | asm volatile (".chip 68k/68881\n\t" | 165 | asm volatile (".chip 68k/68881\n\t" |
166 | "frestore %0@\n\t" | 166 | "frestore %0\n\t" |
167 | ".chip 68k" : : "a" (&zero)); | 167 | ".chip 68k" : : "m" (zero)); |
168 | #endif | 168 | #endif |
169 | } | 169 | } |
170 | 170 | ||
diff --git a/arch/m68k/kernel/traps.c b/arch/m68k/kernel/traps.c index a76452ca964e..daaa9187654c 100644 --- a/arch/m68k/kernel/traps.c +++ b/arch/m68k/kernel/traps.c | |||
@@ -552,13 +552,13 @@ static inline void bus_error030 (struct frame *fp) | |||
552 | 552 | ||
553 | #ifdef DEBUG | 553 | #ifdef DEBUG |
554 | asm volatile ("ptestr %3,%2@,#7,%0\n\t" | 554 | asm volatile ("ptestr %3,%2@,#7,%0\n\t" |
555 | "pmove %%psr,%1@" | 555 | "pmove %%psr,%1" |
556 | : "=a&" (desc) | 556 | : "=a&" (desc), "=m" (temp) |
557 | : "a" (&temp), "a" (addr), "d" (ssw)); | 557 | : "a" (addr), "d" (ssw)); |
558 | #else | 558 | #else |
559 | asm volatile ("ptestr %2,%1@,#7\n\t" | 559 | asm volatile ("ptestr %2,%1@,#7\n\t" |
560 | "pmove %%psr,%0@" | 560 | "pmove %%psr,%0" |
561 | : : "a" (&temp), "a" (addr), "d" (ssw)); | 561 | : "=m" (temp) : "a" (addr), "d" (ssw)); |
562 | #endif | 562 | #endif |
563 | mmusr = temp; | 563 | mmusr = temp; |
564 | 564 | ||
@@ -605,20 +605,18 @@ static inline void bus_error030 (struct frame *fp) | |||
605 | !(ssw & RW) ? "write" : "read", addr, | 605 | !(ssw & RW) ? "write" : "read", addr, |
606 | fp->ptregs.pc, ssw); | 606 | fp->ptregs.pc, ssw); |
607 | asm volatile ("ptestr #1,%1@,#0\n\t" | 607 | asm volatile ("ptestr #1,%1@,#0\n\t" |
608 | "pmove %%psr,%0@" | 608 | "pmove %%psr,%0" |
609 | : /* no outputs */ | 609 | : "=m" (temp) |
610 | : "a" (&temp), "a" (addr)); | 610 | : "a" (addr)); |
611 | mmusr = temp; | 611 | mmusr = temp; |
612 | 612 | ||
613 | printk ("level 0 mmusr is %#x\n", mmusr); | 613 | printk ("level 0 mmusr is %#x\n", mmusr); |
614 | #if 0 | 614 | #if 0 |
615 | asm volatile ("pmove %%tt0,%0@" | 615 | asm volatile ("pmove %%tt0,%0" |
616 | : /* no outputs */ | 616 | : "=m" (tlong)); |
617 | : "a" (&tlong)); | ||
618 | printk("tt0 is %#lx, ", tlong); | 617 | printk("tt0 is %#lx, ", tlong); |
619 | asm volatile ("pmove %%tt1,%0@" | 618 | asm volatile ("pmove %%tt1,%0" |
620 | : /* no outputs */ | 619 | : "=m" (tlong)); |
621 | : "a" (&tlong)); | ||
622 | printk("tt1 is %#lx\n", tlong); | 620 | printk("tt1 is %#lx\n", tlong); |
623 | #endif | 621 | #endif |
624 | #ifdef DEBUG | 622 | #ifdef DEBUG |
@@ -668,13 +666,13 @@ static inline void bus_error030 (struct frame *fp) | |||
668 | 666 | ||
669 | #ifdef DEBUG | 667 | #ifdef DEBUG |
670 | asm volatile ("ptestr #1,%2@,#7,%0\n\t" | 668 | asm volatile ("ptestr #1,%2@,#7,%0\n\t" |
671 | "pmove %%psr,%1@" | 669 | "pmove %%psr,%1" |
672 | : "=a&" (desc) | 670 | : "=a&" (desc), "=m" (temp) |
673 | : "a" (&temp), "a" (addr)); | 671 | : "a" (addr)); |
674 | #else | 672 | #else |
675 | asm volatile ("ptestr #1,%1@,#7\n\t" | 673 | asm volatile ("ptestr #1,%1@,#7\n\t" |
676 | "pmove %%psr,%0@" | 674 | "pmove %%psr,%0" |
677 | : : "a" (&temp), "a" (addr)); | 675 | : "=m" (temp) : "a" (addr)); |
678 | #endif | 676 | #endif |
679 | mmusr = temp; | 677 | mmusr = temp; |
680 | 678 | ||