Commit graph

310 commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen
3cab1113cf Made EOPNOTSUPP an alias for ENOTSUP. 2012-03-12 01:46:12 +01:00
Jonas 'Sortie' Termansen
2cdeb575f8 Renamed EACCESS to EACCES.
Stupid POSIX.
2012-03-12 01:43:00 +01:00
Jonas 'Sortie' Termansen
6de3c462be Added EMFILE. 2012-03-12 01:37:50 +01:00
Jonas 'Sortie' Termansen
44e2537d7b Added mode_t to <sys/types.h>.
Gonna do something about that header.
2012-03-12 01:31:48 +01:00
Jonas 'Sortie' Termansen
d564574cd0 Added fseterr(3). 2012-03-12 01:31:48 +01:00
Jonas 'Sortie' Termansen
366cc2549a Added the stdio_ext(3) API.
The API is available in <stdio.h> without __ prefix if _SORTIX_SOURCE.
2012-03-12 00:38:48 +01:00
Jonas 'Sortie' Termansen
d033a58b10 Added a hacky definition of MB_CUR_MAX. 2012-03-11 20:49:50 +01:00
Jonas 'Sortie' Termansen
4ad0d360da Added EILSEQ. 2012-03-11 20:44:57 +01:00
Jonas 'Sortie' Termansen
9fa5690d79 Added time_t declaration to <time.h>. 2012-03-11 20:38:55 +01:00
Jonas 'Sortie' Termansen
beb88d0443 Added EPIPE. 2012-03-11 20:11:32 +01:00
Jonas 'Sortie' Termansen
c2660e5432 Added EBUSY. 2012-03-10 23:18:27 +01:00
Jonas 'Sortie' Termansen
f8bcf3117d Added ENOTEMPTY. 2012-03-10 23:12:31 +01:00
Jonas 'Sortie' Termansen
bdd8b2a77a Added strnlen(3). 2012-03-10 23:04:49 +01:00
Jonas 'Sortie' Termansen
cde10097e6 Fixed realloc(3) bug causing buffer overruns. 2012-03-07 20:52:44 +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
d6f9505d3b Made getdelim(3) follow POSIX-2008 a bit more closely.
It now reads lines that aren't delimited, but terminated by EOF.
2012-03-07 15:52:07 +01:00
Jonas 'Sortie' Termansen
3cc1f7a687 Made fgetc(3) and fputc(3) use unsigned char internally. 2012-03-07 15:51:25 +01:00
Jonas 'Sortie' Termansen
2722c3f03d Added EINTR. 2012-03-06 13:36:44 +01:00
Jonas 'Sortie' Termansen
9f7175fbc8 Forgot to add fputs(3) to <stdio.h>. 2012-03-06 13:24:10 +01:00
Jonas 'Sortie' Termansen
065ceae509 Added fgets(3). 2012-03-06 13:15:02 +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
fa4bd9e7a8 Forgot to add extern "C" to sscanf. 2012-03-05 16:06:15 +01:00
Jonas 'Sortie' Termansen
c03738a9f3 Added a stub for sscanf(3).
This stub implements an ugly hack to help port binutils.

