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
05ab18b44e
Updated PCI DB.
2013-07-05 14:47:36 +02:00
q3k
b4f6409bcb
Starting for C++ paging management...
2013-03-01 19:07:44 +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
11e6c2a34d
Basic idea about virtual memory... Now we need a physical memory
...
manager beforehand.
2012-10-30 13:21:40 +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
19c5812c71
Update the ML4 class to reflect changes in functionality.
2012-10-30 12:08:11 +01:00
q3k
39fe121cb7
This is an ML4 class now.
2012-10-30 12:00:52 +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
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
43e3aa7e82
More PCI stuff - BARs.
2012-10-28 18:09:42 +01:00
q3k
46a5fb8642
More PCI stuff. Lua API, beginning.
2012-10-28 14:47:23 +01:00
q3k
bf27bbb79a
PCI database.
2012-10-28 13:30:00 +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
57601cac2c
Fixed Lua interpreter crap.
...
My memcmp() implementation was non standards compliant. Fuck.
2012-09-24 14:33:04 +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
8d01b60ba2
Makefile modified to build Lua.
...
But it isn't being used just yet...
2012-08-23 16:11:41 +02:00
q3k
58a49b7ffb
Including stubs for Lua to use.
...
Because I forgot them.
2012-08-23 15:44:36 +02:00
q3k
4161c5950b
Lua now compiles.
...
But it still won't link against the kernel, as it's missing
a lot of ANSI C functions. Time to find some BSD/MIT libc
implementations...
2012-08-23 15:42:57 +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