feat: added reaper and suicide support

This commit is contained in:
2021-08-06 22:00:00 +02:00
parent ee4338fedd
commit be71f9a7e9
7 changed files with 87 additions and 18 deletions

View File

@@ -11,6 +11,7 @@
// function
#define att_noreturn __attribute((noreturn))
#define att_cdecl __attribute((cdecl))
#define att_unused __attribute((unused))
// structure
#define att_packed __attribute((packed))
// field

View File

@@ -12,6 +12,7 @@
#define SYSCALL_YIELD_JOB 0x02
#define SYSCALL_YIELD_IRQ 0x03
#define SYSCALL_SUSPEND 0x04
#define SYSCALL_KILL_SELF 0x05
void att_noreturn syscall_start_scheduler();
@@ -21,4 +22,6 @@ void syscall_yield_irq(uint16_t irq);
void syscall_job_suspend();
void syscall_kill_self();
#endif //NEW_KERNEL_SYSCALL_H

View File

@@ -19,13 +19,13 @@ void task_start_first();
void task_switch_next();
uint32_t task_spawn(task_entrypoint, void *entry_data);
pid_t task_spawn(task_entrypoint, void *entry_data);
void task_end(uint32_t tid);
void task_end(pid_t tid);
void task_suspend();
uint32_t task_get_current_tid();
pid_t task_get_current_tid();
void task_signal(uint32_t tid);