Jonas 'Sortie' Termansen
0364ce6f55
Added a new COM Port driver.
...
Any detected COM ports available as /dev/comN.
It currently utilizes AGAIN to do polling in user-space. This prevents it
from locking up the whole system and makes it respond to the SIGINT hack.
There is also a more reliable and faster polling-blocking mode, but it locks
up the entire system.
The main interrupt mode is broken, perhaps by a bug in VirtualBox.
2012-03-17 15:48:42 +01:00
Jonas 'Sortie' Termansen
1ff0321400
Added a stub for Syscall::Yield() which is used by broken code.
...
The whole system call interface is currently stupid.
2012-03-17 15:14:42 +01:00
Jonas 'Sortie' Termansen
798b421d16
Refactored devfs so new devices can easily be added.
2012-03-17 15:11:35 +01:00
Jonas 'Sortie' Termansen
5ec4e33196
Removed the last reference to the old kernel HTTP server.
2012-03-16 16:56:16 +01:00
Jonas 'Sortie' Termansen
2cdeb575f8
Renamed EACCESS to EACCES.
...
Stupid POSIX.
2012-03-12 01:43:00 +01:00
Jonas 'Sortie' Termansen
5b916b5f63
Added F_SETFL and F_GETFL to fcntl(2).
...
This is a bit of a hacky implementation.
2012-03-11 20:29:00 +01:00
Jonas 'Sortie' Termansen
868ed43e05
Removed sortix/mxfs.
...
It's unbelievable that this piece of dead code survived 8 months of
development on git. It doesn't even work, despit the comment that it
does.
2012-03-11 18:07:01 +01:00
Jonas 'Sortie' Termansen
f01d7951c1
stat(2) now supports directories.
...
A bit hackily, though.
2012-03-11 17:56:20 +01:00
Jonas 'Sortie' Termansen
6e536ba8f9
Fixed error codes in sortix/fs/devfs.
2012-03-11 17:55:52 +01:00
Jonas 'Sortie' Termansen
245e8bf0e3
Fixed error codes in sortix/fs/initfs.
2012-03-11 17:55:23 +01:00
Jonas 'Sortie' Termansen
f45cf8327a
Forgot to enable the /bin /dev hack in sortix/fs/ramfs.cpp.
2012-03-11 17:30:13 +01:00
Jonas 'Sortie' Termansen
cadac5ce2a
Moved the /bin and /dev hack into the kernel.
...
This makes ls seem less hacky.
2012-03-11 17:25:32 +01:00
Jonas 'Sortie' Termansen
8a9a0c58ea
Added kernelinfo(2), which reads a kernel information string.
...
Currently it lets you query the name of the kernel, its version, and the
build timestamp of the kernelinfo.cpp file.
2012-03-07 18:04:59 +01:00
Jonas 'Sortie' Termansen
6bcb3d7384
Added stat(2) and fstat(2) in the kernel.
...
It's a bit hacky, but it works.
lstat(2) currently redirects to stat(2).
2012-03-06 13:10:59 +01:00
Jonas 'Sortie' Termansen
4b2c22d480
Added access(2).
2012-03-05 15:46:23 +01:00
Jonas 'Sortie' Termansen
d3c4df72b1
Added st_{a,c,m}time to struct stat.
2012-03-04 22:25:47 +01:00
Jonas 'Sortie' Termansen
aa72efdb2c
Added <sortix/timeval.h> to the list of public headers.
2012-03-04 22:18:53 +01:00
Jonas 'Sortie' Termansen
c0a02248da
Added <sys/time.h>, struct timeval and gettimeofday(3) stub.
2012-03-04 22:05:52 +01:00
Jonas 'Sortie' Termansen
5e75f5c428
Added fcntl(3) with FD_GET and FD_SET.
2012-03-04 21:36:40 +01:00
Jonas 'Sortie' Termansen
75b14aa821
Refactored the descriptor table and added FD_CLOEXEC and FD_CLOFORK.
...
open(2) now also respects O_CLOEXEC and O_CLOFORK.
2012-03-04 21:06:49 +01:00
Jonas 'Sortie' Termansen
777fc04682
Added <time.h>, clock_t, and a stub for clock(3).
2012-03-04 18:38:23 +01:00
Jonas 'Sortie' Termansen
ac7e55ffbd
Added st_dev to struct stat.
2012-03-04 16:48:24 +01:00
Jonas 'Sortie' Termansen
db7781c54a
Install <sortix/*.h> headers in sysroot.
2012-03-04 16:04:12 +01:00
Jonas 'Sortie' Termansen
0ed0082070
Added execv(3) and execve(3).
...
Removed the older libmaxsi system call.
2012-03-02 15:00:11 +01:00
Jonas 'Sortie' Termansen
93a9ee334d
Removed a debug ifdef that isn't used.
2012-03-02 14:25:48 +01:00
Jonas 'Sortie' Termansen
cfbbf67247
make CALLTRACE=1 to enable printing primitive calltraces upon panic.
...
This won't work with optimizations turned fully on.
Added protection against double panics.
2012-03-02 14:08:25 +01:00
Jonas 'Sortie' Termansen
6dd0e586ff
Added protection against bad addrspace vars and bad Page::Put() calls.
...
This will offer protection against the bug fixed in the previous commit.
2012-03-02 13:51:03 +01:00
Jonas 'Sortie' Termansen
5e5991ce19
Fixed x86 addrspace destroy code calling Page::Put with garbage.
2012-03-02 13:45:33 +01:00
Jonas 'Sortie' Termansen
a7c38cb997
Improved bad currentdir variable panic message.
2012-03-02 00:09:08 +01:00
Jonas 'Sortie' Termansen
9c193777a9
Pipes now return 0 (EOF) if no data and no fds can write.
2012-03-01 14:31:12 +01:00
Jonas 'Sortie' Termansen
b4f47f0f79
Split descriptor_tables.cpp into a gdt.cpp and idt.cpp.
...
This was about time, since descriptor_tables was a really bad name!
2012-03-01 00:15:28 +01:00
Jonas 'Sortie' Termansen
5162a12d03
Further cleanup and refactoring of the interrupt code.
2012-02-29 23:03:40 +01:00
Jonas 'Sortie' Termansen
0e48b23429
Refactored the interrupt code to make it cleaner and more flexible.
...
Added support for hooking directly into an interrupt with your own
interrupt handler.
2012-02-29 15:40:30 +01:00
Jonas 'Sortie' Termansen
7ebed6dd6a
sortix/io.cpp now uses <sortix/seek.h>.
2012-02-24 22:02:01 +01:00
Jonas 'Sortie' Termansen
cbdf54fcdd
Moved SEEK_SET, SEEK_CUR, and SEEK_SET to <sortix/seek.h>.
2012-02-24 17:34:50 +01:00
Jonas 'Sortie' Termansen
5de83df6ec
Unified constants from sortix/filesystem.h and <fcntl.h> in <sortix/fcntl.h>.
2012-02-23 13:15:40 +01:00
Jonas 'Sortie' Termansen
03273d0076
Added stubs for stat(2), and fstat(2).
2012-02-22 00:30:34 +01:00
Jonas 'Sortie' Termansen
edd806fc74
Added a Refcounted class, useful for refcounted objects.
2012-02-21 20:12:52 +01:00
Jonas 'Sortie' Termansen
74dab2cbca
Cleaned up the Sortix makefile.
2012-02-13 13:16:43 +01:00
Jonas 'Sortie' Termansen
fec176fa15
Refactored the libmaxsi/ directory.
...
C and C++ files are now kept together and so are the mxmpp declarations.
Header files are now stored in include/ and mxmpp'd into preproc/.
All other code now -I ../libmaxsi/preproc.
And other stuff to make this happen, including refactoring Makefile.
2012-02-12 13:20:53 +01:00
Jonas 'Sortie' Termansen
4e29f2b907
Fixed spelling error in sortix/*/bits.h.
2012-02-11 21:20:49 +01:00
Jonas 'Sortie' Termansen
ead53567a1
Made the compile process a little less verbose.
2012-02-11 19:06:00 +01:00
Jonas 'Sortie' Termansen
ed68db03fb
Replaced SORTIX_EXTENSIONS macro with _SORTIX_SOURCE macro.
...
<features.h> declares _SORTIX_SOURCE if no conflicting macros are
declared, such as _GNU_SOURCE.
Fixed g++ automatically declaring _GNU_SOURCE, but Sortix isn't GNU.
Replaced SORTIX_UNIMPLEMENTED macro with __SORTIX_SHOW_UNIMPLEMENTED.
2012-02-11 18:51:55 +01:00
Jonas 'Sortie' Termansen
028867ab9d
Removed the unused and deprecated old <libmaxsi/sortix-keyboard.h> API.
...
This has been entirely replaced by stdin and <sys/termmode.h>.
2012-02-10 13:46:26 +01:00
Jonas 'Sortie' Termansen
c4264d9c2a
Ported the user-space programs to use stdin for keyboard access.
...
The old keyboard API is hereby deprecated and unused.
2012-02-10 13:46:26 +01:00
Jonas 'Sortie' Termansen
fa9c7007b4
Implemented a terminal that reads from keyboard and writes to kernel log.
...
This terminal will provide the keyboard data in a couple modes as /dev/tty.
2012-02-10 13:28:28 +01:00
Jonas 'Sortie' Termansen
4ba906a157
Added a class for handling terminal linebuffering.
2012-02-10 13:28:28 +01:00
Jonas 'Sortie' Termansen
133fb9871c
Fixed buggy and broken KBKEY_ENCODE and KBKEY_DECODE macros.
2012-02-10 13:28:28 +01:00
Jonas 'Sortie' Termansen
5fde8e13ed
Blocking systemcalls now return EBLOCKING instead of EWOULDBLOCK.
...
EWOULDBLOCK is now used when it wanted to block, but didn't.
2012-02-10 13:28:28 +01:00
Jonas 'Sortie' Termansen
9bcfdad174
Added protection against running terminated threads.
...
A bool is set when a thread is terminated, which may help detect it.
A cached version of the thread's pid is also kept around.
And lastly, the thread is unsubscribed from events upon destruction.
2012-02-10 13:27:11 +01:00