Commit Graph

73 Commits (master)

Author SHA1 Message Date
q3k a2a6581994 New paging mechanisms working. 2013-09-02 10:43:50 +02:00
q3k 4958d0b6f1 First steps of new VMM. 2013-09-01 23:06:00 +02:00
q3k c45c4a5f6b Removed shitty old memory management system. 2013-07-10 15:17:29 +02:00
q3k 347e5d9974 Added kernel ELF address to load context. 2013-07-10 14:52:41 +02:00
q3k eb6f565825 Added clang support. 2013-07-05 14:48:24 +02:00
q3k b4f6409bcb Starting for C++ paging management... 2013-03-01 19:07:44 +01:00
q3k 949180a993 Re-enabled C++ support, it seems to be working. 2013-02-03 15:53:33 +01:00
q3k 0f0380a0e3 Bigger initial heap, remove debug from kmain(). 2013-02-03 15:52:18 +01:00
q3k ffff4729ae Heap fixed. w00t. 2013-02-03 15:42:40 +01:00
q3k 87907c0f75 Paging now works, heap still borked. 2013-02-03 14:38:48 +01:00
q3k c93a20ad03 Replaced the crappy miniVMM with a kernel scratch thing.
it starts at 0xFFFFFFFF00000000, it's mean, it's unmanaged, but you can make a heap on it later. But it broke everything, so I need to fix that.

One step closer to saner memoy management, I guess.
2012-10-30 16:35:01 +01:00
q3k b5ecbd1a07 Revamped the physical frame manager.
It now uses bitmaps, but is limited to one of them, so 128M of RAM.
I'll have to fix this someday, but right now it failing gracefully and reminding me that my shit's broken should be enough.
2012-10-30 15:37:51 +01:00
q3k 5c9366ada8 Finish cleaning up kmain. 2012-10-30 12:37:41 +01:00
q3k 3292b0299a Clean up kmain a bit. 2012-10-30 12:36:42 +01:00
q3k 047cac98bc Disable deadspin in tier0 from LAPIC testing. 2012-10-30 12:35:43 +01:00
q3k 153b2db4c5 More refactoring. 2012-10-30 12:34:20 +01:00
q3k d0200d140f Refactored paging and system code to reflect unified kernel size info. 2012-10-30 12:27:12 +01:00
q3k 2f1d3386e4 Remove deprecated physical allocator. 2012-10-30 11:54:26 +01:00
q3k 338f5b1a83 low-level physmem memory free function 2012-10-30 11:53:21 +01:00
q3k 0fbd91d599 APIC timer calibration.
Kind of. With the PIT. So 90's.
2012-10-29 18:59:09 +01:00
q3k 54a5e96722 More work on APIC. 2012-10-29 14:57:48 +01:00
q3k 5eb8f32864 PCI Basics
Added PCI enumeration and structures. Kind of.
2012-10-28 12:24:43 +01:00
q3k 2612fe8bc4 Merge branch 'master' of http://code.hackerspace.pl/q3k/Cucumber into alentours-dev 2012-10-28 10:34:44 +01:00
q3k 39f7d128cb 32-bit operations on I/O ports. 2012-10-28 10:27:36 +01:00
q3k 99912f2083 C++! 2012-10-01 15:03:10 +02:00
q3k cd811bda04 Lua is now running.
The interpreter is working perfectly, albeit missing some
useful libraries.
2012-09-24 15:17:26 +02:00
q3k 58682720e1 Implemented setjmp() and longjmp()
And they worked on the first try...
2012-09-24 14:22:38 +02:00
q3k 5ecc85f8ec More progress on Lua.
It runs, but fails. Setting up setjmp() and longjmp() to do
actual debugging;
2012-09-24 13:43:32 +02:00
q3k d8aab40557 glue code for lauxlib written
I ended up writing all the file and stirng functions required
for making lauxlib compile.
2012-09-21 12:45:46 +02:00
q3k 5c922d933e Lua support in the process of being added.
Lua still doesn't compile, but I'm in the process of adding some
stubs (some really silly ones), in order to at least get it to
build properly.
2012-08-23 13:58:23 +02:00
q3k b7f0c48873 Intermediate register for LIDT so that it compiles with the new memory model. 2012-07-21 00:41:03 +02:00
q3k 8c74a8d073 Yes, yes, let's or a 8-bit register by 0x600 :V 2012-07-21 00:02:56 +02:00
q3k b075c586f3 Add FPU/SEE enabling magic... 2012-07-21 00:00:19 +02:00
q3k 11acecf6be fixed rip in panic not being displayed, then not being displayed properly in exceptions... 2012-07-20 23:26:38 +02:00
q3k 85f1833287 Cleaned up interrupt stuff. 2012-07-09 12:45:27 +02:00
q3k c97b395c1e Fixed stuff to work with high kernel address. 2012-07-08 11:19:00 +02:00
q3k ec47899cc4 The kernel loads again! 2012-07-08 10:44:14 +02:00
q3k 8e640f27ff Development branch... 2012-05-17 09:33:34 +00:00
q3k 21e53083da Get rid of this for now... 2012-05-08 16:56:01 +00:00
q3k 1d0fef067f Heap... for real this time. 2012-05-08 15:35:47 +02:00
q3k 5afc36193f Heap... 2012-05-08 15:35:12 +02:00
q3k 3ccbf696ab Exceptions! 2012-05-08 14:57:44 +02:00
q3k 8d8469295f Be less fucking. 2012-05-07 17:22:20 +00:00
q3k 3d08b2ba2c We don't need interrupts.asm anymore. 2012-05-07 17:05:01 +00:00
q3k b67c670e38 Interrupts are working!!!!111!!!!! zomg 2012-05-07 16:53:06 +00:00
q3k 6f065bc9b2 64-bitted kpanic 2012-04-21 18:39:09 +00:00
q3k 3db74b8dba Oops. 2012-04-21 18:32:02 +00:00
q3k 8191a6ed49 More 64 bit interrupts... 2012-04-21 18:06:00 +00:00
q3k 5b5ea26330 First steps into 64-bit ISR... 2012-04-21 16:55:29 +00:00
Sergiusz Bazanski 6911f10dd0 Be less dramatic about not present IOAPICs and Processors. 2011-12-20 16:28:31 +01:00