Hopefully we'll get a real scanf family of functions soon.
2012-03-05 16:01:43 +01:00
Jonas 'Sortie' Termansen
f089a030b4 Added stub for lstat(2). 2012-03-05 15:50:41 +01:00
Jonas 'Sortie' Termansen
4b2c22d480 Added access(2). 2012-03-05 15:46:23 +01:00
Jonas 'Sortie' Termansen
cd350620f2 Added fputs(3). 2012-03-05 13:32:42 +01:00
Jonas 'Sortie' Termansen
bc38dc5127 Added a stub for environ(3). 2012-03-05 13:20:37 +01:00
Jonas 'Sortie' Termansen
25b33b4755 Fixed broken declaration of mktemp(3) in <stdlib.h>. 2012-03-05 13:10:56 +01:00
Jonas 'Sortie' Termansen
85549b5688 Uncommented warning in <assert.h> to prevent compile errors in binutils.
This is because they treat warnings as errors.
2012-03-05 13:09:00 +01:00
Jonas 'Sortie' Termansen
c1affdf6db Added missing extern "C" linkages in libmaxsi/string.cpp. 2012-03-05 13:08:02 +01:00
Jonas 'Sortie' Termansen
7082ac4ac9 Forgot to add extern "C" linkage to mktemp(3). 2012-03-05 13:05:45 +01:00
Jonas 'Sortie' Termansen
5449ae78f4 Added atol(3) and atoll(3). 2012-03-05 12:53:58 +01:00
Jonas 'Sortie' Termansen
422d2fd579 Added qsort(3).
This is a rather slow implementation. Will be fixed soon.
2012-03-05 12:37:59 +01:00
Jonas 'Sortie' Termansen
12e8dd6d81 Added stub for getenv(3). 2012-03-04 23:55:41 +01:00
Jonas 'Sortie' Termansen
00c3aaa919 Added stub for ctime(3). 2012-03-04 23:51:39 +01:00
Jonas 'Sortie' Termansen
e2d673294c Added a stub for assert(3). 2012-03-04 23:40:30 +01:00
Jonas 'Sortie' Termansen
7c33b3f10f Always show the declaration of sbrk(2).
This was done because binutils need this to compile.
2012-03-04 23:36:04 +01:00
Jonas 'Sortie' Termansen
be98120b49 Added stubs for setjmp(3) and longjmp(3). 2012-03-04 23:15:32 +01:00
Jonas 'Sortie' Termansen
390150839e Added a stub for umask(2). 2012-03-04 23:01:41 +01:00
Jonas 'Sortie' Termansen
6f9b8b2f64 Added stubs for chmod(2) and fchmod(2). 2012-03-04 22:57:44 +01:00
Jonas 'Sortie' Termansen
9b2de25f9b Added strcasecmp(3), strncasecmp(3) and <strings.h>.
Why <strings.h>? Stupid POSIX.
2012-03-04 22:46:24 +01:00
Jonas 'Sortie' Termansen
2b57319c1c Added stub for time(3). 2012-03-04 22:26:27 +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
c0a02248da Added <sys/time.h>, struct timeval and gettimeofday(3) stub. 2012-03-04 22:05:52 +01:00
Jonas 'Sortie' Termansen
e006687645 Added abort(3) to <stdlib.h>. 2012-03-04 21:49:03 +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
777fc04682 Added <time.h>, clock_t, and a stub for clock(3). 2012-03-04 18:38:23 +01:00
Jonas 'Sortie' Termansen
0bd6a4ff67 Added <math.h>. 2012-03-04 18:17:04 +01:00
Jonas 'Sortie' Termansen
6695da9229 Added strncat(3). 2012-03-04 18:12:54 +01:00
Jonas 'Sortie' Termansen
73e2d9db3c Made errno(3) a macro to itself. 2012-03-04 18:06:24 +01:00
Jonas 'Sortie' Termansen
38f27a45fc Added strpbrk(3). 2012-03-04 17:44:24 +01:00
Jonas 'Sortie' Termansen
b1b123109a Added mktemp(3).
This is a stupid, ugly function added for compatibility.
2012-03-04 17:29:50 +01:00
Jonas 'Sortie' Termansen
5d826ec284 Added strstr(3). 2012-03-04 17:20:42 +01:00
Jonas 'Sortie' Termansen
6c6e1091a1 Added memmove(3). 2012-03-04 17:10:52 +01:00
Jonas 'Sortie' Termansen
a52200f4a7 Added strncpy(3).
This function is stupid.
2012-03-04 17:00:59 +01:00
Jonas 'Sortie' Termansen
90ea0d3e64 Added strdup(3) to <string.h>. 2012-03-04 16:54:53 +01:00
Jonas 'Sortie' Termansen
ac7e55ffbd Added st_dev to struct stat. 2012-03-04 16:48:24 +01:00
Jonas 'Sortie' Termansen
f9f59e9536 Added ELAKE. 2012-03-03 01:06:32 +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
c5302df277 error(3) now doesn't print an error if supplied errno=0. 2012-03-01 16:42:13 +01:00
Jonas 'Sortie' Termansen
982b9a732a Fixed bug where fopen(3) used the wrong mode in call to fdopen(3). 2012-03-01 14:30:20 +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
75b3b9c858 Added a Maxsi::String::Substring function. 2012-02-21 23:23:57 +01:00
Jonas 'Sortie' Termansen
2a4a51fafc Added getline(3), getdelim(3), sortix_gets(3) and gets(3).
gets(3) exists and is an alias for sortix_gets(3) if _SORTIX_SOURCE.

