ardix/include/arch-generic/entry.h

31 lines
1,021 B
C
Raw Normal View History

/* See the end of this file for copyright, license, and warranty information. */
2021-01-04 15:40:16 +01:00
#pragma once
/**
2021-08-05 16:15:35 +02:00
* @brief Perform a syscall.
2021-01-04 15:40:16 +01:00
*
2021-08-05 16:15:35 +02:00
* This is called by the syscall exception handler. It is responsible for
* finishing the context switch, obtaining the syscall number and arguments,
* and invoking the respective system call. If the return value of this
* function is nonzero, the scheduler is invoked after the call and before
* returning to userspace.
2021-01-04 15:40:16 +01:00
*
2021-08-05 16:15:35 +02:00
* @param sp current stack pointer
* @returns Whether rescheduling is required
2021-01-04 15:40:16 +01:00
*/
2021-08-05 16:15:35 +02:00
int arch_enter(void *sp);
2021-01-04 15:40:16 +01:00
/*
* This file is part of Ardix.
* Copyright (c) 2020, 2021 Felix Kopp <owo@fef.moe>.
2021-01-04 15:40:16 +01:00
*
* Ardix is non-violent software: you may only use, redistribute,
* and/or modify it under the terms of the CNPLv6+ as found in
* the LICENSE file in the source code root directory or at
* <https://git.pixie.town/thufie/CNPL>.
2021-01-04 15:40:16 +01:00
*
* Ardix comes with ABSOLUTELY NO WARRANTY, to the extent
* permitted by applicable law. See the CNPLv6+ for details.
2021-01-04 15:40:16 +01:00
*/