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
024ab3a3fd
Cleaned up debug.
2013-07-09 10:51:39 +02:00
q3k
5a94b26f14
Rewrote loader to support more complex sections.
...
This fixes relying on UB to expect elf sections to be page-aligned in
file.
2013-07-09 10:40:35 +02:00
q3k
7381cb0a5a
Refactored loader into multiple files.
2013-07-08 21:11:30 +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
381321a2ba
Migrated loader to Clang/LLVM... but still using LD from binutils.
2013-06-18 10:18:09 +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
22000db5e9
Merge branch 'master' of hackerspace.pl:q3k/Cucumber
2012-10-30 11:48:09 +01:00
q3k
da16e53c86
Merge branch 'master' of hackerspace.pl:q3k/Cucumber
...
Conflicts:
Kernel/src/Tier0/kmain.c
2012-10-29 21:37:32 +01:00
q3k
b2e69f18b8
APIC timer calibration.
...
Kind of. With the PIT. So 90's.
Conflicts:
Kernel/src/Tier0/kmain.c
2012-10-29 21:36:04 +01:00
q3k
31fed61a76
More work on APIC.
...
Conflicts:
Kernel/src/Alentours/PCI.cpp
2012-10-29 21:34:33 +01:00
q3k
faab8e3c55
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 21:33:51 +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
9177b35b11
gitignore updated
...
added tags to gitignore.
2012-09-21 12:46:42 +02:00