sortix_gets(3) returns a pointer to a safe newly read and allocated line.
2012-02-13 01:07:02 +01:00
Jonas 'Sortie' Termansen
3bf5b1f17e Added realloc(3). 2012-02-13 00:31:05 +01:00
Jonas 'Sortie' Termansen
4804e60a8b Fixed race condition when building libmaxsi with -j.
The headers could end up being made before their dirs were ready.
2012-02-12 13:54:07 +01:00
Jonas 'Sortie' Termansen
c8dfe630af Removed annoying warnings when declaring x64 systemcalls.
Actually, the warnings are true, but that's a task for later.
2012-02-12 13:20:53 +01:00
Jonas 'Sortie' Termansen
c6682265aa Fixed minor compile errors in fddir-sortix.c. 2012-02-12 13:20:53 +01:00
Jonas 'Sortie' Termansen
e05e934beb Changed return type of FILE::tell_func to off_t. 2012-02-12 13:20:53 +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
b4131def9f The offsetof macro now expands to __builtin_offsetof.
The compiler knows this stuff best, anyway.
2012-02-11 19:50:27 +01:00
Jonas 'Sortie' Termansen
d693f8a2f4 Fixed broken <stddef.h>. 2012-02-11 19:38:51 +01:00
Jonas 'Sortie' Termansen
6d1129c29a Removed compile warnings related to feature macros.
Accidentally commited them. Oops.
2012-02-11 19:03:17 +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
88c7788b4e Fixed stdint.h include guard conflicting with unistd.h. 2012-02-11 18:46:17 +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
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
ecc3114f2a Refactored the system to use the new Terminal interface.
This will allow development of a better terminal providing stdin.

Added new system calls settermmode(2) and gettermmode(2) declared in
<sys/termmode.h>. They allow querying and changing the current mode of
terminals (enabling raw keyboard data, signal handling, line buffering,
UTF-8 encoding stdin, and more). However, all that is unsupported by the
current terminal device driver.

Added KBKEY_ENCODE and KBKEY_DECODE macros to <sys/keycodes.h> which allows
encoding the kbkey format in UTF-32 characters.
2012-01-22 16:48:57 +01:00
Jonas 'Sortie' Termansen
ead0e1523f Refactored the kernel keyboard API, but kept system calls compatible.
Caps lock now works as caps lock, not as shift lock.

This new design will allow implementing a working tty, such that stdin is
the only way to access the keyboard, instead of the current hacky way of
using a special system call to read from the keyboard.

Added a new system header file <sys/keycodes.h> defining the constants for
every key on the keyboard. This will be used in future APIs.

The main change is to split the keyboard driver into a class that reads
from the keyboard, while another class handles the translation into
printable characters (if possible). This allows a terminal driver based
on logical key presses and printable characters, instead of a terminal
driver based only on unicode-ish codes.
2012-01-22 15:53:50 +01:00
Jonas 'Sortie' Termansen
ac51e98cb8 Improved removal performance in Maxsi::SortedList. 2012-01-21 01:35:17 +01:00
Jonas 'Sortie' Termansen
f29f6dd053 ValidateHeap is now only called when PARANOIA is at least 2.
This speeds up memory allocations from O(N) to O(1) by default.
2012-01-20 23:22:12 +01:00
Jonas 'Sortie' Termansen
f676cf75f4 Added ENOTSUP. 2012-01-18 15:40:31 +01:00
Jonas 'Sortie' Termansen
17d1b67a77 Fixed bug in fopen(3) where it didn't open correctly. 2012-01-18 12:40:31 +01:00
Jonas 'Sortie' Termansen
d2c4b1d6ac Added readdir(3), closedir(3), rewinddir(3), dirfd(3), fdopendir(3),
opendir(3).

