sortix-mirror/sortix
Jonas 'Sortie' Termansen b0df5186e6 Fixed two very nasty bugs in the x86 memory management code.
1) The PML2 was not initialized to zeroes, thus leaving some bits behind that
caused the fork code to go crazy, forking the unforkable, and mapping addresses
that never, ever, should have been mapped, leaving behind a trail of page faults
and general protection faults on some computers, while other computers worked
because the uninitalized memory just wasn't uninitialized enough. Yep, this was
a schrödinbug!

2) Fixed a time bomb. The kernel heap was accidentally put such that whenever a
few megabytes were allocated, it would begin overwriting the physical page stack
causing unthinkable events to unfold and would probably be even more obscure to
debug than 1).

Oh, and some string errors fixed and removed RunApplication from kernel.cpp,
funny thing that even linked in the first place. Guess, the optimizer actually
did work for once. :)
2011-10-20 03:52:08 +02:00
..
x64 Ported the GDT and TSS to x64. 2011-10-10 01:16:36 +02:00
x86 Fixed two very nasty bugs in the x86 memory management code. 2011-10-20 03:52:08 +02:00
x86-family Fixed two very nasty bugs in the x86 memory management code. 2011-10-20 03:52:08 +02:00
.gitignore Restored support for JSSortix using very ugly hacks. :( 2011-09-08 11:10:41 +02:00
bits.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
descriptor_tables.cpp Ported the GDT and TSS to x64. 2011-10-10 01:16:36 +02:00
descriptor_tables.h Ported the GDT and TSS to x64. 2011-10-10 01:16:36 +02:00
descriptors.cpp Added a wrapper class for handling file descriptors. 2011-08-07 19:47:43 +02:00
descriptors.h Added a wrapper class for handling file descriptors. 2011-08-07 19:47:43 +02:00
device.cpp Sortix now uses the Device class. 2011-08-08 15:20:08 +02:00
device.h Sortix now uses the Device class. 2011-08-08 15:20:08 +02:00
elf.cpp Fixes to memory management that helps me sleep at night. 2011-10-10 17:22:03 +02:00
elf.h Processes now remember the memory segments it has loaded. 2011-08-27 16:46:00 +02:00
filesystem.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
filesystem.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
initrd.cpp Added the programs ls and help. 2011-08-28 12:38:01 +02:00
initrd.h Added the programs ls and help. 2011-08-28 12:38:01 +02:00
interrupt.cpp Rewrote memory management again and added support for x64 and forking. 2011-10-10 01:02:57 +02:00
interrupt.h Refactored interrupt system and got rid of old not-mine code. 2011-09-07 18:45:07 +02:00
kernel.cpp Fixed two very nasty bugs in the x86 memory management code. 2011-10-20 03:52:08 +02:00
keyboard.cpp Restored the partial support for x64. 2011-09-08 21:09:14 +02:00
keyboard.h Restored support for JSSortix using very ugly hacks. :( 2011-09-08 11:10:41 +02:00
log.cpp Removed lots of deprecated suff! 2011-09-06 19:51:47 +02:00
log.h Removed lots of deprecated suff! 2011-09-06 19:51:47 +02:00
Makefile Rewrote memory management again and added support for x64 and forking. 2011-10-10 01:02:57 +02:00
memorymanagement.h Fixed two very nasty bugs in the x86 memory management code. 2011-10-20 03:52:08 +02:00
mount.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
mount.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
multiboot.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
mxfs.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
mxfs.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
panic.cpp Added a friendly message on panic, and SIGSEGV no longer panics. 2011-09-07 17:48:01 +02:00
panic.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
pci.cpp Removed lots of deprecated suff! 2011-09-06 19:51:47 +02:00
pci.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
platform.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
process.cpp Rewrote memory management again and added support for x64 and forking. 2011-10-10 01:02:57 +02:00
process.h Added a shell, a few programs, and added support for SIGINT. 2011-08-28 12:38:01 +02:00
scheduler.cpp Rewrote memory management again and added support for x64 and forking. 2011-10-10 01:02:57 +02:00
scheduler.h Added a shell, a few programs, and added support for SIGINT. 2011-08-28 12:38:01 +02:00
serialterminal.cpp Restored support for JSSortix using very ugly hacks. :( 2011-09-08 11:10:41 +02:00
serialterminal.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
sound.cpp Restored the partial support for x64. 2011-09-08 21:09:14 +02:00
sound.h Added a sound api. 2011-08-22 00:25:28 +02:00
stream.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
syscall.cpp Refactored interrupt system and got rid of old not-mine code. 2011-09-07 18:45:07 +02:00
syscall.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
system.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
thread.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
time.cpp Restored support for JSSortix using very ugly hacks. :( 2011-09-08 11:10:41 +02:00
time.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
uart.cpp Restored support for JSSortix using very ugly hacks. :( 2011-09-08 11:10:41 +02:00
uart.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
user.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
vga.cpp Rewrote memory management again and added support for x64 and forking. 2011-10-10 01:02:57 +02:00
vga.h VGA Cursor code is now in vga.cpp. 2011-08-23 21:02:15 +02:00
vgaterminal.cpp VGA Cursor code is now in vga.cpp. 2011-08-23 21:02:15 +02:00
vgaterminal.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00