History log of /arch/parisc/include/asm/assembly.h
Revision Date Author Comments
61dbbaeb86c2181c79efae2d186193e0f8008af1 13-Oct-2013 Helge Deller <deller@gmx.de> parisc: provide macro to create exception table entries

Provide a macro ASM_EXCEPTIONTABLE_ENTRY() to create exception table
entries and convert all open-coded places to use that macro.

This patch is a first step toward creating a exception table which only
holds 32bit pointers even on a 64bit kernel. That way in my own kernel
I was able to reduce the in-kernel exception table from 44kB to 22kB.

Signed-off-by: Helge Deller <deller@gmx.de>
b63a2bbc0b9b106a93e11952ab057e2408f2eb02 20-May-2013 John David Anglin <dave.anglin@bell.net> parisc: make interrupt and interruption stack allocation reentrant

The get_stack_use_cr30 and get_stack_use_r30 macros allocate a stack
frame for external interrupts and interruptions requiring a stack frame.
They are currently not reentrant in that they save register context
before the stack is set or adjusted.

I have observed a number of system crashes where there was clear
evidence of stack corruption during interrupt processing, and as a
result register corruption. Some interruptions can still occur during
interruption processing, however external interrupts are disabled and
data TLB misses don't occur for absolute accesses. So, it's not entirely
clear what triggers this issue. Also, if an interruption occurs when
Q=0, it is generally not possible to recover as the shadowed registers
are not copied.

The attached patch reworks the get_stack_use_cr30 and get_stack_use_r30
macros to allocate stack before doing register saves. The new code is a
couple of instructions shorter than the old implementation. Thus, it's
an improvement even if it doesn't fully resolve the stack corruption
issue. Based on limited testing, it improves SMP system stability.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
c1da90fd099531e9449019dc53a5a02a5eaef2b4 26-Jan-2009 Helge Deller <deller@gmx.de> parisc: fix 64bit build

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
2cfeb9a6755d4d7be1026422b6aced48e3bad492 18-Jan-2009 Helge Deller <deller@gmx.de> parisc: add braces around arguments in assembler macros

Add braces around the macro arguments, else for example
"shl %r1, 5-3, %r2" would not expand to what you would assume.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Kyle McMartin <kyle@mcmartin.ca>
deae26bf6a10e47983606f5df080b91e97650ead 29-Jul-2008 Kyle McMartin <kyle@mcmartin.ca> parisc: move include/asm-parisc to arch/parisc/include/asm