Prepare for op.c removal and zero legacy ops
[qemu/mini2440.git] / target-sparc / op.c
blobcc4aa14acbc5e7454381859eb450cd52edd3b31d
1 /*
2 SPARC micro operations
4 Copyright (C) 2003 Thomas M. Ogrisegg <tom@fnord.at>
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with this library; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #include "exec.h"
22 #include "helper.h"
24 /* Load and store */
25 #define MEMSUFFIX _raw
26 #include "op_mem.h"
27 #if !defined(CONFIG_USER_ONLY)
28 #define MEMSUFFIX _user
29 #include "op_mem.h"
31 #define MEMSUFFIX _kernel
32 #include "op_mem.h"
34 #ifdef TARGET_SPARC64
35 #define MEMSUFFIX _hypv
36 #include "op_mem.h"
37 #endif
38 #endif
40 #define CHECK_ALIGN_OP(align) \
41 void OPPROTO op_check_align_T0_ ## align (void) \
42 { \
43 if (T0 & align) \
44 raise_exception(TT_UNALIGNED); \
45 FORCE_RET(); \
48 CHECK_ALIGN_OP(1)
49 CHECK_ALIGN_OP(3)
50 CHECK_ALIGN_OP(7)