summaryrefslogtreecommitdiff
path: root/src/stem
diff options
context:
space:
mode:
Diffstat (limited to 'src/stem')
-rw-r--r--src/stem/Makefile12
-rw-r--r--src/stem/core/kmain.c (renamed from src/stem/kmain.c)14
-rw-r--r--src/stem/core/loader_.asm (renamed from src/stem/loader_.asm)0
-rw-r--r--src/stem/core/monitor.c (renamed from src/stem/monitor.c)0
-rw-r--r--src/stem/core/monitor.h (renamed from src/stem/monitor.h)0
-rw-r--r--src/stem/core/multiboot.h (renamed from src/stem/multiboot.h)0
-rw-r--r--src/stem/core/sys.c (renamed from src/stem/sys.c)0
-rw-r--r--src/stem/core/sys.h (renamed from src/stem/sys.h)0
-rw-r--r--src/stem/lib/bitset.h2
-rw-r--r--src/stem/lib/stdlib.h2
-rw-r--r--src/stem/lib/types.h (renamed from src/stem/types.h)0
-rw-r--r--src/stem/mem/gdt.c (renamed from src/stem/gdt.c)4
-rw-r--r--src/stem/mem/gdt.h (renamed from src/stem/gdt.h)2
-rw-r--r--src/stem/mem/heap.c (renamed from src/stem/heap.c)0
-rw-r--r--src/stem/mem/heap.h (renamed from src/stem/heap.h)0
-rw-r--r--src/stem/mem/mem.c (renamed from src/stem/mem.c)4
-rw-r--r--src/stem/mem/mem.h (renamed from src/stem/mem.h)2
-rw-r--r--src/stem/mem/paging.c (renamed from src/stem/paging.c)8
-rw-r--r--src/stem/mem/paging.h (renamed from src/stem/paging.h)4
-rw-r--r--src/stem/stem.map274
-rw-r--r--src/stem/task/idt.c (renamed from src/stem/idt.c)8
-rw-r--r--src/stem/task/idt.h (renamed from src/stem/idt.h)2
-rw-r--r--src/stem/task/idt_.asm (renamed from src/stem/idt_.asm)0
-rw-r--r--src/stem/task/task.c (renamed from src/stem/task.c)6
-rw-r--r--src/stem/task/task.h (renamed from src/stem/task.h)4
-rw-r--r--src/stem/task/task_.asm (renamed from src/stem/task_.asm)0
-rw-r--r--src/stem/task/timer.c (renamed from src/stem/timer.c)4
-rw-r--r--src/stem/task/timer.h (renamed from src/stem/timer.h)2
28 files changed, 180 insertions, 174 deletions
diff --git a/src/stem/Makefile b/src/stem/Makefile
index d7af245..db9ba9f 100644
--- a/src/stem/Makefile
+++ b/src/stem/Makefile
@@ -1,6 +1,6 @@
CC = gcc
-CFLAGS = -nostdlib -nostartfiles -nodefaultlibs -fno-builtin -fno-stack-protector -Wall -Wextra
+CFLAGS = -nostdlib -nostartfiles -nodefaultlibs -fno-builtin -fno-stack-protector -Wall -Wextra -I . -I ./lib
LD = ld
LDFLAGS = -T link.ld
@@ -8,11 +8,11 @@ LDFLAGS = -T link.ld
ASM = nasm
AFLAGS = -f elf
-OBJECTS = loader_.o kmain.o sys.o \
- monitor.o timer.o \
- idt.o idt_.o task.o task_.o\
+OBJECTS = core/loader_.o core/kmain.o core/sys.o \
+ core/monitor.o task/timer.o \
+ task/idt.o task/idt_.o task/task.o task/task_.o\
lib/stdlib.o lib/bitset.o \
- mem.o paging.o gdt.o heap.o
+ mem/mem.o mem/paging.o mem/gdt.o mem/heap.o
OUT = stem.elf
all: $(OBJECTS)
@@ -20,8 +20,8 @@ all: $(OBJECTS)
$(LD) $(LDFLAGS) $(OBJECTS) -o $(OUT) -Map stem.map
clean:
- rm *.o || exit 0
rm $(OBJECTS) || exit 0
+ rm *.o */*.o || exit 0
mrproper: clean
rm $(OUT) || exit 0
diff --git a/src/stem/kmain.c b/src/stem/core/kmain.c
index 6fab4ed..dbec8bd 100644
--- a/src/stem/kmain.c
+++ b/src/stem/core/kmain.c
@@ -1,13 +1,13 @@
-#include "types.h"
+#include <types.h>
#include "multiboot.h"
#include "monitor.h"
-#include "idt.h"
-#include "gdt.h"
-#include "paging.h"
-#include "mem.h"
#include "sys.h"
-#include "timer.h"
-#include "task.h"
+#include <task/idt.h>
+#include <task/timer.h>
+#include <task/task.h>
+#include <mem/gdt.h>
+#include <mem/paging.h>
+#include <mem/mem.h>
void kmain_othertask(void *data) {
while(1) monitor_write("2task ");
diff --git a/src/stem/loader_.asm b/src/stem/core/loader_.asm
index e1031b4..e1031b4 100644
--- a/src/stem/loader_.asm
+++ b/src/stem/core/loader_.asm
diff --git a/src/stem/monitor.c b/src/stem/core/monitor.c
index 8c4744a..8c4744a 100644
--- a/src/stem/monitor.c
+++ b/src/stem/core/monitor.c
diff --git a/src/stem/monitor.h b/src/stem/core/monitor.h
index 3abe072..3abe072 100644
--- a/src/stem/monitor.h
+++ b/src/stem/core/monitor.h
diff --git a/src/stem/multiboot.h b/src/stem/core/multiboot.h
index 908274c..908274c 100644
--- a/src/stem/multiboot.h
+++ b/src/stem/core/multiboot.h
diff --git a/src/stem/sys.c b/src/stem/core/sys.c
index 71d1c31..71d1c31 100644
--- a/src/stem/sys.c
+++ b/src/stem/core/sys.c
diff --git a/src/stem/sys.h b/src/stem/core/sys.h
index 76e3560..76e3560 100644
--- a/src/stem/sys.h
+++ b/src/stem/core/sys.h
diff --git a/src/stem/lib/bitset.h b/src/stem/lib/bitset.h
index e3fe078..fe9e8c2 100644
--- a/src/stem/lib/bitset.h
+++ b/src/stem/lib/bitset.h
@@ -1,7 +1,7 @@
#ifndef DEF_BITSET_H
#define DEF_BITSET_H
-#include "../types.h"
+#include <types.h>
#define INDEX_FROM_BIT(a) (a/(8*4))
#define OFFSET_FROM_BIT(a) (a%(8*4))
diff --git a/src/stem/lib/stdlib.h b/src/stem/lib/stdlib.h
index a6d8f48..704c410 100644
--- a/src/stem/lib/stdlib.h
+++ b/src/stem/lib/stdlib.h
@@ -1,7 +1,7 @@
#ifndef DEF_STDLIB_H
#define DEF_STDLIB_H
-#include "../types.h"
+#include <types.h>
void *memcpy(void *dest, const void *src, int count);
uint8_t *memset(uint8_t *dest, uint8_t val, int count);
diff --git a/src/stem/types.h b/src/stem/lib/types.h
index b7b19ab..b7b19ab 100644
--- a/src/stem/types.h
+++ b/src/stem/lib/types.h
diff --git a/src/stem/gdt.c b/src/stem/mem/gdt.c
index 00a42ca..5aaad41 100644
--- a/src/stem/gdt.c
+++ b/src/stem/mem/gdt.c
@@ -1,6 +1,6 @@
#include "gdt.h"
-#include "lib/stdlib.h"
-#include "monitor.h"
+#include <stdlib.h>
+#include <core/monitor.h>
extern void gdt_flush(uint32_t); //ASM (idt_.asm)
diff --git a/src/stem/gdt.h b/src/stem/mem/gdt.h
index 5a3f7b2..aac16bb 100644
--- a/src/stem/gdt.h
+++ b/src/stem/mem/gdt.h
@@ -1,7 +1,7 @@
#ifndef DEF_GDT_H
#define DEF_GDT_H
-#include "types.h"
+#include <types.h>
struct gdt_entry {
uint16_t limit_low;
diff --git a/src/stem/heap.c b/src/stem/mem/heap.c
index b6d2cd4..b6d2cd4 100644
--- a/src/stem/heap.c
+++ b/src/stem/mem/heap.c
diff --git a/src/stem/heap.h b/src/stem/mem/heap.h
index 39ba37e..39ba37e 100644
--- a/src/stem/heap.h
+++ b/src/stem/mem/heap.h
diff --git a/src/stem/mem.c b/src/stem/mem/mem.c
index babe079..02b3ac5 100644
--- a/src/stem/mem.c
+++ b/src/stem/mem/mem.c
@@ -1,8 +1,8 @@
#include "mem.h"
-#include "sys.h"
+#include <core/sys.h>
+#include <core/monitor.h>
#include "paging.h"
#include "heap.h"
-#include "monitor.h"
#define FREEPAGESTOKEEP 5
diff --git a/src/stem/mem.h b/src/stem/mem/mem.h
index 1dcf463..5417d5f 100644
--- a/src/stem/mem.h
+++ b/src/stem/mem/mem.h
@@ -1,7 +1,7 @@
#ifndef DEF_MEM_H
#define DEF_MEM_H
-#include "types.h"
+#include <types.h>
void* kmalloc_page(size_t *phys);
void kfree_page(void* page);
diff --git a/src/stem/paging.c b/src/stem/mem/paging.c
index bf3d8c4..5ce3aae 100644
--- a/src/stem/paging.c
+++ b/src/stem/mem/paging.c
@@ -1,9 +1,9 @@
#include "paging.h"
-#include "lib/bitset.h"
-#include "lib/stdlib.h"
-#include "monitor.h"
+#include <bitset.h>
+#include <stdlib.h>
+#include <core/monitor.h>
#include "mem.h"
-#include "sys.h"
+#include <core/sys.h>
static struct bitset frames;
diff --git a/src/stem/paging.h b/src/stem/mem/paging.h
index 87ba183..72078cf 100644
--- a/src/stem/paging.h
+++ b/src/stem/mem/paging.h
@@ -1,8 +1,8 @@
#ifndef DEF_PAGING_H
#define DEF_PAGING_H
-#include "types.h"
-#include "idt.h"
+#include <types.h>
+#include <task/idt.h>
struct page {
uint32_t present : 1; //Page mapped to a frame ?
diff --git a/src/stem/stem.map b/src/stem/stem.map
index 5967f1a..46fc7b6 100644
--- a/src/stem/stem.map
+++ b/src/stem/stem.map
@@ -2,11 +2,11 @@
Allocating common symbols
Common symbol size file
-idt_ptr 0x6 idt.o
-mem_placementAddr 0x4 mem.o
-idt_entries 0x800 idt.o
-current_pagedir 0x4 paging.o
-kernel_pagedir 0x4 paging.o
+idt_ptr 0x6 task/idt.o
+mem_placementAddr 0x4 mem/mem.o
+idt_entries 0x800 task/idt.o
+current_pagedir 0x4 mem/paging.o
+kernel_pagedir 0x4 mem/paging.o
Memory Configuration
@@ -19,20 +19,20 @@ Linker script and memory map
.setup 0x00100000 0x3a
*(.setup)
- .setup 0x00100000 0x3a loader_.o
+ .setup 0x00100000 0x3a core/loader_.o
0x00100000 loader
0xe010003a . = (. + 0xe0000000)
-.text 0xe0100040 0x29b8 load address 0x00100040
+.text 0xe0100040 0x2928 load address 0x00100040
*(.text)
- .text 0xe0100040 0x25 loader_.o
+ .text 0xe0100040 0x25 core/loader_.o
*fill* 0xe0100065 0x3 00
- .text 0xe0100068 0xef kmain.o
+ .text 0xe0100068 0xef core/kmain.o
0xe0100068 kmain_othertask
0xe010007c kmain_stage2
0xe01000b4 kmain
*fill* 0xe0100157 0x1 00
- .text 0xe0100158 0xed sys.o
+ .text 0xe0100158 0xed core/sys.o
0xe0100158 outb
0xe0100176 outw
0xe0100196 inb
@@ -41,23 +41,23 @@ Linker script and memory map
0xe0100216 cli
0xe0100229 sti
*fill* 0xe0100245 0x3 00
- .text 0xe0100248 0x310 monitor.o
+ .text 0xe0100248 0x310 core/monitor.o
0xe0100359 monitor_put
0xe0100465 monitor_clear
0xe01004c2 monitor_write
0xe01004eb monitor_writeHex
- .text 0xe0100558 0x104 timer.o
+ .text 0xe0100558 0x104 task/timer.o
0xe0100558 timer_callback
0xe0100590 timer_uptime
0xe010059a timer_time
0xe01005d1 timer_init
- .text 0xe010065c 0x9bb idt.o
+ .text 0xe010065c 0x9bb task/idt.o
0xe010065c idt_isrHandler
0xe01006f4 idt_irqHandler
0xe01007fc idt_init
0xe0101005 idt_handleIrq
*fill* 0xe0101017 0x9 00
- .text 0xe0101020 0x259 idt_.o
+ .text 0xe0101020 0x259 task/idt_.o
0xe0101020 gdt_flush
0xe010103d idt_flush
0xe01010a5 isr0
@@ -109,178 +109,184 @@ Linker script and memory map
0xe0101265 irq14
0xe010126f irq15
*fill* 0xe0101279 0x3 00
- .text 0xe010127c 0x2e8 task.o
+ .text 0xe010127c 0x2e8 task/task.o
0xe010127c tasking_init
0xe010136f tasking_switch
0xe0101401 tasking_handleException
0xe0101481 thread_new
*fill* 0xe0101564 0xc 00
- .text 0xe0101570 0xa task_.o
+ .text 0xe0101570 0xa task/task_.o
0xe0101570 read_eip
0xe0101573 task_idle
- *fill* 0xe010157a 0x6 00
- .text 0xe0101580 0x128 lib/stdlib.o
- 0xe0101580 memcpy
- 0xe01015de memset
- 0xe0101621 memsetw
- 0xe0101670 strlen
- *fill* 0xe01016a8 0x18 00
- .text 0xe01016c0 0x189 lib/bitset.o
- 0xe01016c0 bitset_set
- 0xe0101700 bitset_clear
- 0xe0101743 bitset_test
- 0xe0101788 bitset_firstFree
- *fill* 0xe0101849 0x3 00
- .text 0xe010184c 0x29f mem.o
- 0xe01019b2 kmalloc_page
- 0xe01019f9 kfree_page
- 0xe0101a34 kheap_init
- 0xe0101a89 kmalloc
- 0xe0101ac7 kfree
- *fill* 0xe0101aeb 0x1 00
- .text 0xe0101aec 0x513 paging.o
- 0xe0101aec frame_alloc
- 0xe0101b19 frame_free
- 0xe0101b34 paging_init
- 0xe0101ccc paging_cleanup
- 0xe0101d27 pagedir_switch
- 0xe0101d56 paging_fault
- 0xe0101e31 pagedir_getPage
- 0xe0101f10 page_map
- 0xe0101f98 page_unmap
- 0xe0101fbb page_unmapFree
- *fill* 0xe0101fff 0x1 00
- .text 0xe0102000 0x19f gdt.o
- 0xe010208f gdt_init
- *fill* 0xe010219f 0x1 00
- .text 0xe01021a0 0x858 heap.o
- 0xe0102330 heap_create
- 0xe0102703 heap_alloc
- 0xe0102864 heap_free
+ *fill* 0xe010157a 0x2 00
+ .text 0xe010157c 0xca lib/stdlib.o
+ 0xe010157c memcpy
+ 0xe01015b9 memset
+ 0xe01015e8 memsetw
+ 0xe010161e strlen
+ *fill* 0xe0101646 0x2 00
+ .text 0xe0101648 0x173 lib/bitset.o
+ 0xe0101648 bitset_set
+ 0xe010169c bitset_clear
+ 0xe01016f2 bitset_test
+ 0xe0101734 bitset_firstFree
+ *fill* 0xe01017bb 0x1 00
+ .text 0xe01017bc 0x29f mem/mem.o
+ 0xe0101922 kmalloc_page
+ 0xe0101969 kfree_page
+ 0xe01019a4 kheap_init
+ 0xe01019f9 kmalloc
+ 0xe0101a37 kfree
+ *fill* 0xe0101a5b 0x1 00
+ .text 0xe0101a5c 0x513 mem/paging.o
+ 0xe0101a5c frame_alloc
+ 0xe0101a89 frame_free
+ 0xe0101aa4 paging_init
+ 0xe0101c3c paging_cleanup
+ 0xe0101c97 pagedir_switch
+ 0xe0101cc6 paging_fault
+ 0xe0101da1 pagedir_getPage
+ 0xe0101e80 page_map
+ 0xe0101f08 page_unmap
+ 0xe0101f2b page_unmapFree
+ *fill* 0xe0101f6f 0x1 00
+ .text 0xe0101f70 0x19f mem/gdt.o
+ 0xe0101fff gdt_init
+ *fill* 0xe010210f 0x1 00
+ .text 0xe0102110 0x858 mem/heap.o
+ 0xe01022a0 heap_create
+ 0xe0102673 heap_alloc
+ 0xe01027d4 heap_free
-.iplt 0xe01029f8 0x0 load address 0x001029f8
- .iplt 0x00000000 0x0 loader_.o
+.iplt 0xe0102968 0x0 load address 0x00102968
+ .iplt 0x00000000 0x0 core/loader_.o
-.rodata 0xe0103000 0x1aa load address 0x00103000
+.rodata 0xe0103000 0x1bb load address 0x00103000
*(.rodata)
- .rodata 0xe0103000 0x4d kmain.o
- .rodata 0xe010304d 0x2c sys.o
- .rodata 0xe0103079 0xf timer.o
- .rodata 0xe0103088 0x73 idt.o
- .rodata 0xe01030fb 0x12 task.o
- .rodata 0xe010310d 0x10 mem.o
- .rodata 0xe010311d 0x85 paging.o
- .rodata 0xe01031a2 0x8 gdt.o
+ .rodata 0xe0103000 0x52 core/kmain.o
+ .rodata 0xe0103052 0x2c core/sys.o
+ .rodata 0xe010307e 0xf task/timer.o
+ *fill* 0xe010308d 0x3 00
+ .rodata 0xe0103090 0x78 task/idt.o
+ .rodata 0xe0103108 0x12 task/task.o
+ .rodata 0xe010311a 0x10 mem/mem.o
+ .rodata 0xe010312a 0x89 mem/paging.o
+ .rodata 0xe01031b3 0x8 mem/gdt.o
-.rel.dyn 0xe01031ac 0x0 load address 0x001031aa
- .rel.iplt 0x00000000 0x0 loader_.o
- .rel.text 0x00000000 0x0 loader_.o
+.rel.dyn 0xe01031bc 0x0 load address 0x001031bb
+ .rel.iplt 0x00000000 0x0 core/loader_.o
+ .rel.text 0x00000000 0x0 core/loader_.o
-.data 0xe0104000 0x20 load address 0x00104000
+.data 0xe0104000 0xc load address 0x00104000
*(.data)
- .data 0xe0104000 0x0 kmain.o
- .data 0xe0104000 0x4 sys.o
- .data 0xe0104004 0x4 monitor.o
- .data 0xe0104008 0x0 timer.o
- .data 0xe0104008 0x0 idt.o
- .data 0xe0104008 0x4 task.o
+ .data 0xe0104000 0x0 core/kmain.o
+ .data 0xe0104000 0x4 core/sys.o
+ .data 0xe0104004 0x4 core/monitor.o
+ .data 0xe0104008 0x0 task/timer.o
+ .data 0xe0104008 0x0 task/idt.o
+ .data 0xe0104008 0x4 task/task.o
0xe0104008 nextpid
- *fill* 0xe010400c 0x14 00
- .data 0xe0104020 0x0 lib/stdlib.o
- .data 0xe0104020 0x0 lib/bitset.o
- .data 0xe0104020 0x0 mem.o
- .data 0xe0104020 0x0 paging.o
- .data 0xe0104020 0x0 gdt.o
- .data 0xe0104020 0x0 heap.o
+ .data 0xe010400c 0x0 lib/stdlib.o
+ .data 0xe010400c 0x0 lib/bitset.o
+ .data 0xe010400c 0x0 mem/mem.o
+ .data 0xe010400c 0x0 mem/paging.o
+ .data 0xe010400c 0x0 mem/gdt.o
+ .data 0xe010400c 0x0 mem/heap.o
-.igot.plt 0xe0104020 0x0 load address 0x00104020
- .igot.plt 0x00000000 0x0 loader_.o
+.igot.plt 0xe010400c 0x0 load address 0x0010400c
+ .igot.plt 0x00000000 0x0 core/loader_.o
.bss 0xe0104020 0x4950 load address 0x00104020
0xe0104020 sbss = .
*(COMMON)
- COMMON 0xe0104020 0x820 idt.o
+ COMMON 0xe0104020 0x820 task/idt.o
0xe0104020 idt_ptr
0xe0104040 idt_entries
- COMMON 0xe0104840 0x4 mem.o
+ COMMON 0xe0104840 0x4 mem/mem.o
0xe0104840 mem_placementAddr
- COMMON 0xe0104844 0x8 paging.o
+ COMMON 0xe0104844 0x8 mem/paging.o
0xe0104844 current_pagedir
0xe0104848 kernel_pagedir
*(.bss)
- .bss 0xe010484c 0x4000 loader_.o
- .bss 0xe010884c 0x0 kmain.o
- .bss 0xe010884c 0x0 sys.o
- .bss 0xe010884c 0x8 monitor.o
- .bss 0xe0108854 0xc timer.o
- .bss 0xe0108860 0x40 idt.o
- .bss 0xe01088a0 0xc task.o
+ .bss 0xe010484c 0x4000 core/loader_.o
+ .bss 0xe010884c 0x0 core/kmain.o
+ .bss 0xe010884c 0x0 core/sys.o
+ .bss 0xe010884c 0x8 core/monitor.o
+ .bss 0xe0108854 0xc task/timer.o
+ .bss 0xe0108860 0x40 task/idt.o
+ .bss 0xe01088a0 0xc task/task.o
0xe01088a0 processes
0xe01088a4 threads
0xe01088a8 current_thread
+ .bss 0xe01088ac 0x0 lib/stdlib.o
+ .bss 0xe01088ac 0x0 lib/bitset.o
*fill* 0xe01088ac 0x14 00
- .bss 0xe01088c0 0x0 lib/stdlib.o
- .bss 0xe01088c0 0x0 lib/bitset.o
- .bss 0xe01088c0 0x60 mem.o
+ .bss 0xe01088c0 0x60 mem/mem.o
0xe01088c0 freepagecount
- .bss 0xe0108920 0x8 paging.o
+ .bss 0xe0108920 0x8 mem/paging.o
*fill* 0xe0108928 0x18 00
- .bss 0xe0108940 0x2e gdt.o
+ .bss 0xe0108940 0x2e mem/gdt.o
*fill* 0xe010896e 0x2 00
- .bss 0xe0108970 0x0 heap.o
+ .bss 0xe0108970 0x0 mem/heap.o
0xe0108970 ebss = .
0xe0108970 end = .
0xe0108970 _end = .
0xe0108970 __end = .
-LOAD loader_.o
-LOAD kmain.o
-LOAD sys.o
-LOAD monitor.o
-LOAD timer.o
-LOAD idt.o
-LOAD idt_.o
-LOAD task.o
-LOAD task_.o
+LOAD core/loader_.o
+LOAD core/kmain.o
+LOAD core/sys.o
+LOAD core/monitor.o
+LOAD task/timer.o
+LOAD task/idt.o
+LOAD task/idt_.o
+LOAD task/task.o
+LOAD task/task_.o
LOAD lib/stdlib.o
LOAD lib/bitset.o
-LOAD mem.o
-LOAD paging.o
-LOAD gdt.o
-LOAD heap.o
+LOAD mem/mem.o
+LOAD mem/paging.o
+LOAD mem/gdt.o
+LOAD mem/heap.o
OUTPUT(stem.elf elf32-i386)
.comment 0x00000000 0x27
- .comment 0x00000000 0x27 kmain.o
+ .comment 0x00000000 0x27 core/kmain.o
0x28 (size before relaxing)
- .comment 0x00000000 0x28 sys.o
- .comment 0x00000000 0x28 monitor.o
- .comment 0x00000000 0x28 timer.o
- .comment 0x00000000 0x28 idt.o
- .comment 0x00000000 0x28 task.o
- .comment 0x00000000 0x28 mem.o
- .comment 0x00000000 0x28 paging.o
- .comment 0x00000000 0x28 gdt.o
- .comment 0x00000000 0x28 heap.o
+ .comment 0x00000000 0x28 core/sys.o
+ .comment 0x00000000 0x28 core/monitor.o
+ .comment 0x00000000 0x28 task/timer.o
+ .comment 0x00000000 0x28 task/idt.o
+ .comment 0x00000000 0x28 task/task.o
+ .comment 0x00000000 0x28 lib/stdlib.o
+ .comment 0x00000000 0x28 lib/bitset.o
+ .comment 0x00000000 0x28 mem/mem.o
+ .comment 0x00000000 0x28 mem/paging.o
+ .comment 0x00000000 0x28 mem/gdt.o
+ .comment 0x00000000 0x28 mem/heap.o
.note.GNU-stack
0x00000000 0x0
.note.GNU-stack
- 0x00000000 0x0 kmain.o
+ 0x00000000 0x0 core/kmain.o
.note.GNU-stack
- 0x00000000 0x0 sys.o
+ 0x00000000 0x0 core/sys.o
.note.GNU-stack
- 0x00000000 0x0 monitor.o
+ 0x00000000 0x0 core/monitor.o
.note.GNU-stack
- 0x00000000 0x0 timer.o
+ 0x00000000 0x0 task/timer.o
.note.GNU-stack
- 0x00000000 0x0 idt.o
+ 0x00000000 0x0 task/idt.o
.note.GNU-stack
- 0x00000000 0x0 task.o
+ 0x00000000 0x0 task/task.o
.note.GNU-stack
- 0x00000000 0x0 mem.o
+ 0x00000000 0x0 lib/stdlib.o
.note.GNU-stack
- 0x00000000 0x0 paging.o
+ 0x00000000 0x0 lib/bitset.o
.note.GNU-stack
- 0x00000000 0x0 gdt.o
+ 0x00000000 0x0 mem/mem.o
.note.GNU-stack
- 0x00000000 0x0 heap.o
+ 0x00000000 0x0 mem/paging.o
+ .note.GNU-stack
+ 0x00000000 0x0 mem/gdt.o
+ .note.GNU-stack
+ 0x00000000 0x0 mem/heap.o
diff --git a/src/stem/idt.c b/src/stem/task/idt.c
index 6ad5b23..b9bd1ef 100644
--- a/src/stem/idt.c
+++ b/src/stem/task/idt.c
@@ -1,10 +1,10 @@
#include "idt.h"
-#include "monitor.h"
-#include "paging.h"
-#include "sys.h"
+#include <core/monitor.h>
+#include <core/sys.h>
+#include <mem/paging.h>
#include "task.h"
-#include "lib/stdlib.h"
+#include <stdlib.h>
extern void isr0();
extern void isr1();
diff --git a/src/stem/idt.h b/src/stem/task/idt.h
index a185c9e..bb89013 100644
--- a/src/stem/idt.h
+++ b/src/stem/task/idt.h
@@ -1,7 +1,7 @@
#ifndef DEF_IDT_H
#define DEF_IDT_H
-#include "types.h"
+#include <types.h>
struct idt_entry {
uint16_t base_lo; //Low part of address to jump to
diff --git a/src/stem/idt_.asm b/src/stem/task/idt_.asm
index b73f7a5..b73f7a5 100644
--- a/src/stem/idt_.asm
+++ b/src/stem/task/idt_.asm
diff --git a/src/stem/task.c b/src/stem/task/task.c
index 874f22d..39c2482 100644
--- a/src/stem/task.c
+++ b/src/stem/task/task.c
@@ -1,8 +1,8 @@
#include "task.h"
-#include "sys.h"
-#include "mem.h"
+#include <core/sys.h>
+#include <core/monitor.h>
+#include <mem/mem.h>
#include "timer.h"
-#include "monitor.h"
#define KSTACKSIZE 0x8000
diff --git a/src/stem/task.h b/src/stem/task/task.h
index 3fec9ea..e91aa8b 100644
--- a/src/stem/task.h
+++ b/src/stem/task/task.h
@@ -1,8 +1,8 @@
#ifndef DEF_TASK_H
#define DEF_TASK_H
-#include "types.h"
-#include "paging.h"
+#include <types.h>
+#include <mem/paging.h>
#include "idt.h"
struct process {
diff --git a/src/stem/task_.asm b/src/stem/task/task_.asm
index ae45c68..ae45c68 100644
--- a/src/stem/task_.asm
+++ b/src/stem/task/task_.asm
diff --git a/src/stem/timer.c b/src/stem/task/timer.c
index 10651ab..8c1a2b8 100644
--- a/src/stem/timer.c
+++ b/src/stem/task/timer.c
@@ -1,7 +1,7 @@
#include "timer.h"
#include "idt.h"
-#include "sys.h"
-#include "monitor.h"
+#include <core/sys.h>
+#include <core/monitor.h>
static uint32_t tick = 0, frequency = 0, uptime = 0;
diff --git a/src/stem/timer.h b/src/stem/task/timer.h
index 3ed3009..4909245 100644
--- a/src/stem/timer.h
+++ b/src/stem/task/timer.h
@@ -1,7 +1,7 @@
#ifndef DEF_TIMER_H
#define DEF_TIMER_H
-#include "types.h"
+#include <types.h>
void timer_init(uint32_t frequency);
uint32_t timer_time(); //Returns miliseconds (approximate) since computer started