summaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/head.S
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2008-11-20 22:27:12 +0100
committerTony Luck <tony.luck@intel.com>2008-11-20 22:27:12 +0100
commitb704882e70d87d7f56db5ff17e2253f3fa90e4f3 (patch)
treef5cc0f6d62b6b6a98e89ef50a3c77c89b847e393 /arch/ia64/kernel/head.S
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jba... (diff)
downloadlinux-b704882e70d87d7f56db5ff17e2253f3fa90e4f3.tar.xz
linux-b704882e70d87d7f56db5ff17e2253f3fa90e4f3.zip
[IA64] Rationalize kernel mode alignment checking
Itanium processors can handle some misaligned data accesses. They also provide a mode where all such accesses are forced to trap. The kernel was schizophrenic about use of this mode: * Base kernel code ran in permissive mode where the only traps generated were from those cases that the h/w could not handle. * Interrupt, syscall and trap code ran in strict mode where all unaligned accesses caused traps to the 0x5a00 unaligned reference vector. Use strict alignment checking throughout the kernel, but make sure that we continue to let user mode use more relaxed mode as the default. Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to '')
-rw-r--r--arch/ia64/kernel/head.S2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ia64/kernel/head.S b/arch/ia64/kernel/head.S
index 66e491d8baac..59301c472800 100644
--- a/arch/ia64/kernel/head.S
+++ b/arch/ia64/kernel/head.S
@@ -260,7 +260,7 @@ start_ap:
* Switch into virtual mode:
*/
movl r16=(IA64_PSR_IT|IA64_PSR_IC|IA64_PSR_DT|IA64_PSR_RT|IA64_PSR_DFH|IA64_PSR_BN \
- |IA64_PSR_DI)
+ |IA64_PSR_DI|IA64_PSR_AC)
;;
mov cr.ipsr=r16
movl r17=1f