diff --git a/kernel/main.cc b/kernel/main.cc index 1bae156..fdf2b05 100644 --- a/kernel/main.cc +++ b/kernel/main.cc @@ -34,7 +34,7 @@ OutputStream* copyout = ©stream; #include "./interrupt/guard.h" #include "./boot/multiboot/data.h" #include "./sync/semaphore.h" - +#include "./memory/pageframealloc.h" //Semaphore koutsem(1); //TextStream kout(0, 80, 1, 17, true); @@ -52,10 +52,10 @@ alignas(4096) four_lvl_paging_t paging_tree; // Main function extern "C" int main() { PageFrameAllocator::stats(); - Multiboot::Module* initrd = Multiboot::getModule(0); DBG << "initrd address: " << hex << initrd->getStartAddress() << endl << "initrd size: " << initrd->getSize() << endl; memcpy((void *)0x4000000, initrd->getStartAddress(), initrd->getSize()); + mark_pageframes(0x400000, 0x4000000 + initrd->getSize(), false); memset(&paging_tree, 0, sizeof(four_lvl_paging_t)); create_basic_page_table(&paging_tree); diff --git a/kernel/memory/pageframealloc.h b/kernel/memory/pageframealloc.h index c97c4ea..2c62450 100644 --- a/kernel/memory/pageframealloc.h +++ b/kernel/memory/pageframealloc.h @@ -16,4 +16,8 @@ namespace PageFrameAllocator { void free (PageFrame *frame); void free (uintptr_t addr); } + + +void mark_pageframes(uintptr_t start, uintptr_t end, bool available); + #endif diff --git a/libsys/build/libc.d b/libsys/build/libc.d new file mode 100644 index 0000000..848caf6 --- /dev/null +++ b/libsys/build/libc.d @@ -0,0 +1 @@ +build/libc.o: libc.cc libc.h types.h diff --git a/libsys/build/libc.o b/libsys/build/libc.o new file mode 100644 index 0000000..74b83a9 Binary files /dev/null and b/libsys/build/libc.o differ diff --git a/libsys/build/libsys.a b/libsys/build/libsys.a new file mode 100644 index 0000000..7b8a512 Binary files /dev/null and b/libsys/build/libsys.a differ diff --git a/libsys/build/outputstream.d b/libsys/build/outputstream.d new file mode 100644 index 0000000..7b1d3a0 --- /dev/null +++ b/libsys/build/outputstream.d @@ -0,0 +1,2 @@ +build/outputstream.o: outputstream.cc outputstream.h stringbuffer.h \ + types.h diff --git a/libsys/build/outputstream.o b/libsys/build/outputstream.o new file mode 100644 index 0000000..99c4caf Binary files /dev/null and b/libsys/build/outputstream.o differ diff --git a/libsys/build/string.d b/libsys/build/string.d new file mode 100644 index 0000000..54fd952 --- /dev/null +++ b/libsys/build/string.d @@ -0,0 +1 @@ +build/string.o: string.cc string.h types.h diff --git a/libsys/build/string.o b/libsys/build/string.o new file mode 100644 index 0000000..cf9b3b5 Binary files /dev/null and b/libsys/build/string.o differ diff --git a/libsys/build/stringbuffer.d b/libsys/build/stringbuffer.d new file mode 100644 index 0000000..9e00c33 --- /dev/null +++ b/libsys/build/stringbuffer.d @@ -0,0 +1 @@ +build/stringbuffer.o: stringbuffer.cc stringbuffer.h types.h diff --git a/libsys/build/stringbuffer.o b/libsys/build/stringbuffer.o new file mode 100644 index 0000000..0f54d08 Binary files /dev/null and b/libsys/build/stringbuffer.o differ diff --git a/libsys/build/stub.asm.d b/libsys/build/stub.asm.d new file mode 100644 index 0000000..8a0dadc --- /dev/null +++ b/libsys/build/stub.asm.d @@ -0,0 +1,2 @@ +build/stub.asm.o : stub.asm + diff --git a/libsys/build/stub.asm.o b/libsys/build/stub.asm.o new file mode 100644 index 0000000..4641a8c Binary files /dev/null and b/libsys/build/stub.asm.o differ diff --git a/user/app1/build/app b/user/app1/build/app new file mode 100755 index 0000000..e52378b Binary files /dev/null and b/user/app1/build/app differ diff --git a/user/app1/build/app.img b/user/app1/build/app.img new file mode 100755 index 0000000..03c3e80 Binary files /dev/null and b/user/app1/build/app.img differ diff --git a/user/app1/build/appl.d b/user/app1/build/appl.d new file mode 100644 index 0000000..1041d02 --- /dev/null +++ b/user/app1/build/appl.d @@ -0,0 +1,2 @@ +build/appl.o: appl.cc ../../libsys/../libsys/stub.h \ + ../../libsys/../libsys/types.h diff --git a/user/app1/build/appl.o b/user/app1/build/appl.o new file mode 100644 index 0000000..2feb8f4 Binary files /dev/null and b/user/app1/build/appl.o differ diff --git a/user/app2/build/app b/user/app2/build/app new file mode 100755 index 0000000..ad16117 Binary files /dev/null and b/user/app2/build/app differ diff --git a/user/app2/build/app.img b/user/app2/build/app.img new file mode 100755 index 0000000..ae9795f Binary files /dev/null and b/user/app2/build/app.img differ diff --git a/user/app2/build/kappl.d b/user/app2/build/kappl.d new file mode 100644 index 0000000..257ab31 --- /dev/null +++ b/user/app2/build/kappl.d @@ -0,0 +1,2 @@ +build/kappl.o: kappl.cc ../../libsys/../libsys/stub.h \ + ../../libsys/../libsys/types.h ../../libsys/../libsys/string.h diff --git a/user/app2/build/kappl.o b/user/app2/build/kappl.o new file mode 100644 index 0000000..be2091c Binary files /dev/null and b/user/app2/build/kappl.o differ