[wip] start kernel API/ABI for syscalls

This commit is contained in:
Berkus Decker 2020-12-29 16:18:53 +02:00
parent 0dd7aeb44c
commit f28c4a6440
2 changed files with 22 additions and 0 deletions

View File

@ -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);

View File

@ -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() {}