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
11e6c2a34d
Basic idea about virtual memory... Now we need a physical memory
...
manager beforehand.
2012-10-30 13:21:40 +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
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
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
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
247dcd80dc
Merge branch 'master' of http://code.hackerspace.pl/q3k/Cucumber into alentours-dev
2012-10-28 10:26:31 +01:00
q3k
6631f85bcc
Kernel runnable on new QEmu with KVM enabled by default.
2012-10-28 10:25:08 +01:00
q3k
848d5ebb63
QEMU without kvm.
2012-10-23 21:20:03 +02: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
57601cac2c
Fixed Lua interpreter crap.
...
My memcmp() implementation was non standards compliant. Fuck.
2012-09-24 14:33:04 +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
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
94339f53f6
I'm a silly moose.
2012-08-23 14:04:48 +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
b19b999489
GCC. Your debug segments. Out. Now.
2012-07-21 00:40:26 +02:00
q3k
b02ab5dae4
Use a less retarded memory model (large->kernel). Now with less pipeline fuckuping!
2012-07-21 00:39:36 +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
83ca746166
nah nah nah i'm giant faggot (forgot to stage prototypes for new ISRs)
2012-07-20 23:33:38 +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
1985bc652d
Lua interpreter source added.
...
Will adapt code to my needs, just need this commit for tracing the changes
I make to it.
2012-07-09 17:06:01 +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