summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/fs.c1
-rw-r--r--kernel/console.c2
-rw-r--r--kernel/kernel.c2
-rw-r--r--kernel/syscalls.c2
-rw-r--r--kernel/vmem.c12
-rw-r--r--kernel/x86.c1
-rw-r--r--lib/bool/bool.h8
-rw-r--r--lib/int/stdint.h5
-rw-r--r--lib/logger/log.c1
-rw-r--r--lib/string/string.h2
-rw-r--r--video/vesa.c1
11 files changed, 13 insertions, 24 deletions
diff --git a/fs/fs.c b/fs/fs.c
index 8052d5f..1373afb 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -1,5 +1,4 @@
// abstraction layer for filesystems
-#include <lib/int/stdint.h>
#include "fs.h"
#include "ext2.h"
diff --git a/kernel/console.c b/kernel/console.c
index f363d9e..b815c24 100644
--- a/kernel/console.c
+++ b/kernel/console.c
@@ -34,7 +34,7 @@ void console_put_str_red(char *s){scr_put_string(s,SCR_RED);}
#include "video/vesa.h"
-void console_init(){
+uint32_t console_init(){
int inode_nr=ext2_filename_to_inode(EXT2_RAM_ADDRESS,"/binfont.bin");
if(inode_nr!=-1)ext2_inode_content(EXT2_RAM_ADDRESS,inode_nr,0x1300000,0xffff); // load font;
diff --git a/kernel/kernel.c b/kernel/kernel.c
index 19c9611..401204a 100644
--- a/kernel/kernel.c
+++ b/kernel/kernel.c
@@ -49,7 +49,7 @@ void kernel_main(uint32_t initial_stack, int mp)
//
// Activate Virtual Memory (paging)
- pdirectory *dir=vmem_init();
+ pdirectory *dir=vmem_init(physbase);
// log buffered messages to console
diff --git a/kernel/syscalls.c b/kernel/syscalls.c
index e43c509..63c3ce5 100644
--- a/kernel/syscalls.c
+++ b/kernel/syscalls.c
@@ -2,12 +2,12 @@
#include "lib/buffer/ringbuffer.h"
#include "lib/logger/log.h"
-#include "lib/bool/bool.h"
#include "fs/fs.h"
#include "fs/ext2.h"
#include "kernel/console.h"
#include "kernel/config.h"
#include <sys/stat.h>
+#include <stdbool.h>
int syscall_unhandled(int nr)
diff --git a/kernel/vmem.c b/kernel/vmem.c
index 24a2f92..c2892c7 100644
--- a/kernel/vmem.c
+++ b/kernel/vmem.c
@@ -9,6 +9,8 @@
#include "lib/logger/log.h" // logger facilities
#define FOOLOS_MODULE_NAME "vmem"
+static uint32_t phys;
+
// TODO : why is the frame not 0xfffff??
enum PAGE_PTE_FLAGS
{
@@ -293,8 +295,10 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir)
virt_addr+=1024*4096;
}
- phys_addr=0xFc000000;
- virt_addr=0xFc000000;
+ if(phys!=0)
+ {
+ phys_addr=phys;
+ virt_addr=phys;
// vesa
for(int j=0;j<5;j++)
{
@@ -340,6 +344,7 @@ pdirectory* vmem_new_space_dir(pdirectory *copy_dir)
phys_addr+=1024*4096;
virt_addr+=1024*4096;
}
+ }
// programm space
virt_addr=0x8000000;
@@ -468,8 +473,9 @@ void vmem_set_dir(pdirectory *dir)
-pdirectory* vmem_init()
+pdirectory* vmem_init(uint32_t physbase)
{
+ phys=physbase;
log(FOOLOS_MODULE_NAME,FOOLOS_LOG_INFO,"init paging");
pdirectory *dir=vmem_new_space_dir(0);
vmem_set_dir(dir);
diff --git a/kernel/x86.c b/kernel/x86.c
index 4163481..fdfb638 100644
--- a/kernel/x86.c
+++ b/kernel/x86.c
@@ -2,7 +2,6 @@
#include "x86.h"
#include "timer.h"
-#include "lib/int/stdint.h"
#include "lib/logger/log.h"
//
diff --git a/lib/bool/bool.h b/lib/bool/bool.h
deleted file mode 100644
index c2c6171..0000000
--- a/lib/bool/bool.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
-#include "lib/int/stdint.h"
-
-#define false 0
-#define true !false
-#define bool uint8_t
-*/
-
diff --git a/lib/int/stdint.h b/lib/int/stdint.h
deleted file mode 100644
index f2b975f..0000000
--- a/lib/int/stdint.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/*
-#include <stdint.h>
-*/
-
-
diff --git a/lib/logger/log.c b/lib/logger/log.c
index 7d7bc58..9f859bc 100644
--- a/lib/logger/log.c
+++ b/lib/logger/log.c
@@ -7,7 +7,6 @@
#include "kernel/config.h"
#include "kernel/console.h"
#include "lib/printf/printf.h"
-#include "lib/int/stdint.h"
#include "kernel/timer.h"
diff --git a/lib/string/string.h b/lib/string/string.h
index 5caf0c2..a804de9 100644
--- a/lib/string/string.h
+++ b/lib/string/string.h
@@ -1,3 +1,3 @@
-#include "lib/bool/bool.h"
+#include <stdbool.h>
bool strcmp(char *str1, char *str2, int length);
void* memcpy(void* restrict dstptr, const void* restrict srcptr, int size);
diff --git a/video/vesa.c b/video/vesa.c
index 8952f81..a5ee4e5 100644
--- a/video/vesa.c
+++ b/video/vesa.c
@@ -4,7 +4,6 @@
#include "vesa.h"
#include "lib/logger/log.h" // logger facilities
-#include "lib/int/stdint.h"
#include "lib/printf/printf.h"
#define FOOLOS_MODULE_NAME "vesa"