Files
elibc/arch/generic/kcall.h
2026-07-07 20:35:07 +03:00

31 lines
799 B
C

#ifndef _ELIBC_KCALL_H
#define _ELIBC_KCALL_H
/* Elyz kernel-call abstraction.
*
* Elyz has NO syscall instruction. Communication with the kernel and PM
* actors happens through capability invocation — a mechanism defined by the
* kernel ABI (not finalised yet). This header describes the abstract
* interface; the arch-specific implementation (arch/<arch>/kcall.h) fills in
* the concrete mechanism.
*
* Current state: STUB — returns -ENOSYS until the Elyz kernel ABI is
* stabilised.
*/
#define ELYZ_OP_ALLOCATE 1
#define ELYZ_OP_FREE 2
#define ELYZ_OP_CARVE 3
#define ELYZ_OP_EXIT 4
struct elyz_kcall {
unsigned long opcode;
unsigned long arg1;
unsigned long arg2;
unsigned short channel_id;
};
long __kcall(struct elyz_kcall *msg);
#endif