diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2009-10-12 16:32:43 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-10-13 09:22:01 +0200 |
commit | 71999d9862e667f1fd14f8fbfa0cce6d855bad3f (patch) | |
tree | b228a66c29154a446dc3adaf6f0dae8ee4b908d3 /arch/arm/mach-bcmring/core.c | |
parent | d1705c558c95418378b11a0be963fe1b3e2fa381 (diff) | |
download | blackbird-obmc-linux-71999d9862e667f1fd14f8fbfa0cce6d855bad3f.tar.gz blackbird-obmc-linux-71999d9862e667f1fd14f8fbfa0cce6d855bad3f.zip |
x86/paravirt: Use normal calling sequences for irq enable/disable
Bastian Blank reported a boot crash with stackprotector enabled,
and debugged it back to edx register corruption.
For historical reasons irq enable/disable/save/restore had special
calling sequences to make them more efficient. With the more
recent introduction of higher-level and more general optimisations
this is no longer necessary so we can just use the normal PVOP_
macros.
This fixes some residual bugs in the old implementations which left
edx liable to inadvertent clobbering. Also, fix some bugs in
__PVOP_VCALLEESAVE which were revealed by actual use.
Reported-by: Bastian Blank <bastian@waldi.eu.org>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Stable Kernel <stable@kernel.org>
Cc: Xen-devel <xen-devel@lists.xensource.com>
LKML-Reference: <4AD3BC9B.7040501@goop.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/arm/mach-bcmring/core.c')
0 files changed, 0 insertions, 0 deletions