summaryrefslogblamecommitdiff
path: root/src/kernel/core/sys.h
blob: f429b445df45c1c30ef1caf3d9d986b0e7d35c48 (plain) (tree)
1
2
3
4
5
6
7
8
9
10









                                         

                            
                                              
                                                                     
                                                
                                                         
 



                                                                                               
 
      
#ifndef DEF_SYS_H
#define DEF_SYS_H

#include "types.h"

void outb(uint16_t port, uint8_t value);
void outw(uint16_t port, uint16_t value);
uint8_t inb(uint16_t port);
uint16_t inw(uint16_t port);

void stack_trace(size_t bp);

#define PANIC(s) panic(s, __FILE__, __LINE__);
#define ASSERT(s) { if (!(s)) panic_assert(#s, __FILE__, __LINE__); }
void panic(char* message, char* file, int line);
void panic_assert(char* assertion, char* file, int line);

/*	For some actions, we use cli and sti as a global system mutex.
	These actions include : system initialization, process creation, interrupt handling. */
void cli();	//lock
void sti();	//unlock

#endif