diff --git a/src/system/libroot/os/arch/riscv64/syscalls.inc b/src/system/libroot/os/arch/riscv64/syscalls.inc new file mode 100644 index 0000000000..031585d2d7 --- /dev/null +++ b/src/system/libroot/os/arch/riscv64/syscalls.inc @@ -0,0 +1,33 @@ +/* +** Copyright 2001-2007, Travis Geiselbrecht. All rights reserved. +** Distributed under the terms of the MIT License. +*/ + +/* TODO actuall syscalls? */ +#define _SYSCALL(name, n) \ +.globl name; \ +.type name,%function; \ +.align 4; \ +name: + +#define SYSCALL0(name, n) _SYSCALL(name, n) +#define SYSCALL1(name, n) _SYSCALL(name, n) +#define SYSCALL2(name, n) _SYSCALL(name, n) +#define SYSCALL3(name, n) _SYSCALL(name, n) +#define SYSCALL4(name, n) _SYSCALL(name, n) +#define SYSCALL5(name, n) _SYSCALL(name, n) +#define SYSCALL6(name, n) _SYSCALL(name, n) +#define SYSCALL7(name, n) _SYSCALL(name, n) +#define SYSCALL8(name, n) _SYSCALL(name, n) +#define SYSCALL9(name, n) _SYSCALL(name, n) +#define SYSCALL10(name, n) _SYSCALL(name, n) +#define SYSCALL11(name, n) _SYSCALL(name, n) +#define SYSCALL12(name, n) _SYSCALL(name, n) +#define SYSCALL13(name, n) _SYSCALL(name, n) +#define SYSCALL14(name, n) _SYSCALL(name, n) +#define SYSCALL15(name, n) _SYSCALL(name, n) +#define SYSCALL16(name, n) _SYSCALL(name, n) +#define SYSCALL17(name, n) _SYSCALL(name, n) +#define SYSCALL18(name, n) _SYSCALL(name, n) +#define SYSCALL19(name, n) _SYSCALL(name, n) +#define SYSCALL20(name, n) _SYSCALL(name, n) diff --git a/src/system/libroot/os/syscalls.S b/src/system/libroot/os/syscalls.S index 2d773dda1e..4e4fb30593 100644 --- a/src/system/libroot/os/syscalls.S +++ b/src/system/libroot/os/syscalls.S @@ -1,29 +1,30 @@ -#ifdef ARCH_x86 +/* + * Copyright 2019, Haiku, Inc. All rights reserved. + * Distributed under the terms of the MIT License. + */ + +#if defined(ARCH_x86) # include "arch/x86/syscalls.inc" -#endif -#ifdef ARCH_x86_64 +#elif defined(ARCH_x86_64) # include "arch/x86_64/syscalls.inc" -#endif -#ifdef ARCH_alpha +#elif defined(ARCH_alpha) # include "arch/alpha/syscalls.inc" -#endif -#ifdef ARCH_sh4 +#elif defined(ARCH_sh4) # include "arch/sh4/syscalls.inc" -#endif -#ifdef ARCH_sparc +#elif defined(ARCH_sparc) # include "arch/sparc/syscalls.inc" -#endif -#ifdef ARCH_sparc64 +#elif defined(ARCH_sparc64) # include "arch/sparc64/syscalls.inc" -#endif -#ifdef ARCH_ppc +#elif defined(ARCH_ppc) # include "arch/ppc/syscalls.inc" -#endif -#ifdef ARCH_arm +#elif defined(ARCH_arm) # include "arch/arm/syscalls.inc" -#endif -#ifdef ARCH_m68k +#elif defined(ARCH_m68k) # include "arch/m68k/syscalls.inc" +#elif defined(ARCH_riscv64) +# include "arch/riscv64/syscalls.inc" +#else +#error No syscalls macros defined for this architecture! #endif /* include the auto-generated file syscalls file */