kernel.h (1045B)
1 /* Copyright 1998-1999, Brian J. Swetland. All rights reserved. 2 ** Distributed under the terms of the OpenBLT License 3 */ 4 5 #ifndef _KERNEL_H_ 6 #define _KERNEL_H_ 7 8 #include "types.h" 9 #include "i386.h" 10 #include "aspace.h" 11 #include "task.h" 12 #include "port.h" 13 #include "sem.h" 14 #include "team.h" 15 16 #include <blt/types.h> 17 #include <blt/error.h> 18 19 void panic(char *reason); 20 21 task_t *new_thread(team_t *team, uint32 ip, int kernel); 22 23 int brk(uint32 addr); 24 25 void destroy_kspace(void); 26 27 /* debugger functions */ 28 void kprintf_init(void); 29 void kprintf(const char *fmt, ...); 30 char *kgetline(char *line, int maxlen); 31 void krefresh(void); 32 33 #ifdef SERIAL 34 void dprintf_init(void); 35 void dprintf(const char *fmt, ...); 36 #endif 37 38 void preempt(task_t *t, int status); 39 void swtch(void); 40 extern char *idt, *gdt; 41 extern uint32 _cr3; 42 43 extern int kernel_timer; 44 45 extern task_t *current; 46 extern resource_t *run_queue; 47 extern resource_t *reaper_queue; 48 extern resource_t *timer_queue; 49 extern team_t *kernel_team; 50 51 void user_debug(regs *r, uint32 *eip, uint32 *eflags); 52 53 #endif