Removed autodocs of arch specific variants of ROM modules.
[AROS.git] / arch / m68k-all / exec / copymem.c
blob161db9747892860cdbef2d17c89138d077e6a713
1 /*
2 Copyright © 1995-2013, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: CopyMem()
6 Lang: english
7 */
9 #include <exec/types.h>
10 #include <exec/execbase.h>
11 #include <proto/exec.h>
12 #include <aros/libcall.h>
14 extern void AROS_SLIB_ENTRY(CopyMem_000,Exec,104)(void);
15 extern void AROS_SLIB_ENTRY(CopyMem_020,Exec,104)(void);
17 /* See rom/kernel/copymem.c for documentation */
19 AROS_LH3I(void, CopyMem,
20 AROS_LHA(CONST_APTR, source, A0),
21 AROS_LHA(APTR, dest, A1),
22 AROS_LHA(IPTR, size, D0),
23 struct ExecBase *, SysBase, 104, Exec)
25 AROS_LIBFUNC_INIT
26 void (*func)(void);
28 Disable();
29 if (SysBase->AttnFlags & AFF_68020) {
30 /* 68020+ */
31 func = AROS_SLIB_ENTRY(CopyMem_020, Exec, 104);
32 } else {
33 /* 68000/68010 */
34 func = AROS_SLIB_ENTRY(CopyMem_000, Exec, 104);
36 SetFunction((struct Library *)SysBase, -LIB_VECTSIZE * 104, func);
37 Enable();
39 return CopyMem(source, dest, size);
41 AROS_LIBFUNC_EXIT
42 } /* CopyMem */