Also added non-standard dregister(3), dunregister(3), dclearerr(3),
derror(3), deof(3), dnewdir(3), dcloseall(3).
2012-01-15 00:51:27 +01:00
Jonas 'Sortie' Termansen
8d18993584 Added stpcpy(3). 2012-01-14 17:20:17 +01:00
Jonas 'Sortie' Termansen
a06902baf6 Added strcoll(3). 2012-01-14 16:44:48 +01:00
Jonas 'Sortie' Termansen
56084556bb Added stubs for truncate(2) and ftruncate(3). 2012-01-14 16:37:21 +01:00
Jonas 'Sortie' Termansen
0519af33ee Added stubs for rmdir(2) and mkdir(2). 2012-01-14 16:25:28 +01:00
Jonas 'Sortie' Termansen
c5ddc6923a Added ENOSYS. 2012-01-14 16:09:30 +01:00
Jonas 'Sortie' Termansen
1824dd6867 Added memchr(3). 2012-01-09 01:38:44 +01:00
Jonas 'Sortie' Termansen
10a37e1f98 Added {,v}s{,n}printf(3). 2012-01-09 00:31:42 +01:00
Jonas 'Sortie' Termansen
91015a2ea7 Made the size_t declaration compatible with GCC. 2012-01-09 00:31:14 +01:00
Jonas 'Sortie' Termansen
66c411b43a sys/types.h now declares pid_t. 2012-01-08 23:25:11 +01:00
Jonas 'Sortie' Termansen
df728efb8c Added strchr(3), strchrnul(3), strrchr(3). 2012-01-08 22:26:32 +01:00
Jonas 'Sortie' Termansen
4806f25e50 Added strtok(3), strtok_r(3), strspn(3), strcspn(3). 2012-01-08 21:59:21 +01:00
Jonas 'Sortie' Termansen
9064185bd8 Added memcmp(3). 2012-01-08 20:17:27 +01:00
Jonas 'Sortie' Termansen
46e717e30f Revert ".so's are no longer installed into sysroot as there are no kernel support."
This reverts commit e6db1874e7ed16a6987d5a86d7f6c10cd8b0ffff.

