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
05ab18b44e
Updated PCI DB.
2013-07-05 14:47:36 +02:00
q3k
a13cbc2fb1
Make it build.
2013-04-23 14:15:31 +02:00
q3k
b4f6409bcb
Starting for C++ paging management...
2013-03-01 19:07:44 +01:00
q3k
63d86fc625
Re-enabled Alentours PCI info.
2013-02-03 15:54:43 +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
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