1
linux/arch/mn10300/include/asm
Richard Henderson 5a4b65ab50 MN10300: gcc 4.6 vs am33 inline assembly
GCC 4.6 explicitly represents the MDR register.  It may be accessed
via the "z" constraint.  Perhaps more importantly, it tracks when
the MDR register is clobbered and uses the RETF instruction if the
incoming value is still valid.

Thus it is important to (at least) clobber the MDR register in
relevant inline assembly fragments, lest RETF be used incorrectly.

The only instances I could find are here.  There are reads of the
MDR register in kernel/gdb-stub.c, but that's harmless.  Although,
frankly, __builtin_return_address(0) might be a better thing in
those cases.  Certainly MDR isn't going to contain anything else
that might be useful...

Signed-off-by: Richard Henderson  <rth@redhat.com>
Signed-off-by: David Howells <dhowells@redhat.com>
2011-03-23 17:42:49 +00:00
..
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
atomic.h MN10300: atomic_read() should ensure it emits a load 2011-03-14 14:51:25 +00:00
auxvec.h
bitops.h MN10300: Don't cast away the volatile in test_bit() 2010-10-27 17:28:36 +01:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bug.h MN10300: Stop gcc from generating uninitialised variable warnings after BUG() 2009-04-15 13:55:13 -07:00
bugs.h
busctl-regs.h
byteorder.h
cache.h MN10300: Don't hard code the cacheline size in register defs 2010-10-27 17:28:39 +01:00
cacheflush.h MN10300: Allow some cacheflushes to be avoided if cache snooping is available 2010-10-27 17:28:46 +01:00
checksum.h
cpu-regs.h MN10300: Use the [ID]PTEL2 registers rather than [ID]PTEL for TLB control 2010-10-27 17:28:50 +01:00
cputime.h
current.h
debugger.h MN10300: Create generic kernel debugger hooks 2011-03-18 16:54:30 +00:00
delay.h
device.h
div64.h MN10300: gcc 4.6 vs am33 inline assembly 2011-03-23 17:42:49 +00:00
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma.h
dmactl-regs.h MN10300: Move DMA engine control reg defs to MN103E010 processor directory 2010-10-27 17:28:39 +01:00
elf.h MN10300: Specify an ELF HWCAP flag for MN10300 Atomic Operations Unit support 2010-10-27 17:28:56 +01:00
emergency-restart.h
errno.h
exceptions.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
fb.h
fcntl.h
fpu.h MN10300: Create generic kernel debugger hooks 2011-03-18 16:54:30 +00:00
frame.inc MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
ftrace.h
futex.h
gdb-stub.h MN10300: Provide a MN10300_CACHE_ENABLED config option 2010-10-27 17:28:42 +01:00
hardirq.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
highmem.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-mn10300 2010-10-27 18:53:26 -07:00
hw_irq.h
intctl-regs.h MN10300: Remove unused mn10300_intc_* functions 2011-03-18 16:52:51 +00:00
io.h MN10300: Add reads[bwl]() and writes[bwl]() 2010-10-27 17:28:37 +01:00
ioctl.h
ioctls.h ioctl: Use asm-generic/ioctls.h on mn10300 (enables termiox) 2010-10-22 10:20:01 -07:00
ipc.h
ipcbuf.h
irq_regs.h MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
irq.h MN10300: ASB2364: Handle the IRQ multiplexer in the FPGA 2010-10-27 17:28:58 +01:00
irqflags.h MN10300: Create generic kernel debugger hooks 2011-03-18 16:54:30 +00:00
Kbuild
kdebug.h
kgdb.h MN10300: Use KGDB 2011-03-18 16:54:31 +00:00
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kprobes.h
linkage.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h
mc146818rtc.h
mman.h arch_mmap_check() on mn10300 2009-12-11 06:34:10 -05:00
mmu_context.h MN10300: SMP TLB flushing 2010-10-27 17:28:51 +01:00
mmu.h
module.h
msgbuf.h
mutex.h
nmi.h
page_offset.h
page.h
param.h
pci.h PCI: remove pcibios_scan_all_fns() 2009-09-09 13:29:18 -07:00
percpu.h
pgalloc.h MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
pgtable.h MN10300: Map userspace atomic op regs as a vmalloc page 2010-10-27 17:28:56 +01:00
pio-regs.h
poll.h
posix_types.h MN10300: Fix size_t and ssize_t 2010-08-12 09:51:35 -07:00
processor.h MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
ptrace.h MN10300: Save frame pointer in thread_info struct rather than global var 2010-10-27 17:29:01 +01:00
reset-regs.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
resource.h
rtc-regs.h
rtc.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
rwlock.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
sections.h
sembuf.h
serial-regs.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
serial.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
setup.h headers_check fix: mn10300, setup.h 2009-06-14 11:51:12 +05:30
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h MN10300: Fix SIGRTMAX 2010-09-23 10:20:57 -07:00
smp.h MN10300: Use KGDB 2011-03-18 16:54:31 +00:00
smsc911x.h MN10300: ASB2364: Add support for SMSC911X and SMC911X 2010-10-27 17:28:58 +01:00
socket.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
sockios.h
spinlock_types.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
spinlock.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
stat.h
statfs.h
string.h
swab.h
syscall.h MN10300: Implement asm/syscall.h 2010-12-03 09:18:53 -08:00
system.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h
thread_info.h MN10300: Emulate single stepping in KGDB on MN10300 2011-03-18 16:54:32 +00:00
timer-regs.h MN10300: And Panasonic AM34 subarch and implement SMP 2010-10-27 17:28:55 +01:00
timex.h MN10300: Generic time support 2010-10-27 17:28:57 +01:00
tlb.h
tlbflush.h MN10300: SMP TLB flushing 2010-10-27 17:28:51 +01:00
topology.h
types.h
uaccess.h MN10300: Proper use of macros get_user() in the case of incremented pointers 2011-03-14 14:44:30 +00:00
ucontext.h
unaligned.h
unistd.h Add generic sys_ipc wrapper 2010-03-12 15:52:32 -08:00
user.h
vga.h
xor.h