Merge commit 'v2.6.37-rc2' into sched/core
[pandora-kernel.git] / arch / mn10300 / kernel / fpu-nofpu-low.S
1 /* MN10300 Low level FPU management operations
2  *
3  * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
4  * Written by David Howells (dhowells@redhat.com)
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public Licence
8  * as published by the Free Software Foundation; either version
9  * 2 of the Licence, or (at your option) any later version.
10  */
11 #include <linux/linkage.h>
12 #include <asm/cpu-regs.h>
13 #include <asm/smp.h>
14 #include <asm/thread_info.h>
15 #include <asm/asm-offsets.h>
16 #include <asm/frame.inc>
17
18 ###############################################################################
19 #
20 # void fpu_disabled(void)
21 # - handle an exception due to the FPU being disabled
22 #   when CONFIG_FPU is disabled
23 #
24 ###############################################################################
25         .type   fpu_disabled,@function
26         .globl  fpu_disabled
27 fpu_disabled:
28         add     -4,sp
29         SAVE_ALL
30         mov     -1,d0
31         mov     d0,(REG_ORIG_D0,fp)
32
33         and     ~EPSW_NMID,epsw
34
35         mov     fp,d0
36         call    unexpected_fpu_exception[],0
37         jmp     ret_from_exception
38
39         .size   fpu_disabled,.-fpu_disabled