78 Commits

Author SHA1 Message Date
9f393754f6
feat(kernel/syscalls): implement uname syscall
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-10 22:38:52 +00:00
551853c5d6
fix(userspace/libc): implement gethostname()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-10 22:05:28 +00:00
6b4faf9f78
fix(userspace/libc): remove stub macros in termios.c
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-10 21:04:53 +00:00
b008b8089c
fix(userspace/libc): missing include <sys/ioctl.h>
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-10 19:32:16 +00:00
67692f2cef
feat(userspace/libc): define TIOC*WINSZ constants in <sys/ioctl.h>
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-10 01:14:18 +00:00
45d34c688f
fix(userspace/libc): fix puts() in interpreter
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-07 02:09:16 +00:00
9e746c52bc
feat(kernel/api): implement arm syscall wrappers
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 23:18:18 +00:00
3740b65263
fix(userspace/libc): add libgcc link to fix softfloat
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 23:17:15 +00:00
77e51a6f2c
feat(userspace/libc): add experimental __aeabi_dcmpun() function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 18:58:32 +00:00
42b8b6895f
fix(userspace/libc): fix wrong implementation of ioctl()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 18:54:18 +00:00
e01f488768
feat(kernel/api): implement i386 syscall wrappers
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 17:38:59 +00:00
a0e3993a3f
feat(userspace/libc): implement <math.h> header
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 04:21:06 +00:00
5e0a80fa1c
feat(userspace/libc): implementation <fenv.h> header
FIXME: testing required!
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-05 03:23:19 +00:00
68acf428a2
fix(userspace/libc): disable debug info in memory allocation functions
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-03 18:26:00 +00:00
659805960b
fix(userspace/libc): wrong puts() implementation
The implementation didn't fully followed the POSIX.1-2024 standard "The puts() function shall write the string pointed to by s, followed by a <newline>, to the standard output stream stdout. The terminating null byte shall not be written."

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-03-03 12:08:39 +00:00
0769a82f4b
feat(userspace/libc): update math functions
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-26 02:10:06 +00:00
f978f2487e
feat(userspace/libc): add math stub functions
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-25 16:17:37 +00:00
7f3b2b4dbb
fix(userspace/libc): fix tzset() function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-22 03:26:49 +02:00
f6f46d1bbe
fix(userspace/libc): fix gmtime_r, localtime_r and mktime implementation
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-22 03:22:47 +02:00
c12ee67592
fix(userspace/libc): handle NULL input in getenv function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-22 02:52:11 +02:00
74ff9579f3
fix(userspace/libc): fopen should set buffer_pos to -1
This change is a fix for fread() because it needs to pass the if statement: "if (stream->buffer_pos >= stream->buffer_size)"

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-22 02:43:06 +02:00
d7cbeb9eba
fix(userspace/libc): modify __libc_init and crt0 to initialize "environ"
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-22 02:41:41 +02:00
93e57f5dbe
feat(userspace/libc): add stub termios implementation
Stub implementation! This needs a rewrite!

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-21 02:45:20 +02:00
db5a42289a
feat(userspace/libc): implement feof() and ferror() functions
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-21 02:43:00 +02:00
77136acccd
feat(userspace/libc): implement <time.h> header
Not tested enough!

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-21 02:42:33 +02:00
4240183fa1
fix(userspace/libc): cast status to int in __check_errno for proper error handling
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-21 02:33:40 +02:00
42f26787fb
feat(userspace/libc): implement getdelim and getline functions
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:20:26 +02:00
8d08ab933a
feat(userspace/libc): implement fstatat, lstat & stat
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:17:19 +02:00
c83c542f5b
feat(userspace/libc): implement fstat()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:12:02 +02:00
08319ef4c7
docs(syscalls): add documentation for FBIOGET_SCREEN_INFO ioctl
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:09:09 +02:00
f4168e2815
refactor(userspace/libc): implement pthread_sigmask, sigaddset, sigfillset & sigprocmask
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:07:40 +02:00
123d11e4e3
feat(userspace/libc): implement system() function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:07:04 +02:00
b1a107fb65
refactor(userspace/libc): replace syscall2 with call_kill in kill function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 02:00:26 +02:00
d375acd0ec
fix(userspace/libc): include <ctype.h> in stdlib.c
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 01:53:21 +02:00
5e6e63ab1a
feat(userspace/libc): implement <ctype.h> header
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 01:52:37 +02:00
ab4bc55270
feat(userspace/libc): implement atoi, strtol, and strtoll functions in <stdlib.h>
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 01:49:41 +02:00
e5acf4a99e
feat(userspace/libc): implement getpid, getppid & getuid
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 01:49:12 +02:00
5089cfa81b
feat(userspace/libc): implement <pwd.h> header
Implemented everything except endpwent() and setpwent()

NOT TESTED!

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-20 01:45:04 +02:00
b5fce27037
feat(userspace/libc): implement getchar() and getc()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 21:57:51 +02:00
0238f62894
fix(userspace/libc): fix error handling in ioctl function
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 21:03:53 +02:00
ce59b6ea03
feat(userspace/libc): extend termios header with input/output speed and winsize structure
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 20:59:48 +02:00
9dcb5abe89
feat(userspace/libc): add termios header file for terminal I/O control
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 20:43:37 +02:00
4ac29bbce1
feat(userspace/libc): define file descriptor macros for standard input/output
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 20:42:56 +02:00
4bb8ce6d00
feat(userspace/libc): complete <string.h> implementation
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-19 18:54:20 +02:00
0f9a1915d1
feat(userspace/libc): implement all <string.h> functions
Implement all string.h functions except some which require locale which is not implemented yet

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 22:15:20 +02:00
6dfefc90c4
feat(userspace/libc): implement strcpy function
Add strcpy implementation in string.c

Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 20:07:20 +02:00
c688bd7a97
feat: synchronize syscalls.h
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 19:59:59 +02:00
d9235c6f90
userspace/libc: implement qsort, realloc and reallocarray functions in stdlib
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:19:14 +02:00
afa87ec5f3
userspace/libc: implement strcoll()
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:18:40 +02:00
22d01c7a51
userspace/libc: add <sys/socket.h> for socket programming support
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
2025-02-14 02:18:15 +02:00