These dummy .so's are actually OK.
2012-01-08 15:53:10 +01:00
Jonas 'Sortie' Termansen
7cd5363af8 Disabled shared libaries in libmaxsi by default. 2012-01-08 15:49:33 +01:00
Jonas 'Sortie' Termansen
145da20c04 Added a libg (symlink to libc) and symlinks are now copied to sysroot. 2012-01-08 15:45:13 +01:00
Jonas 'Sortie' Termansen
d3c16470e3 .so's are no longer installed into sysroot as there are no kernel support. 2012-01-08 15:39:40 +01:00
Jonas 'Sortie' Termansen
954fd11703 Added isalnum(3), isalpha(3), isblank(3), iscntrl(3), isdigit(3),
isgraph(3), islower(3), isprint(3), ispunct(3), isspace(3), isupper(3),
isxdigit(3), tolower(3), and toupper(3).
2012-01-08 15:35:35 +01:00
Jonas 'Sortie' Termansen
ad200ffa91 Added getpagesize(2) with the new return type size_t.
This function is non-standard  and size_t is better than int here.
2012-01-08 14:58:57 +01:00
Jonas 'Sortie' Termansen
809bedd32b Just ignore the restrict keyword fully. 2012-01-08 14:30:50 +01:00
Jonas 'Sortie' Termansen
8eebe18922 Added an implementation of puts(3) because gcc needs it.
I still didn't add it to stdio.h since it's still stupid.
2012-01-08 14:30:50 +01:00
Jonas 'Sortie' Termansen
25d8551b26 Moved _start into crtbegin.o as that's where the cross compiler wants it. 2012-01-08 14:30:50 +01:00
Jonas 'Sortie' Termansen
9a77901883 Added missing prototypes to stdio.h. 2011-12-30 01:23:00 +01:00
Jonas 'Sortie' Termansen
73a7e8f53d Forgot to actually add remove(3) in the previous commit. 2011-12-30 01:13:41 +01:00
Jonas 'Sortie' Termansen
deee5e4335 Added a partial implementation of remove(3), since rmdir(2) is missing. 2011-12-30 01:11:33 +01:00
Jonas 'Sortie' Termansen
5d16b5c61e Added getchar(3) and putchar(3). 2011-12-30 01:06:27 +01:00
Jonas 'Sortie' Termansen
66999ff94a Added putc(3) and getc(3). 2011-12-30 01:03:24 +01:00
Jonas 'Sortie' Termansen
d39d4222b5 Added fputc(3) and fgetc(3). 2011-12-30 00:55:59 +01:00
Jonas 'Sortie' Termansen
76800553da Clarified comment about typedef struct _FILE FILE. 2011-12-30 00:42:36 +01:00
Jonas 'Sortie' Termansen
064b69d2b6 Added fseeko(3) and ftello(3). 2011-12-30 00:36:39 +01:00
Jonas 'Sortie' Termansen
912b2f78f0 Implemented the fdio backend of fseek(3) and ftell(3). 2011-12-26 23:15:52 +01:00
Jonas 'Sortie' Termansen
648b324385 Added lseek(2). 2011-12-26 23:12:12 +01:00
Jonas 'Sortie' Termansen
2b3b4ed62a error(3) and perror(3) now writes to stderr. 2011-12-24 04:39:16 +01:00
Jonas 'Sortie' Termansen
fdbd4ca90d Implemented large parts of the stdio(3), including fprintf.
Made FILE an interface to various backends. This allows application writers
to override the standard FILE API functions with their own backends. This
is highly unportable - it'd be nice if a real standard existed for this.
glibc already does something like this internally, but AFAIK you can't hook
into it.

Added fdopen(3), fopen(3), fregister(3), funregister(3), fread(3),
fwrite(3), fseek(3), clearerr(3), ferror(3), feof(3), rewind(3), ftell(3),
fflush(3), fclose(3), fileno(3), fnewline(3), fcloseall(3), memset(3),
stdio(3), vfprintf(3), fprintf(3), and vprintf(3).

Added a file-descriptor backend to the FILE API.

fd's {0, 1, 2} are now initialized as stdin, stdout, and stderr when the
standard library initializes.

fcloseall(3) is now called on exit(3).

decl/intn_t_.h now @include(size_t.h) instead of declaring it itself.

Added <stdint.h>.

The following programs now flush stdout: cat(1), clear(1), editor(1),
init(1), mxsh(1).

printf(3) is now hooked up against vprintf(3), while Maxsi::PrintF
remains using the system call, for now.
2011-12-24 04:28:34 +01:00
Jonas 'Sortie' Termansen
4841d83ff8 Added calloc(3). 2011-12-24 04:05:38 +01:00
Jonas 'Sortie' Termansen
0515111314 The initial ramdisk is now mapped onto a special location.
This fixes issues where it did not fit into the first few MiB,
or that GRUB loaded it someplace weird.

