diff options
author | Patrick Meyer <git@the-space.agency> | 2022-05-01 22:57:24 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-05-02 12:44:34 +0200 |
commit | 0bd131ad0603f8163c4cc0d4abf59e86bb397709 (patch) | |
tree | de9b04912f39e47fa8c4f5d278538b4df4640c62 /Kernel | |
parent | e02579bdab93671c86e68a9bbb8223db020bd987 (diff) | |
download | serenity-0bd131ad0603f8163c4cc0d4abf59e86bb397709.zip |
Kernel: Stop requiring working malloc for syscall.h includes
Fixes #13869
Diffstat (limited to 'Kernel')
-rw-r--r-- | Kernel/API/Syscall.h | 16 | ||||
-rw-r--r-- | Kernel/API/SyscallString.h | 32 |
2 files changed, 32 insertions, 16 deletions
diff --git a/Kernel/API/Syscall.h b/Kernel/API/Syscall.h index c4ce0cb7ca..a05f7be98d 100644 --- a/Kernel/API/Syscall.h +++ b/Kernel/API/Syscall.h @@ -6,7 +6,6 @@ #pragma once -#include <AK/StringView.h> #include <AK/Types.h> #include <AK/Userspace.h> @@ -201,21 +200,6 @@ enum Function { __Count }; -constexpr StringView to_string(Function function) -{ - switch (function) { -#undef __ENUMERATE_SYSCALL -#define __ENUMERATE_SYSCALL(sys_call, needs_lock) \ - case SC_##sys_call: \ - return #sys_call##sv; - ENUMERATE_SYSCALLS(__ENUMERATE_SYSCALL) -#undef __ENUMERATE_SYSCALL - default: - break; - } - return "Unknown"sv; -} - #ifdef __serenity__ struct StringArgument { char const* characters; diff --git a/Kernel/API/SyscallString.h b/Kernel/API/SyscallString.h new file mode 100644 index 0000000000..6b9df75e78 --- /dev/null +++ b/Kernel/API/SyscallString.h @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2018-2022, Andreas Kling <kling@serenityos.org> + * Copyright (c) 2022, Patrick Meyer <git@the-space.agency> + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include <AK/StringView.h> +#include <Kernel/API/Syscall.h> + +namespace Kernel::Syscall { + +// Separate header so syscall.h doesn't depend on malloc. +// https://github.com/SerenityOS/serenity/issues/13869 +constexpr StringView to_string(Function function) +{ + switch (function) { +#undef __ENUMERATE_SYSCALL +#define __ENUMERATE_SYSCALL(sys_call, needs_lock) \ + case SC_##sys_call: \ + return #sys_call##sv; + ENUMERATE_SYSCALLS(__ENUMERATE_SYSCALL) +#undef __ENUMERATE_SYSCALL + default: + break; + } + return "Unknown"sv; +} + +} |