Commit Graph

511 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 2525de507c Add kernel symbol support. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen 834789d006 Chain kernel frame pointer list with user-space. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen 4e3692cf88 Optimize x86_64 system calls. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen 951b6edccd Improve kernel terminal line editing. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen 3c6ecd6512 Add umask(2). 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen a91af78c1f Preserve modification dates when extracting initrd. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen 27bdbf1c9d Add utimens support to inodes. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen eb00186be1 Add x86 realtime clock support. 2013-12-17 14:30:35 +01:00
Jonas 'Sortie' Termansen 0903f4edc2 Add times(3). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen 3938f80055 Add timens(2). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen 04f797490d Add clocks for process and child execute and system time. 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen 5da12519cd Maintain recursive process execution and system time. 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen 1c64a7fda1 Maintain process execution and system time. 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen dbe8dafaac Refactor kernel calltrace.h header. 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen 1bc470624f Refactor kernel process.h and thread.h headers. 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen 7aa061e50e Refactor kernel signal.h header. 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen d0f68eec68 Refactor kernel cpu.h header. 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen 71a2fef5f6 Add clock_nanosleep(2). 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen 1e2550c0d5 Add clock_*(2) API. 2013-12-17 14:30:34 +01:00
Jonas 'Sortie' Termansen 2d94cd1246 Add alarm(2) and alarmns(2). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen df5deac29b Add support for per-process timers. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen ef32b3fcbe Add {,p}{read,write}v(2). 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen 73f3d1c251 Add /dev/net/fs network device. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen 658defdbc3 Refactor pipe implementation. 2013-12-17 14:30:33 +01:00
Jonas 'Sortie' Termansen 615bf32c60 Forward declare <signal.h> API. 2013-12-17 14:30:32 +01:00
Jonas 'Sortie' Termansen 0ff17a00c8 Add O_NONBLOCK support to the kernel terminal. 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen 514fab5359 Add O_NONBLOCK support to pipes. 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen c514dda0b2 Add O_NONBLOCK support to sockets. 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen 1052f2c47a Add O_NONBLOCK. 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen ed5f14878d Add AT_SYMLINK_FOLLOW. 2013-12-17 14:30:31 +01:00
Jonas 'Sortie' Termansen 79a49b2015 Add socket interface. 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen ee106231c4 Add utimensat(2) and futimens(2). 2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen 472155173d Adopt struct timespec as the kernel time format.
Note: Incompatible ABI change.
2013-12-17 14:30:30 +01:00
Jonas 'Sortie' Termansen 8162011b5d Add <time.h> header forward declarations.
Note that many of the functions are not yet implemented.
2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen dbc6c8c663 Add ioctl(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen ade239f18b Add {g,s}et{e,}{g,u}id(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen 087bacb30f Increase user-space stack to 512 KB. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen 38b146472e Implement F_SETFL and F_GETFL support in fcntl. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen ac1d64fd7e Refactor descriptor flags and security. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen f29abd73ec Add fsync(2). 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen 80b4287c9d Print program image path upon crash. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen f2556c3551 Keep track of program image path. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen e4bd7cad82 Add MAP_PRIVATE and MAP_SHARED to sortix/mman.h. 2013-12-17 14:30:29 +01:00
Jonas 'Sortie' Termansen 729bfa3c32 Add readlink{,at}(2). 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen fc8d64013d Refactor datatype declarations. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen ce66539ff7 Free surplus unused bcache blocks. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen 9434ee94fd Add file cache. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen dc4924585e Free the initrd after extraction. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen 54da838c79 Refactor kernel address space allocation. 2013-12-17 14:30:28 +01:00
Jonas 'Sortie' Termansen b8f85d9ef2 Add NSIG. 2013-12-17 14:30:27 +01:00
Jonas 'Sortie' Termansen b9d633108d Add wctype(3). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen 8e0aefda20 Add rename(2) and renameat(2). 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen fd6098a3a2 Locking a NULL pointer using ScopedLock is a noop. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen bb284d9421 Support doing calltraces on user-space/kernel crashes. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen 7b3fd0f06f Support doing kernel calltraces on another stack. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen ef53864d36 dispd: Wait for console rendering to finish.
This prevents a race condition where the console may still be rendering,
but the process may be able to get data on the screen faster, which results
in visual corruption as the two race.
2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen ca7ad9709f Queue lfb text render commands with async render. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen ad0875aaac Add TextPos relations. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen 907acf1e18 Add GetKernelProcess function to scheduler. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen 193b76f8cb Refactor scheduler API. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen 9ba7f26bf0 Refactor kernel time API and add timespec API. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen 5424760719 Refactor kernel interrupt API. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen 2ce76e3876 Refactor system call API. 2013-12-17 14:30:26 +01:00
Jonas 'Sortie' Termansen 76fe8602f3 Add poll support to pipes. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 51da410dea Add poll support to log terminal. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen b2b55bc34a Add poll(2) and ppoll(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen e76073cc4f Add user-space filesystem API. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 3b35dad9f7 Add AT_REMOVEFILE flag to unlinkat(2).
This allows unlinkat(2) to delete files and directories in the same call,
which is useful for the implementation of remove(3).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 1fa2df3e6a Replace system calls that accept a path with *at versions. 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 921deb6eeb Add linkat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 2ef2269168 Add fchmodat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen f21462bf18 Add fchmod(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen c1280bedb0 Add fchown(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen cb4569c615 Add fchownat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen f843e15666 Add truncateat(2).
Linux doesn't have this, but since I do truncate(2) in the kernel, it would
be more consistent to do it 'at'-style. (I will remove truncate(2) from the
kernel and let libc call truncateat(2) soon anyway).
2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 37a4c8f05e Add fchdir(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 7dd59dd2e0 Add mkdirat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen caf4a1f2c5 Add faccessat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 835f0d5fbc Add unlinkat(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 8e50f3d76b Add dup2(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 49fe4aa51f Add link(2). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen 2389a834b5 Add chown(3). 2013-12-17 14:30:25 +01:00
Jonas 'Sortie' Termansen a11439bc87 Add chmod(2). 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 1444683ea8 Refactor kernel VFS.
Note: This is an incompatible ABI change.
2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 945c769daf Fix ^C not clearing the line buffer. 2013-12-17 14:30:24 +01:00
Jonas 'Sortie' Termansen 90036ca6a8 Update copyright headers of old files to the current format. 2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen eb5be61d20 Fix trailing blank lines. 2013-12-17 14:30:23 +01:00
Jonas 'Sortie' Termansen 7eb9e3c33f Refactor Sortix build system and de-autoconf mxmpp. 2013-12-17 14:30:22 +01:00
Jonas 'Sortie' Termansen f72969a662 Add sigset_t. 2013-09-24 17:09:49 +02:00
Jonas 'Sortie' Termansen bf2c624c9b Add struct timespec. 2013-09-24 17:09:49 +02:00
Jonas 'Sortie' Termansen 3c821cb4a1 Make sys_memstat arguments optional. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen 0095983c80 Add dispmsg_issue(2). 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen b380dd49c1 Add useful functions to <sortix/kernel/video.h> API. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen b0c01f2c6a Make Memory::Lookup return false on unmapped pages. 2013-09-24 17:09:48 +02:00
Jonas 'Sortie' Termansen a685a9d68f Fix kernel thread frame pointer base case. 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen 5ad26d68a3 Add OFF_MIN and OFF_MAX. 2013-09-24 17:09:47 +02:00
Juhani Haverinen 7c85b4a057 Add support for right shift in US keyboard layout 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen dc4ef04e7c Add assembly file symbol sizes. 2013-09-24 17:09:47 +02:00
Jonas 'Sortie' Termansen 8a7a0db8c7 Add missing rdx register to x86_64 register dump function. 2013-09-24 16:52:29 +02:00
Jonas 'Sortie' Termansen 89118947ed Fix Sortix::Scheduler::ExitThread not being noreturn. 2013-09-24 16:52:29 +02:00