813bc3de69kernel symbol table!!
Oscar
2017-02-10 18:10:31 -0800
cdd705ce32Added address space defn to C header
secXsQuared1995
2017-02-05 20:32:28 -0800
1c1f73f7a8Implemented higher-half kernel mapping (see wiki). Some cleanings need to be done. PAIN: Bochs does not dump all long mode address mappings.
secXsQuared1995
2017-02-04 23:43:15 -0800
e263f26b6bMoving to higher half KRNL
Oscar
2017-02-03 19:10:51 -0800
ce06ee6bbdA naked and clean cross compiler has been created. Fixed a push qword issue that caused relocation truncation.
secXsQuared1995
2017-02-02 23:08:43 -0800
6ce50485beUpdated the build tool for the cross compiler
Oscar
2017-02-02 18:53:17 -0800
adaca1d72eCompiled + linked with the given cross compiler. Now I need to build a cross compiler myself
Oscar
2017-02-02 17:14:23 -0800
3a88034c22Linker LD Madness.
Oscar
2017-02-01 18:04:07 -0800
1788338f10Does not link. After moving to the virtual address space, the linker is freaking out at all the defined 32 bit symbols for the multiboot loader.
secXsQuared1995
2017-02-01 01:58:21 -0800
53195f144dCompiled but does not link
Oscar
2017-01-31 19:26:08 -0800
03d3d4ab70Everything compiled again, with a lot of changes to the design of HAL. Although a lot of things are not working yet. It's getting closer.
secXsQuared
2016-07-08 20:01:33 -0700
bfd0595926Slowly continuing the work
secXsQuared
2016-07-08 17:57:09 -0700
f9b3df8b60VMM half-done. PMM refactored. Haven't got a chance to touch the HAL yet.
secXsQuared
2016-06-25 14:40:47 -0700
8da028f518Eventually went with not using in-place linked list for PMM (Don't really want to mix up PMM and VMM). So yeah, now keep trace of those physical pages on kernel heap, Windows does that, linux does that, I have to do that since there are more attributes(paged/non-paged) that the kernel requires. Hmm finished PMM alpha and redefined all those PMM/VMM interfaces. The code is still broken right now.
secXsQuared
2016-06-25 00:25:54 -0700
be746b4f6fFiguring out PMM/VMM and ASM.
secXsQuared
2016-06-24 18:47:29 -0700
af7401a7edKeep it up
secXsQuared
2016-06-23 18:48:34 -0700
59bac9bf2cWe don't need buddy allocator...
secXsQuared
2016-06-19 21:11:06 -0700
8ef4b18684Actually buddy allocator is good....
secXsQuared
2016-06-17 02:18:07 -0700
0b6b0a46b4not quite working stuff. Rethinking memory allocator. Maybe not buddy allocator. Basically use salloc for heap for now and talloc with O(log n) for system page allocation. A linear external allocator is not necessarily needed. Todo: finish talloc and add lock/alignment to salloc
secXsQuared
2016-06-16 18:13:57 -0700
95bb791d71LALLOC coming. Need to make salloc and lalloc thread-safe.
secXsQuared
2016-06-16 00:23:06 -0700
22ad3c25c2Restructure kernel (separate modules to be shared + private) and defined/implemented more HAL interrupt APIs.
secXsQuared
2016-06-15 00:29:46 -0700
b2254e207dInterrupt working (Except that I need to remap PIC). 1. Fix a stupid mistake in idt dispatch table (IDT_ENTRY_NUM instead of IDT_ENTRY_SIZE)! 2. Figured out that before enabling APIC, the PIC is not completely disabled/remapped. Took hours to debug why immediately after enabling interrupt, a double fault happens when executing "mov eax, 0". Turned out that PIC maps timer interrupt to int vet 8, which is double fault in the vector table. The double fault normally pushes an error code 0, the ISR is expecting the error code but the timer interrupt does not push an error code thereby screwing up the interrupt stack completely. The kernel runs normally after "sti" after changing the int 8 vector to just "iretq". (Remapping the PIC: http://wiki.osdev.org/I_Cant_Get_Interrupts_Working#I.27m_receiving_EXC9_instead_of_IRQ1_when_striking_a_key_.3F.21). Oh FML, hours wasted..
secXsQuared
2016-06-13 23:33:31 -0700
bc49a854ddSet up interrupt dispatching Set up APIC. Timer setup atrociously close. Bochs keeps giving the god damn triple fault (IDT broken)??
secXsQuared
2016-06-12 21:11:38 -0700
8d7590ace4NOT WORKING
secXsQuared
2016-06-10 21:16:51 -0700
41aecc69f1NOT WORKinG
secXsQuared
2016-06-05 16:37:29 -0700
0c48e9fa1csalloc test cases added and passed.
secXsQuared
2016-05-24 00:10:32 -0700
bd204b40f2Refactored avl tree delete sucessor implementation and entry->node
secXsQuared
2016-05-23 17:57:38 -0700
06a8250d48renaming avl tree entry to node
secXsQuared
2016-05-23 13:45:03 -0700
6133063fb0AVL tree apocalypse test
secXsQuared
2016-05-23 12:36:41 -0700
05695f2626Test Driver Got a test driver for module tests. Gotta make sure the basic building blocks work first lol. Will add salloc test soon.
secXsQuared
2016-05-22 20:19:56 -0700
dddcd487a2AVL Tree Test 1. Added test for avl insertion and deletion (core functionalities). 2. Suppressed GCC's retarded multiline comment warnings. 3. Increased kernel heap size from 4k to 8k. TODO: 1. Write test for salloc.
secXsQuared
2016-05-22 01:24:08 -0700
44602ecf291. Refactored the file structure. 2. Refactored all include directories. 3. The Integrated linked_list and salloc are working. Need to write test for AVL tree and salloc.
secXsQuared
2016-05-21 18:54:29 -0700
cd5d08fa1dRefactoring AVL tree to accept duplicate values so that it can be actually used as a priority queue.
secXsQuared
2016-05-20 12:07:11 -0700
3bfa585967Test now cleans up memory. Got rid of a redef of a macro.
secXsQuared
2016-05-19 17:34:55 -0700
13843b16bcAdded linked_list_search API. Refactored linked list implementation and testing (now much better).
secXsQuared
2016-05-19 17:18:27 -0700
d6f2342d05Rewrite linked list library. Much more APIs, more graceful code and better test cases.
secXsQuared
2016-05-17 22:43:48 -0700
9ca5b1aa16Development: 1. Intergrated my salloc allocator 2. hal.c: Got rid of some gcc warnings, mainly int -> pointer. 3. entry.asm: 64-bit int immediate moved to a reg first then anded with another reg. Refactoring: 1. Got rid of kernel_status_t, IN, OUT, OPT. secX does not have to be Windows does it? 2. Renamed _KERNEL_ABI to SAPI. 3. Refactored library functions / interfaces to as "static" and "_" as possible 4. Restructured "common" folder
Siyao Zhao
2016-05-17 12:03:18 -0700
fc241dc76fFixed 2 bugs in alloc library. Now should be working.
secXsQuared
2016-05-17 01:09:52 -0700
9e96b66a08Proc control block Primitive code for the allocation library
secXsQuared
2016-05-16 00:34:41 -0700
6088802c06Linked list interface change
hyperassembler
2016-03-04 17:20:48 -0500
93cd12690c[IN PROGRESS] Added hal_interlocked_exchange and implemented spin locks in C code. Reverted some kernel_status_t changes.
hyperassembler
2015-11-14 17:53:30 -0500
cce6d1558fWindows kernel is well-thought. Refactoring...
hyperassembler
2015-10-13 21:19:49 -0400
7db4e9cf35Changed the interface for linked list and avl tree to a much more flexible one. The previous one was utter crap..
HyperAssembler
2015-03-21 14:17:38 -0700