[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>
|
* 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)
|
// Syscalls (kernel API)
|
||||||
trait API {
|
trait API {
|
||||||
fn send(cap: Cap, msg_info: MessageInfo);
|
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