Commit Graph

38 Commits (87907c0f75de4affca9d6dcbab77d916248e1d7c)

Author SHA1 Message Date
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 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 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 05b3631004 LAPIC access via macros instead of structures.
Because I couldn't discover a way to make gcc access these structures in a sane, 32-bit wide way.
2012-10-29 11:08:58 +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 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 83ca746166 nah nah nah i'm giant faggot (forgot to stage prototypes for new ISRs) 2012-07-20 23:33: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 5afc36193f Heap... 2012-05-08 15:35:12 +02:00
q3k 3ccbf696ab Exceptions! 2012-05-08 14:57:44 +02: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 8191a6ed49 More 64 bit interrupts... 2012-04-21 18:06:00 +00:00
q3k 1e06f2464a Updated interrupt-related structured to 64-or-more-or-less-bit. 2012-04-21 16:36:44 +00:00
Sergiusz Bazanski 5452900ddb Kernel: That's lame... I forgot to commit the APIC files. 2011-08-29 01:44:16 +02:00
Sergiusz Bazanski 48f344e0cb Kernel: LAPIC... Some of it. 2011-08-29 01:42:26 +02:00
Sergiusz Bazanski 6491e08287 Kernel: More SMP stuff.. 2011-08-28 18:06:40 +02:00
Sergiusz Bazanski 30d307c3a5 Kernel: SMP IOAPIC parsing. 2011-08-28 13:19:12 +02:00
Sergiusz Bazanski aa562e4203 Kernel: Renamed MP -> SMP. 2011-08-28 13:01:47 +02:00
Sergiusz Bazanski cdbb6c70ba Kernel: Some MP structures. 2011-08-28 12:56:46 +02:00
Sergiusz Bazanski 7166c7c725 Kernel: MP processor listing. 2011-08-28 04:30:57 +02:00
Sergiusz Bazanski 1896f50079 Kernel: MP pointer table detection. 2011-08-28 03:36:23 +02:00
Sergiusz Bazanski 75954afcad Kernel: ACPI. 2011-08-27 22:17:54 +02:00
Sergiusz Bazanski f489f89d39 Kernel: GDT code... Even though we don't need it in 64-bit mode. 2011-08-27 22:08:59 +02:00
Sergiusz Bazanski ce2c3e2662 Kernel: Paging, physical memory reading. 2011-08-27 19:43:37 +02:00
Sergiusz Bazanski f3a475fef7 Kernel, Loader: More messing around with paging. 2011-08-27 15:11:48 +02:00
Sergiusz Bazanski e220b87f16 Kernel: renamed physical_alloc to physmem. 2011-08-25 20:06:16 +02:00
Sergiusz Bazanski 438943bb9c Kernel, Loader: Load context, PMM stubs, System Info struct. 2011-08-25 19:56:32 +02:00
Sergiusz Bazanski e04c28f1be Working on the PMM 2011-07-02 13:03:29 +02:00
Sergiusz Bazanski 503a5cd7bc Some issues with directory names on Windows... 2011-06-28 13:32:22 +02:00