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
Steve Dougherty
af2d8cb9de
Fix typo in syscall registration sanity test.
2013-09-24 16:52:29 +02:00
Jonas 'Sortie' Termansen
efe70b3b3e
Avoid physical frame stack overflow.
2013-09-24 16:52:29 +02:00
Jonas 'Sortie' Termansen
2231e129b0
Fix deadlock in kthread_cond_wait.
2013-07-11 18:07:03 +02:00
Jonas 'Sortie' Termansen
dd0379c608
Fix calltrace implementation on x86 and x86-64.
2013-07-09 20:28:55 +02:00
Jonas 'Sortie' Termansen
aea6aefea9
Fix interlock implementation on x86_64 and x86.
2013-07-09 20:28:55 +02:00
Jonas 'Sortie' Termansen
986d331d39
Fix x86_64 declaration of uint64_t.
2013-07-09 20:28:55 +02:00
Jonas 'Sortie' Termansen
49a66893b2
Fix kernel compile warnings.
2013-07-09 20:28:55 +02:00
Jonas 'Sortie' Termansen
8318c51819
Allow syscall parameters and return values larger than native words.
...
Note: This is an incompatible ABI change.
2013-07-08 15:47:27 +02:00
Jonas 'Sortie' Termansen
d890488304
Void system calls must now have a return value.
2013-07-07 17:03:01 +02:00
Jonas 'Sortie' Termansen
96e4c00c5f
Detect and panic when running buggy qemu releases.
2013-06-21 23:20:14 +02:00
Jonas 'Sortie' Termansen
308b3169ca
Fix missing single quote character (') in US keyboard layout.
2013-02-27 12:34:45 +01:00
Jonas 'Sortie' Termansen
607128334f
Fix floating point corruption on thread exit.
2013-01-27 14:45:25 +01:00
Jonas 'Sortie' Termansen
754a10e274
Allow unloading video drivers.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
6037babcbf
Extend kernel video memory area to 386 MiB on x86.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
3116161f5d
BGA: Fix possible memory leak.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
4d37197472
Sort objects in kernel makefile.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
4f60d028ef
Update coding style of ATA driver.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
c9b3002e43
Add openat(2).
...
This is a rather hacky implementation.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
32f87f461d
Remember path when opening files.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
db57bb6336
Port remaining x86 nasm assembly to GNU as.
2012-12-14 14:13:37 +01:00
Jonas 'Sortie' Termansen
24c89ec673
Use libgcc.
2012-12-14 14:13:36 +01:00
Jonas 'Sortie' Termansen
838992c3d8
Don't build libmaxsi.a.
...
This should just about remove most of the old and deprecated (and now
obsolete) Maxsi:: API. Of course, large parts of libc still suffer from
its poor design, but I'll get around to fix that eventually.
2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen
bd8967069e
Replace libmaxsi headers with libc headers.
2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen
c0fabc2e8d
Move remainder of Maxsi::String into kernel tree.
2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen
1b26d1bacf
Make sprintf family freestanding.
...
And use them in the kernel.
2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen
c55a2882dc
Replace Maxsi::String::ToInt with atoi.
2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen
6ce762aac4
Replace Maxsi::String::Seek with strchr.
2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen
2206412e14
Replace Maxsi::String::Reject with strcspn.
2012-12-14 14:13:35 +01:00