sy2zhao
b0a119d8db
Fixed everything. Gonna compile.
2018-01-26 03:43:22 -05:00
Oscar
72084394f2
in the middle of sth
2018-01-25 14:11:22 -05:00
sy2zhao
380d6d6bc4
?
2018-01-25 04:53:35 -05:00
sy2zhao
e08dbf8f60
Restructured things. Not quite compiling but it's the backbone.
2017-06-16 03:19:03 -04:00
secXsQuared1995
a1ac31bc0b
yes
2017-03-26 21:11:08 -07:00
Oscar
c80ca61d4c
Added all sorts of warnings
2017-03-23 19:19:12 -07:00
Oscar
188f570f9f
2
2017-03-09 18:50:35 -08:00
Oscar
d0803c45bb
Refactoring started
2017-02-22 18:36:00 -08:00
Oscar
813bc3de69
kernel symbol table!!
2017-02-10 18:10:31 -08:00
secXsQuared1995
cdd705ce32
Added address space defn to C header
2017-02-05 20:32:28 -08:00
secXsQuared1995
1c1f73f7a8
Implemented higher-half kernel mapping (see wiki). Some cleanings need to be done.
...
PAIN: Bochs does not dump all long mode address mappings.
2017-02-04 23:43:15 -08:00
Oscar
e263f26b6b
Moving to higher half KRNL
2017-02-03 19:10:51 -08:00
secXsQuared1995
ce06ee6bbd
A naked and clean cross compiler has been created. Fixed a push qword issue that caused relocation truncation.
2017-02-02 23:08:43 -08:00
Oscar
6ce50485be
Updated the build tool for the cross compiler
2017-02-02 18:53:17 -08:00
Oscar
adaca1d72e
Compiled + linked with the given cross compiler. Now I need to build a cross compiler myself
2017-02-02 17:14:23 -08:00
Oscar
3a88034c22
Linker LD Madness.
2017-02-01 18:04:07 -08:00
secXsQuared1995
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.
2017-02-01 01:58:21 -08:00
Oscar
53195f144d
Compiled but does not link
2017-01-31 19:26:08 -08:00
secXsQuared1995
97fe8bbe9e
busy busy busy
2016-10-17 02:05:34 -04:00
secXsQuared
1f080a6b80
BROKEN AF
2016-09-13 00:41:09 -04:00
secXsQuared
f412efdbfd
hmmm?
2016-08-29 13:06:57 -04:00
secXsQuared
ba7672dd00
Fixing stuff. Still broken
2016-08-28 02:14:22 -07:00
secXsQuared
e6bbba7b60
Still broken
2016-08-27 17:20:38 -07:00
secXsQuared
5a3d467dbd
BROKEN
2016-08-26 22:13:54 -07:00
secXsQuared
4032174150
huh
2016-08-05 22:55:55 -07:00
secXsQuared
e797cc29c2
Ref MGR
2016-07-23 17:54:54 -07:00
secXsQuared
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.
2016-07-08 20:01:33 -07:00
secXsQuared
bfd0595926
Slowly continuing the work
2016-07-08 17:57:09 -07:00
secXsQuared
38775a235f
CHEC
2016-07-01 02:15:07 -07:00
secXsQuared
f9b3df8b60
VMM half-done. PMM refactored. Haven't got a chance to touch the HAL yet.
2016-06-25 14:40:47 -07:00
secXsQuared
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.
2016-06-25 00:25:54 -07:00
secXsQuared
be746b4f6f
Figuring out PMM/VMM and ASM.
2016-06-24 18:47:29 -07:00
secXsQuared
af7401a7ed
Keep it up
2016-06-23 18:48:34 -07:00
secXsQuared
6a971cc650
Implementing H-K interface according to the wiki.
2016-06-22 21:50:29 -07:00
secXsQuared
59bac9bf2c
We don't need buddy allocator...
2016-06-19 21:11:06 -07:00
secXsQuared
8ef4b18684
Actually buddy allocator is good....
2016-06-17 02:18:07 -07:00
secXsQuared
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
2016-06-16 18:13:57 -07:00
secXsQuared
95bb791d71
LALLOC coming. Need to make salloc and lalloc thread-safe.
2016-06-16 00:23:06 -07:00
secXsQuared
22ad3c25c2
Restructure kernel (separate modules to be shared + private) and defined/implemented more HAL interrupt APIs.
2016-06-15 00:29:46 -07:00
secXsQuared
0188fe66a5
Push missing write/read ports w/ diff operand sizes.
2016-06-13 23:57:38 -07:00
secXsQuared
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..
2016-06-13 23:33:31 -07:00
secXsQuared
bc49a854dd
Set up interrupt dispatching
...
Set up APIC. Timer setup atrociously close.
Bochs keeps giving the god damn triple fault (IDT broken)??
2016-06-12 21:11:38 -07:00
secXsQuared
8d7590ace4
NOT WORKING
2016-06-10 21:16:51 -07:00
secXsQuared
41aecc69f1
NOT WORKinG
2016-06-05 16:37:29 -07:00
secXsQuared
8ebd691e1a
FIX bochs
2016-06-05 01:20:39 -07:00
secXsQuared
a3b0d89139
Python please fk off
2016-06-05 01:09:01 -07:00
secXsQuared
c98c7c6c98
Added information request
2016-06-04 22:33:14 -07:00
secXsQuared
32259f3dc7
Added boots compilation stuff. Although bochs keeps seg faulting (lol wut)
...
Now makefile generates disasm for debugging
2016-06-04 16:14:50 -07:00
secXsQuared
2139c367d9
Fixed x86
2016-06-04 13:50:53 -07:00
secXsQuared
ac875806d6
Structural Change
2016-06-04 02:51:14 -07:00