Commit Graph

  • 813bc3de69 kernel symbol table!! Oscar 2017-02-10 18:10:31 -0800
  • cdd705ce32 Added address space defn to C header secXsQuared1995 2017-02-05 20:32:28 -0800
  • 1c1f73f7a8 Implemented 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
  • e263f26b6b Moving to higher half KRNL Oscar 2017-02-03 19:10:51 -0800
  • ce06ee6bbd A 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
  • 6ce50485be Updated the build tool for the cross compiler Oscar 2017-02-02 18:53:17 -0800
  • adaca1d72e Compiled + linked with the given cross compiler. Now I need to build a cross compiler myself Oscar 2017-02-02 17:14:23 -0800
  • 3a88034c22 Linker LD Madness. Oscar 2017-02-01 18:04:07 -0800
  • 1788338f10 Does 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
  • 53195f144d Compiled but does not link Oscar 2017-01-31 19:26:08 -0800
  • 97fe8bbe9e busy busy busy secXsQuared1995 2016-10-17 02:05:34 -0400
  • 1f080a6b80 BROKEN AF secXsQuared 2016-09-13 00:41:09 -0400
  • f412efdbfd hmmm? secXsQuared 2016-08-29 13:06:57 -0400
  • ba7672dd00 Fixing stuff. Still broken secXsQuared 2016-08-28 02:14:22 -0700
  • e6bbba7b60 Still broken secXsQuared 2016-08-27 17:20:38 -0700
  • 5a3d467dbd BROKEN secXsQuared 2016-08-26 22:13:54 -0700
  • 4032174150 huh secXsQuared 2016-08-05 22:55:55 -0700
  • e797cc29c2 Ref MGR secXsQuared 2016-07-23 17:54:54 -0700
  • 03d3d4ab70 Everything 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
  • bfd0595926 Slowly continuing the work secXsQuared 2016-07-08 17:57:09 -0700
  • 38775a235f CHEC secXsQuared 2016-07-01 02:15:07 -0700
  • 7a164ce92a [MH] secXsQuared 2016-06-26 00:00:35 -0700
  • f9b3df8b60 VMM half-done. PMM refactored. Haven't got a chance to touch the HAL yet. secXsQuared 2016-06-25 14:40:47 -0700
  • 8da028f518 Eventually 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
  • be746b4f6f Figuring out PMM/VMM and ASM. secXsQuared 2016-06-24 18:47:29 -0700
  • af7401a7ed Keep it up secXsQuared 2016-06-23 18:48:34 -0700
  • 86c042c927 Merge commit '92782893f0753cd429db6179724a7638407ce9e5' secXsQuared 2016-06-22 21:50:47 -0700
  • 6a971cc650 Implementing H-K interface according to the wiki. secXsQuared 2016-06-22 21:50:29 -0700
  • 92782893f0 Update Readme secXsQuared 2016-06-22 18:40:27 -0700
  • 59bac9bf2c We don't need buddy allocator... secXsQuared 2016-06-19 21:11:06 -0700
  • 8ef4b18684 Actually buddy allocator is good.... secXsQuared 2016-06-17 02:18:07 -0700
  • 0b6b0a46b4 not 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
  • 95bb791d71 LALLOC coming. Need to make salloc and lalloc thread-safe. secXsQuared 2016-06-16 00:23:06 -0700
  • 22ad3c25c2 Restructure kernel (separate modules to be shared + private) and defined/implemented more HAL interrupt APIs. secXsQuared 2016-06-15 00:29:46 -0700
  • 0188fe66a5 Push missing write/read ports w/ diff operand sizes. secXsQuared 2016-06-13 23:57:38 -0700
  • b2254e207d Interrupt 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
  • bc49a854dd Set 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
  • 8d7590ace4 NOT WORKING secXsQuared 2016-06-10 21:16:51 -0700
  • 41aecc69f1 NOT WORKinG secXsQuared 2016-06-05 16:37:29 -0700
  • 8ebd691e1a FIX bochs secXsQuared 2016-06-05 01:20:39 -0700
  • a3b0d89139 Python please fk off secXsQuared 2016-06-05 01:09:01 -0700
  • c98c7c6c98 Added information request secXsQuared 2016-06-04 22:33:14 -0700
  • 32259f3dc7 Added boots compilation stuff. Although bochs keeps seg faulting (lol wut) Now makefile generates disasm for debugging secXsQuared 2016-06-04 16:14:50 -0700
  • 2139c367d9 Fixed x86 secXsQuared 2016-06-04 13:50:53 -0700
  • ac875806d6 Structural Change secXsQuared 2016-06-04 02:51:14 -0700
  • e53e396556 [RUNNING] Structural and boot change: 1. Changed to multiboot2 complaint 2. Separated modules (hal, kernel, test, common) 3. Rewrite makefile/linker script/ grub.cfg to adapt changes. secXsQuared 2016-06-04 02:41:56 -0700
  • 2475039543 NOT WORKING!!!! secXsQuared 2016-06-01 19:16:20 -0700
  • 24a458858d Not working.... A lot more to go secXsQuared 2016-06-01 00:43:52 -0700
  • eb88af7d33 NOT QUITE WORKING YET secXsQuared 2016-05-31 22:00:29 -0700
  • 4410fb50fa NOT working balloc secXsQuared 2016-05-26 14:00:48 -0700
  • f6e21df5d2 GPL v3 secXsQuared 2016-05-24 00:27:26 -0700
  • 0c48e9fa1c salloc test cases added and passed. secXsQuared 2016-05-24 00:10:32 -0700
  • bd204b40f2 Refactored avl tree delete sucessor implementation and entry->node secXsQuared 2016-05-23 17:57:38 -0700
  • 06a8250d48 renaming avl tree entry to node secXsQuared 2016-05-23 13:45:03 -0700
  • 6133063fb0 AVL tree apocalypse test secXsQuared 2016-05-23 12:36:41 -0700
  • 05695f2626 Test 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
  • dddcd487a2 AVL 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
  • 44602ecf29 1. 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
  • cd5d08fa1d Refactoring 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
  • 3bfa585967 Test now cleans up memory. Got rid of a redef of a macro. secXsQuared 2016-05-19 17:34:55 -0700
  • 13843b16bc Added linked_list_search API. Refactored linked list implementation and testing (now much better). secXsQuared 2016-05-19 17:18:27 -0700
  • d6f2342d05 Rewrite linked list library. Much more APIs, more graceful code and better test cases. secXsQuared 2016-05-17 22:43:48 -0700
  • 9ca5b1aa16 Development: 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
  • fc241dc76f Fixed 2 bugs in alloc library. Now should be working. secXsQuared 2016-05-17 01:09:52 -0700
  • 9e96b66a08 Proc control block Primitive code for the allocation library secXsQuared 2016-05-16 00:34:41 -0700
  • 1ba3afd68a Update ReadMe secXsQuared 2016-05-11 15:40:02 -0700
  • d85a005411 ffff hyperassembler 2016-03-04 20:49:36 -0500
  • 6088802c06 Linked 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
  • cce6d1558f Windows kernel is well-thought. Refactoring... hyperassembler 2015-10-13 21:19:49 -0400
  • 3a217327c9 Step up higher half kernel [In Progress] hyperassembler 2015-09-11 00:51:13 -0400
  • 3efb2f7bbd HAL now reports memory in unit of pages to kernel. hyperassembler 2015-09-05 17:14:04 -0400
  • 58c61bae3c Physical memory manager [In Progress] unknown 2015-09-04 15:04:22 -0400
  • a4411ce9a6 Fixed some bugs. Now 64 bits kernel can do it. hyperassembler 2015-09-03 21:49:37 -0400
  • 454be49390 Screw mac os x and gui debugger. hyperassembler 2015-09-03 20:22:12 -0400
  • a58d00f229 NASM's Align is a very good feature. unknown 2015-09-03 17:24:54 -0400
  • 3cada2ce00 Kernel migration in progress. unknown 2015-09-03 17:04:15 -0400
  • 01c7b53883 Separating x86 and x64 kernels in order to map kernel to higher half easily. [In Progress] unknown 2015-09-03 16:38:24 -0400
  • abacfc4914 Print information about modules unknown 2015-09-03 11:46:02 -0400
  • b116eb040a Code Cleanup unknown 2015-09-03 11:18:56 -0400
  • d84ceb592d Assertion and Kernel Modules unknown 2015-09-03 10:45:28 -0400
  • 17d1b499bd Fix output hyperassembler 2015-09-02 21:43:43 -0400
  • 48f892d1df Distinguishing between HAL and Kernel unknown 2015-09-02 17:37:15 -0400
  • 2d96ad7370 Fix output. hyperassembler 2015-09-01 19:31:38 -0400
  • 5aa762e101 Added magic macro unknown 2015-09-01 16:43:04 -0400
  • 4ee70bf53c Adding memory descriptor unknown 2015-09-01 13:37:58 -0400
  • 97ddb93858 Merge remote-tracking branch 'origin/master' HyperAssembler 2015-07-17 00:42:14 -0400
  • 0805a76f81 Temp branch for merging HyperAssembler 2015-07-17 00:41:53 -0400
  • 81dbbedc47 Merge branch 'master' of https://github.com/hyperassembler/HOS acslk 2015-06-29 20:19:51 -0400
  • 9e47bd801a Ubuntu bochs acslk 2015-06-29 20:19:12 -0400
  • 1e7b5d9eb7 CMakeList HyperAssembler 2015-06-29 20:18:52 -0400
  • db45a0c073 Now makefile makes the same dir structure as source code. Much cleaner logic. HyperAssembler 2015-04-24 01:17:28 -0700
  • aa0a4483b8 Rewrite makefile and get it compiled. HyperAssembler 2015-04-23 00:47:20 -0700
  • c2a9e43ad3 Interrupt stuff HyperAssembler 2015-04-22 01:06:15 -0700
  • 056a79709d Refactor_2 unknown 2015-04-20 17:19:06 -0700
  • 6321366a24 Refactoring_1 HyperAssembler 2015-04-19 23:39:33 -0700
  • d5912f4a7a Hal/ kernel/ common/ util/ they are now separated HyperAssembler 2015-04-18 02:34:32 -0700
  • 13b8912474 Detect APIC HyperAssembler 2015-04-16 21:40:57 -0700
  • 3628eeb97c Added cpuid. unknown 2015-04-16 14:46:54 -0700
  • 7db4e9cf35 Changed 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