The kernel heap is now also protected against growing into the
ramdisk and the kernel stack.
2011-12-22 14:13:18 +01:00
Jonas 'Sortie' Termansen
203f2a2bb1 Better default octal detection in strtol(3). 2011-12-16 22:24:29 +01:00
Jonas 'Sortie' Termansen
73bcafc004 strtol(3) now returns 0 if the string was + or -. 2011-12-16 21:44:32 +01:00
Jonas 'Sortie' Termansen
f1a49dbad3 Hex numbers now work properly in strtol(3). 2011-12-16 21:15:26 +01:00
Jonas 'Sortie' Termansen
da2bfac34f Fixed bug in strtol*. 2011-12-16 18:28:22 +01:00
Jonas 'Sortie' Termansen
bf6a4c1861 Added strto{u,}{l,}l(3). 2011-12-16 16:49:27 +01:00
Jonas 'Sortie' Termansen
acf1eebc98 Added user-space memory allocation. 2011-12-16 13:24:49 +01:00
Jonas 'Sortie' Termansen
fecaf6b43f System calls in libmaxsi now use the constants from syscallnum.h. 2011-12-09 12:41:06 +01:00
Jonas 'Sortie' Termansen
0bb91ee161 printf(3) now supports signed integers and ptrdiff_t. 2011-12-05 13:59:26 +01:00
Jonas 'Sortie' Termansen
854d9b171a uptime(2) now reports usecs instead of msecs. 2011-12-04 21:27:21 +01:00
Jonas 'Sortie' Termansen
597e700618 Removed outdated comment about sleep(2) and signals. 2011-12-04 21:08:26 +01:00
Jonas 'Sortie' Termansen
5bc05c4e0e Moved around comments in heap.cpp. 2011-12-04 20:59:42 +01:00
Jonas 'Sortie' Termansen
fcc6147c5c Prevent the kernel from calling system calls. 2011-12-04 20:56:29 +01:00
Jonas 'Sortie' Termansen
60d23eac19 printf now understands %l and %j. 2011-12-04 20:53:43 +01:00
Jonas 'Sortie' Termansen
de70b1804d Rewrote the x86 64-bit division stubs, which now actually work. 2011-12-04 19:02:35 +01:00
Jonas 'Sortie' Termansen
a2dd8be7aa Fixed using wrong system call in libmaxsi/x64/signal.s 2011-12-04 18:24:06 +01:00
Jonas 'Sortie' Termansen
61f02431ee Removed ConvertUInt{8,16} - ConvertUInt32 handles their input instead. 2011-12-04 15:49:29 +01:00
Jonas 'Sortie' Termansen
3b8bf9419d Removed obsolete functions to read from the initrd.
Use the initrd filesystem instead.
2011-12-04 15:38:02 +01:00
Jonas 'Sortie' Termansen
635a49644a Made usleep(2) a sortix extension. 2011-12-04 15:24:55 +01:00
Jonas 'Sortie' Termansen
7623ff8092 unistd.h now uses the __useconds_t from sortix/bits.h. 2011-12-04 15:11:39 +01:00
Jonas 'Sortie' Termansen
b0859c6d92 usleep'ing for 0 usecs simply causes a context-switch. 2011-12-02 22:37:17 +01:00
Jonas 'Sortie' Termansen
ae1c157445 Temporary hack to make x64 system calls use the right registers. 2011-12-01 14:54:47 +01:00
Jonas 'Sortie' Termansen
6562da4092 waitpid(2) now returns ECHILD on error. 2011-12-01 14:54:19 +01:00
Jonas 'Sortie' Termansen
c0c20860ed Lots of improvements to 64-bit Sortix.
Fixed 64-bit-ness bug in BSR() and BSF().
Added 64-bit system call stubs in libmaxsi.
Added a Elf64 program loader.
Fixed uninitialized memory bug in the scheduler.
x64/boot.s now takes care of user-space memory permissions.
Fixed bug in x64/syscall.s

That's right. The system now boots in 64-bit mode.

It is horribly unstable, though.
2011-12-01 10:45:44 +01:00
Jonas 'Sortie' Termansen
0b1c2a77c9 x64 now compiles again and runs on real hardware.
A nasty bug was fixed that caused triple faults on systems with > 1 GiB RAM.
2011-11-29 01:31:54 +01:00
Jonas 'Sortie' Termansen
8c146f14c0 Added uptime(1). 2011-11-28 16:29:53 +01:00
Jonas 'Sortie' Termansen
6781308360 Rewrote the memory allocation functions.
free(3) can now unify unused neighbor blocks, reducing mem usage.
2011-11-27 22:53:05 +01:00
Jonas 'Sortie' Termansen
4f3a7230b0 Destroying the addressspace after exit prevents leak of at least 16 KiB. 2011-11-27 12:02:34 +01:00
Jonas 'Sortie' Termansen
bd1b1fe3bc Added isatty(2), which is used by editor. 2011-11-26 21:00:40 +01:00
Jonas 'Sortie' Termansen
9152443816 Added memstat, a program for displaying memory usage. 2011-11-26 20:14:57 +01:00