Commit Graph

142 Commits (c93a20ad032bb5c0d6a133fcd319dcb15a26f28b)

Author SHA1 Message Date
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
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 db7f090b42 Fixing .gitignore for .o's in Kernel/src/Lua/
I'm a silly moose.
2012-08-23 14:04:03 +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 72e99fb192 .gitdescription 2012-07-30 14:37:33 +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