Commit graph

137 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
156e73d441 Optimize file descriptor allocation. 2014-12-01 22:51:07 +01:00
Jonas 'Sortie' Termansen
49000d3bee Upgrade to latest upstream multiboot header.
Tabs were converted to spaces as the original file was inconsistently
indented. The non-standard multiboot_uintx_t types were replaced with the
standard ones from <stdint.h>.
2014-12-01 22:51:07 +01:00
Jonas 'Sortie' Termansen
ec7e0cc9a6 Add cbprintf(3) and vcbprintf(3).
Thanks to Owen Shepherd of the Public Domain C Library for helping design
and formalize these interfaces.
2014-12-01 21:39:05 +01:00
Jonas 'Sortie' Termansen
536d7a06f5 Add fcntl(F_PREVFD) and fcntl(F_NEXTFD). 2014-12-01 21:39:05 +01:00
Jonas 'Sortie' Termansen
35708fa900 Retire calltrace support in favor of the kernel debugger. 2014-12-01 21:38:06 +01:00
Jonas 'Sortie' Termansen
b6b19c88fd Use the word invalid instead of illegal. 2014-11-30 19:53:42 +01:00
Jonas 'Sortie' Termansen
76bf0eb30c Remove String::Combine kernel function.
This function has followed me through a few projects for many years. It's
time to retire it. It's not too terribly well-written and it's mostly
replaced by the standard asprintf call. It's not even used in Sortix at the
moment.
2014-11-30 19:53:42 +01:00
Jonas 'Sortie' Termansen
58c7070134 Support \e[39m and \e[49m in the console. 2014-11-28 15:30:39 +01:00
Jonas 'Sortie' Termansen
e460be7a72 Add getentropy(2). 2014-11-28 13:35:51 +01:00
Jonas 'Sortie' Termansen
577f2f700b Add shutdown(2). 2014-11-27 01:39:53 +01:00
Jonas 'Sortie' Termansen
a8a8154adc Add getpeername(2) and getsockname(2). 2014-11-27 01:39:11 +01:00
Jonas 'Sortie' Termansen
ad8d025c32 Rename <sortix/syscallnum.h> to <sortix/syscall.h>. 2014-11-27 01:18:58 +01:00
Jonas 'Sortie' Termansen
bb84370c34 Add type limits and print/scan specifiers to <sys/types.h>. 2014-11-26 23:34:14 +01:00
Jonas 'Sortie' Termansen
ba12c1d246 Store loaded programs in special allocations rather than the kernel heap. 2014-11-26 22:27:57 +01:00
Jonas 'Sortie' Termansen
749d123331 Maintain counts of physical frames used for particular purposes. 2014-11-26 22:27:04 +01:00
Jonas 'Sortie' Termansen
6971cc59b0 Maintain count of used blocks in the filesystem cache. 2014-11-26 22:25:37 +01:00
Jonas 'Sortie' Termansen
36d2dcb745 Slightly improve addralloc virtual address space leaking. 2014-11-26 22:25:37 +01:00
Jonas 'Sortie' Termansen
f8c5adf20f Add #! support to execve(2). 2014-11-26 21:14:13 +01:00
Jonas 'Sortie' Termansen
f44e46cde5 Flatten initrd symbolic links to hardlinks inside the same directory. 2014-11-25 22:49:19 +01:00
Jonas 'Sortie' Termansen
ca70f03be8 Display progress bar during initrd extraction. 2014-11-25 20:57:45 +01:00
Jonas 'Sortie' Termansen
c1af231897 Optimize reading the CMOS real time clock. 2014-11-25 19:42:28 +01:00
Jonas 'Sortie' Termansen
ae73391a10 Clean up initrd extraction code. 2014-11-25 19:42:28 +01:00
Jonas 'Sortie' Termansen
01402052f6 Add tcgetblob(2) and tcsetblob(2). 2014-11-25 18:40:50 +01:00
Jonas 'Sortie' Termansen
20b8a3c639 Add support for \e[9xm and \e[10xm escape sequences. 2014-11-25 17:19:32 +01:00
Jonas 'Sortie' Termansen
2ff72426ec Implement SO_RCVBUF and SO_SNDBUF for filesystem sockets. 2014-11-25 17:14:46 +01:00
Jonas 'Sortie' Termansen
feea0786fc Increase default pipe buffer size to 64 KiB. 2014-11-24 22:32:57 +01:00
Jonas 'Sortie' Termansen
152d768112 Memory efficiently extract the initrd. 2014-11-24 22:32:57 +01:00
Jonas 'Sortie' Termansen
dc11b9f837 Add unicode support to kernel terminal and console. 2014-11-24 17:41:26 +01:00
Jonas 'Sortie' Termansen
9e6148f6ff Refactor default compiler options logic. 2014-11-24 17:10:50 +01:00
Jonas 'Sortie' Termansen
12eaf46873 Let kernel debugger know how it was invoked. 2014-11-21 00:12:46 +01:00
Jonas 'Sortie' Termansen
5dbd89d2aa Delay heap initialization until first heap expansion. 2014-11-20 21:09:14 +01:00
Jonas 'Sortie' Termansen
81ad72ae89 Fix renegade graphical console rendering thread.
The console rendering thread doesn't get shut down as the lfbtextbuffer did
not think it had a rendering thread. This causes corruptions to occur when a
subsequent resolution change destroys the lfbtextbuffer class instance, but
the thread continues to use the class. Lots of undefined behavior occurs as
the memory gets reallocated for other purposes.
2014-11-20 17:04:45 +01:00
Jonas 'Sortie' Termansen
ee13ffa715 Refactor kernel graphics support. 2014-11-19 00:08:49 +01:00
Jonas 'Sortie' Termansen
8f7c72abc1 Add utility functions for mapping PCI memory areas. 2014-11-18 23:14:49 +01:00
Jonas 'Sortie' Termansen
50ee8ca323 Implement searching for multiple PCI devices matching a pattern. 2014-11-18 22:00:29 +01:00
Jonas 'Sortie' Termansen
400eb2238f Refactor process id allocation and accounting. 2014-11-18 20:33:21 +01:00
Jonas 'Sortie' Termansen
25e07a9083 Refactor kernel interrupt and thread register support. 2014-11-18 20:33:21 +01:00
Jonas 'Sortie' Termansen
25b4125840 Relocate kernel IO port functions to <sortix/kernel/ioport.h>. 2014-11-18 18:10:22 +01:00
Jonas 'Sortie' Termansen
7b3e2fa229 Clean up kernel thread creation code. 2014-11-18 18:10:22 +01:00
Jonas 'Sortie' Termansen
a24ecf4b83 Add getsockopt(2) and setsockopt(2). 2014-11-18 18:10:22 +01:00
Jonas 'Sortie' Termansen
708bcb4735 Add recvmsg(2) and sendmsg(2). 2014-11-18 16:27:19 +01:00
Jonas 'Sortie' Termansen
79f7312a49 Fix page protection bugs. 2014-11-06 00:09:55 +01:00
Jonas 'Sortie' Termansen
b4c38fd044 Fix wrong sizeof in memstat(2). 2014-10-18 15:30:11 +02:00
Jonas 'Sortie' Termansen
e20dd6ed06 Fix waiting for absolute time on clocks. 2014-10-18 15:30:11 +02:00
Jonas 'Sortie' Termansen
1206113425 Fix userfs renaming between directories. 2014-10-18 15:30:11 +02:00
Jonas 'Sortie' Termansen
66f1a62743 Fix userfs bugs return values and bugs. 2014-10-04 17:10:25 +02:00
Jonas 'Sortie' Termansen
cef4c8d982 Fix waitpid status copying to user-space. 2014-10-04 17:10:25 +02:00
Jonas 'Sortie' Termansen
a6bb538bcf Fix user-space filesystem copying. 2014-10-04 17:10:25 +02:00
Jonas 'Sortie' Termansen
73dc4a0feb Fix kernel leaking ESPIPE in non-error cases. 2014-09-25 18:12:53 +02:00
Jonas 'Sortie' Termansen
933720e0b0 Remove obsolete system calls. 2014-09-25 17:49:02 +02:00