[wip] start kernel API/ABI for syscalls
This commit is contained in:
parent
0dd7aeb44c
commit
f28c4a6440
|
@ -3,6 +3,11 @@
|
|||
* Copyright (c) Berkus Decker <berkus+vesper@metta.systems>
|
||||
*/
|
||||
|
||||
//! Syscall API for calling kernel functions.
|
||||
//!
|
||||
//! Arch-specific kernel ABI decodes syscall invocations and calls API functions to perform actual
|
||||
//! operations.
|
||||
|
||||
// Syscalls (kernel API)
|
||||
trait API {
|
||||
fn send(cap: Cap, msg_info: MessageInfo);
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
* SPDX-License-Identifier: BlueOak-1.0.0
|
||||
* Copyright (c) Berkus Decker <berkus+vesper@metta.systems>
|
||||
*/
|
||||
|
||||
//! Syscall ABI for calling kernel functions.
|
||||
//!
|
||||
//! Principally, there are two syscalls - one does not use capabilities, `Yield` and one is performing
|
||||
//! a capability invocation, `InvokeCapability`. However internally the invocation is dispatched to
|
||||
//! multiple available kernel functions, specific to each capability.
|
||||
|
||||
/// Parse syscall and invoke API functions.
|
||||
///
|
||||
/// Implements C ABI to easily parse passed in parameters.
|
||||
/// @todo Move this to aarch64-specific part.
|
||||
#[no_mangle]
|
||||
extern "C" pub(crate) syscall_entry() {}
|
Loading…
Reference in New Issue