Jonas 'Sortie' Termansen
d494dc2d53
Made an integer-to-string API for user-space to use.
2011-09-06 16:16:25 +02:00
Jonas 'Sortie' Termansen
00f5c627b7
mxmpp somehow got the readme of mksound, an unrelated program.
2011-09-06 15:59:43 +02:00
Jonas 'Sortie' Termansen
7037b2f002
Userspace program's makefiles now properly delete from initrd/.
2011-09-06 15:55:56 +02:00
Jonas 'Sortie' Termansen
0b373050f2
Added conway's game of life.
2011-08-29 00:09:37 +02:00
Jonas 'Sortie' Termansen
b39a5700cc
Removed pong/ to games/ as it will soon store multiple games.
2011-08-29 00:09:10 +02:00
Jonas 'Sortie' Termansen
6ae297d088
Ugly hacks to restore support for Sortix on real hardware.
2011-08-28 16:59:07 +02:00
Jonas 'Sortie' Termansen
f26e6e803a
The Sortix programs are now compiled into initrd/.
2011-08-28 12:42:06 +02:00
Jonas 'Sortie' Termansen
2c18d43359
Added the programs ls and help.
2011-08-28 12:38:01 +02:00
Jonas 'Sortie' Termansen
34e9ca277d
Added a shell, a few programs, and added support for SIGINT.
2011-08-28 12:38:01 +02:00
Jonas 'Sortie' Termansen
2f9d08a800
Added a process execute API.
2011-08-28 12:38:01 +02:00
Jonas 'Sortie' Termansen
011addf46c
The initrd now uses the mkinitrd format and the kernel now loads it.
2011-08-28 12:38:01 +02:00
Jonas 'Sortie' Termansen
d9c0c8d0cd
Added a driver to parse the Sortix init ramdisk.
2011-08-27 20:08:33 +02:00
Jonas 'Sortie' Termansen
fa7834b5d6
Added a mkinitrd program that creates initrds for Sortix.
2011-08-27 16:57:03 +02:00
Jonas 'Sortie' Termansen
5c86cb4abd
Processes now remember the memory segments it has loaded.
2011-08-27 16:46:00 +02:00
Jonas 'Sortie' Termansen
b9484c24f2
Added the GNU licenses used for Sortix.
2011-08-27 14:47:43 +02:00
Jonas 'Sortie' Termansen
04f5fd03f8
Added the new pong program for Sortix!
2011-08-23 21:02:15 +02:00
Jonas 'Sortie' Termansen
1fd4e6b63e
Minor change in keyboard.cpp.
2011-08-23 21:02:15 +02:00
Jonas 'Sortie' Termansen
8d86dc6f6a
Changing the sound frequency no longer prints to the terminal.
2011-08-23 21:02:15 +02:00
Jonas 'Sortie' Termansen
cd78c42c78
VGA Cursor code is now in vga.cpp.
2011-08-23 21:02:15 +02:00
Jonas 'Sortie' Termansen
7510708ea1
Gave user-space access to VGA color constants.
2011-08-23 21:02:15 +02:00
Jonas 'Sortie' Termansen
013c5b5e71
Processes in the initrd are now made from ELF files.
2011-08-23 21:02:00 +02:00
Jonas 'Sortie' Termansen
4898343e2f
The ELF loader now uses program headers and not section headers.
2011-08-23 18:16:44 +02:00
Jonas 'Sortie' Termansen
b705bf27a1
Fixed bug in MapRange{User,Kernel}.
2011-08-23 18:16:44 +02:00
Jonas 'Sortie' Termansen
ea396ddd69
Libmaxsi now offers printf to user-space programs.
2011-08-23 01:32:49 +02:00
Jonas 'Sortie' Termansen
9db2c88aca
Sortix can now load ELF executables into addresses spaces.
2011-08-23 00:42:56 +02:00
Jonas 'Sortie' Termansen
e5eaf3eeb5
Added the MapRange virtual memory functions.
2011-08-23 00:33:57 +02:00
Jonas 'Sortie' Termansen
b80195dc19
Implemented the new physical page allocator API.
2011-08-22 21:12:55 +02:00
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
Jonas 'Sortie' Termansen
4c1cb806ba
Added a sound api.
2011-08-22 00:25:28 +02:00
Jonas 'Sortie' Termansen
55e9d358cf
Hello editor now doesn't require '[' in ANSI escape sequences.
2011-08-21 20:31:17 +02:00
Jonas 'Sortie' Termansen
47c44caa8d
Fixed move-cursor-left bug in vgaterminal.
2011-08-21 12:52:56 +02:00
Jonas 'Sortie' Termansen
9ee93082c5
Hello is now a hello world sample ANSI text editor.
2011-08-21 12:52:56 +02:00
Jonas 'Sortie' Termansen
4db550c13b
Added libmaxsi keyboard API, allowing user-space to use the keyboard.
2011-08-21 12:52:56 +02:00
Jonas 'Sortie' Termansen
ed2b3cb5c9
Prevented user-space from issueing non-user-space interrupts.
2011-08-12 21:00:15 +02:00
Jonas 'Sortie' Termansen
ec8c0c533b
Removed accidentally included infinite debug loop in kernel.cpp.
2011-08-12 20:13:31 +02:00
Jonas 'Sortie' Termansen
a2f70f358c
Added linebreaks after maxsi logo.
2011-08-12 20:09:40 +02:00
Jonas 'Sortie' Termansen
9995354f95
Moved CPU code shared by x86 and x64 into x86-family.
2011-08-12 17:33:18 +02:00
Jonas 'Sortie' Termansen
4728809c00
The serial terminal now clears the screen using ANSI when initialized.
2011-08-12 17:29:45 +02:00
Jonas 'Sortie' Termansen
64d191a882
x86 now has a driver for rebooting.
2011-08-12 15:13:18 +02:00
Jonas 'Sortie' Termansen
fe65e12992
Removed unnededed TLB flush from libmaxsi heap code.
2011-08-12 00:55:48 +02:00
Jonas 'Sortie' Termansen
15ce53919c
Added VGA API allowing userspace to easily access 0xB8000.
2011-08-11 22:03:13 +02:00
Jonas 'Sortie' Termansen
1026354e98
Sortix now uses the Device class.
...
This class is very WIP and is just experimental.
2011-08-08 15:20:08 +02:00
Jonas 'Sortie' Termansen
e95eb60d31
Provide a virtual address where pages can be temporarily mapped.
2011-08-08 15:20:02 +02:00
Jonas 'Sortie' Termansen
6ae7ddbcb3
Descriptors are now public members in processes.
2011-08-08 15:20:02 +02:00
Jonas 'Sortie' Termansen
412d3e78b2
AlignDown and AlignUp aligns an address on a page boundary.
2011-08-08 15:20:02 +02:00
Jonas 'Sortie' Termansen
e78443d92a
Processes now keep track of where their code section ends.
...
This is very hacky, but allows us to allocate address space.
2011-08-08 15:19:49 +02:00
Jonas 'Sortie' Termansen
db34033d40
Removed unneeded #includes from sortix/memorymanagement.cpp.
2011-08-07 20:14:26 +02:00
Jonas 'Sortie' Termansen
07b409c1a0
Added a wrapper class for handling file descriptors.
2011-08-07 19:47:43 +02:00
Jonas 'Sortie' Termansen
e78390d9c2
Added a line counting make target for statistics.
2011-08-07 03:02:37 +02:00
Jonas 'Sortie' Termansen
206a7993f3
Such that the sortix subdir is git'd too.
2011-08-07 01:38:51 +02:00