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
Jonas 'Sortie' Termansen
02a711befb
Replace Maxsi::String::Accept with strspn.
2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen
e5cf6c18f7
Replace Maxsi::String::Compare with strcmp.
2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen
70da61f5d1
Replace Maxsi::String::Copy with strcpy.
2012-12-14 14:13:35 +01:00
Jonas 'Sortie' Termansen
5e4dadbba0
Replace Maxsi::String::Length with strlen.
2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen
5e7bf8527c
Move <libmaxsi/sortedlist.h> into kernel tree.
2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen
df7d8ca335
Move crc32 checksum code into kernel.
2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen
2c286d6830
Replace <libmaxsi/format.h> with <stdio.h>.
2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen
b4374f66b7
Replace <libmaxsi/memory.h> with <string.h>.
2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen
5d082b3bbb
Replace Maxsi::Error:: with <errno.h>.
2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen
42754f1728
Replace ASSERT with assert of <assert.h>.
2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen
b685b7a9eb
Don't include Maxsi:: API in kernel.cpp.
...
Since kernel.cpp is intended to be an example of the current best coding
practices within the Sortix kernel, and the Maxsi:: API is deprecated and
is being removed, it should rather use the nice C standard library.
2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen
0437d75147
Remove libmaxsi stddef.h and stdarg.h.
...
These are provided by the cross compiler.
2012-12-14 14:13:34 +01:00
Jonas 'Sortie' Termansen
b293fb3171
Remove kernel platform.h dependency on libmaxsi platform.h.
...
This reduces the dependence on libmaxsi with the aim that the Maxsi:: api
can be removed and replaced with the standard C library.
2012-12-14 14:13:33 +01:00
Jonas 'Sortie' Termansen
3095503b9b
Correct usage of deprecated nat and byte data types.
2012-12-14 14:13:33 +01:00
Jonas 'Sortie' Termansen
9cf092d32e
Use cross compiler in build system.
2012-12-14 14:13:33 +01:00
Jonas 'Sortie' Termansen
81530bc58c
Really fix size_t declarations by asking compiler.
2012-09-12 12:39:30 +02:00
Jonas 'Sortie' Termansen
cceaaf0089
Fix declaration of size_t on x86.
2012-09-12 12:19:57 +02:00
Jonas 'Sortie' Termansen
53e945aa4f
Fix including private signal.h in kthread.h.
2012-09-12 12:18:51 +02:00
Jonas 'Sortie' Termansen
82035e87da
Add makefile targets for installing sysroot base headers.
2012-09-10 21:45:38 +02:00
Jonas 'Sortie' Termansen
0b94239912
Fix missing WEXITSTATUS in init and kernel.
2012-09-09 23:08:03 +02:00
Jonas 'Sortie' Termansen
66487f2895
Make waitpid(2) fail on signal arrival.
2012-09-09 22:58:18 +02:00
Jonas 'Sortie' Termansen
da7f10269d
Better declarations of limits in stdint.h.
...
This is more compatible with how gcc limits.h does stuff.
2012-09-09 22:41:02 +02:00
Jonas 'Sortie' Termansen
0245e9867c
Fix NULL deference if no ATA bus is present.
2012-09-09 13:15:33 +02:00
Jonas 'Sortie' Termansen
b9b697f2cb
Implement proper W* error codes in sys/wait.h and kernel.
...
Note that signals can't really kill a process at this time.
2012-09-09 12:21:39 +02:00
Jonas 'Sortie' Termansen
b0807e8c7a
Fix reading /dev/video/fb causing a write instead.
...
This really fucks stuff up.
2012-09-08 19:40:22 +02:00
Jonas 'Sortie' Termansen
07b3cc8e06
Implement WNOHANG in waitpid(2).
2012-09-08 19:19:31 +02:00
Jonas 'Sortie' Termansen
356ae79f64
Don't deliver signals to zombies.
2012-09-08 19:15:56 +02:00
Jonas 'Sortie' Termansen
32a1be0008
Increased tab size from 4 to 8.
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen
16019e5897
Make interrupt handler more robust.
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen
3fd270f7a2
Remove trailing whitespace.
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen
09c4f34e66
Remove -pc from Sortix host triplet.
2012-09-08 18:45:53 +02:00
Jonas 'Sortie' Termansen
17a93359dd
Add . and .. support to kernel filesystems.
...
This makes the hack in ls(1) not needed and is hence removed.
2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen
118fc9ce9a
The lfb text buffer class now uses the correct cursor color.
2012-09-08 18:45:52 +02:00
Jonas 'Sortie' Termansen
755e855c08
Renamed sforkr(2) to tfork(2).
...
It's a much better name if you think of it as task-fork or thread-fork in the
sense that it either modifies this task or creates a new one. This call will
be used to provide user-space threads as well as fork(2).
2012-09-08 18:45:52 +02:00