Handout
This commit is contained in:
24
kernel/syscall/stub.h
Normal file
24
kernel/syscall/stub.h
Normal file
@@ -0,0 +1,24 @@
|
||||
#pragma once
|
||||
#include "types.h"
|
||||
|
||||
namespace Syscall {
|
||||
/*! \brief Syscall IDs
|
||||
* \note the syscall number must correspond to the values in the syscall stub!
|
||||
*/
|
||||
enum class ID : size_t {
|
||||
TEST = 0,
|
||||
};
|
||||
} // namespace Syscall
|
||||
|
||||
/// \brief Syscall stub
|
||||
extern "C" ssize_t sys_call(Syscall::ID id, size_t p1, size_t p2, size_t p3,
|
||||
size_t p4, size_t p5);
|
||||
extern "C" ssize_t sys_safe_call(Syscall::ID id, size_t p1, size_t p2,
|
||||
size_t p3, size_t p4, size_t p5);
|
||||
|
||||
// Interrupt based syscalls
|
||||
[[gnu::always_inline]] static inline ssize_t sys_test(size_t p1, size_t p2,
|
||||
size_t p3, size_t p4,
|
||||
size_t p5) {
|
||||
return sys_call(Syscall::ID::TEST, p1, p2, p3, p4, p5);
|
||||
}
|
||||
Reference in New Issue
Block a user