openblt

a hobby OS from the late 90s
git clone http://frotz.net/git/openblt.git
Log | Files | Refs | LICENSE

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