sortix-mirror/sortix
Jonas 'Sortie' Termansen d392045559 Extended and documented the memory management API.
Physical paging have been extended with Page::Insert() and Page::GetStats()
which allows the physical paging system to add new pages to the physical page
allocator, and still keep the "free/used pages" count accurate, and providing
this information to the kernel (and user-space at some point).

The virtual memory API has been extended with RemapKernel(), RemapUser(),
MapRangeKernel(), UnmapRangeKernel(), MapRangeUser(), and UnmapRangeUser().
This huge number of related functions have been created in the hope that it
hides the internal complexity of portable virtual memory management and avoid
bugs. It is crucial that the correct group of functions are used when solving
a problem and that they are not mixed in a manner not documented.

I probably overdocumented the code - hopefully it should help avoiding making
stupid or bothersome code.

Another problem is that code calling Page::Get() often should call something
like Page::AlwaysGetPageEvenIfYouHaveToSwap(). I'd be swell to have a function
that always gets a page under heavily-swapping conditions. Possibly Page::Get()
could become that?
2011-08-22 21:05:10 +02:00
..
x64 Moved CPU code shared by x86 and x64 into x86-family. 2011-08-12 17:33:18 +02:00
x86 Moved CPU code shared by x86 and x64 into x86-family. 2011-08-12 17:33:18 +02:00
x86-family Moved CPU code shared by x86 and x64 into x86-family. 2011-08-12 17:33:18 +02:00
.gitignore Adding proper .gitignore files. 2011-08-07 01:22:36 +02:00
Makefile Moved CPU code shared by x86 and x64 into x86-family. 2011-08-12 17:33:18 +02:00
application.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
astroids.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
astroids.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
bits.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
conway.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
conway.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
descriptor_tables.cpp Prevented user-space from issueing non-user-space interrupts. 2011-08-12 21:00:15 +02:00
descriptor_tables.h Initial version of Sortix. 2011-08-05 14:25:00 +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
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
globals.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
http.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
iirqhandler.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
iprintable.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
iprintable.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
isr.cpp Added libmaxsi keyboard API, allowing user-space to use the keyboard. 2011-08-21 12:52:56 +02:00
isr.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
kernel.cpp Added libmaxsi keyboard API, allowing user-space to use the keyboard. 2011-08-21 12:52:56 +02:00
keyboard.cpp Added libmaxsi keyboard API, allowing user-space to use the keyboard. 2011-08-21 12:52:56 +02:00
keyboard.h Added libmaxsi keyboard API, allowing user-space to use the keyboard. 2011-08-21 12:52:56 +02:00
link.ld Initial version of Sortix. 2011-08-05 14:25:00 +02:00
log.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
log.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
memorymanagement.cpp Hello is now a hello world sample ANSI text editor. 2011-08-21 12:52:56 +02:00
memorymanagement.h Extended and documented the memory management API. 2011-08-22 21:05:10 +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 linebreaks after maxsi logo. 2011-08-12 20:09:40 +02:00
panic.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
pci.cpp Hello is now a hello world sample ANSI text editor. 2011-08-21 12:52:56 +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
pong.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
pong.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
process.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
scheduler.cpp Processes now keep track of where their code section ends. 2011-08-08 15:19:49 +02:00
scheduler.h Descriptors are now public members in processes. 2011-08-08 15:20:02 +02:00
serialterminal.cpp The serial terminal now clears the screen using ANSI when initialized. 2011-08-12 17:29:45 +02:00
serialterminal.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
shell.cpp Initial version of Sortix. 2011-08-05 14:25:00 +02:00
shell.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
sound.cpp Added a sound api. 2011-08-22 00:25:28 +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 Added a sound api. 2011-08-22 00:25:28 +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
test.cpp 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 Initial version of Sortix. 2011-08-05 14:25:00 +02:00
time.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
types.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00
uart.cpp Initial version of Sortix. 2011-08-05 14:25:00 +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 Added VGA API allowing userspace to easily access 0xB8000. 2011-08-11 22:03:13 +02:00
vga.h Added VGA API allowing userspace to easily access 0xB8000. 2011-08-11 22:03:13 +02:00
vgaterminal.cpp Fixed move-cursor-left bug in vgaterminal. 2011-08-21 12:52:56 +02:00
vgaterminal.h Initial version of Sortix. 2011-08-05 14:25:00 +02:00