summaryrefslogtreecommitdiff
path: root/src/user
AgeCommit message (Collapse)Author
2022-07-31user/shell: use an array of function pointers for the builtinsdzwdz
2022-07-31user: replace the MOUNT macro with MOUNT_ATdzwdz
The old style could be confused with a regular function, where the driver would be executed unconditionally. This should make it more obvious that the driver doesn't get executed in the parent process.
2022-07-30user/fs: create a shared library for handling directory readsdzwdz
2022-07-30user: stderrdzwdz
2022-07-30user/bootstrap: discard the relocation sectionsdzwdz
2022-07-29user/libc: properly implement snprintf; the v*printf familydzwdz
2022-07-29syscall/write: WRITE_TRUNCATEdzwdz
2022-07-29syscall: up the max argument count to 5; make write accept flagsdzwdz
2022-07-29use a shared fs_normslice() function to handle offsetsdzwdz
2022-07-28user/shell: redirectionsdzwdz
2022-07-27user/exec: shebang supportdzwdz
2022-07-27user/libc: a shitty fgets()dzwdz
2022-07-27user/shell: basic shell script supportdzwdz
2022-07-27user/shell: fix echodzwdz
2022-07-27user/shell: actual parsing, multiple argument supportdzwdz
2022-07-27user/libc: execve() supports passing argv nowdzwdz
2022-07-27user/libc: fseek()dzwdz
2022-07-27user: cleanup init and the shell's codedzwdz
2022-07-26user: break out the shell and tests into separate binariesdzwdz
2022-07-26user/libc: execv()dzwdz
2022-07-26user/shell: automatically execute binaries in /bin/dzwdz
2022-07-26user/libc: a _start that automatically selfrelocates PIEsdzwdz
2022-07-26user/libc: exit()dzwdz
What an interesting commit.
2022-07-26user/libc: separate into filesdzwdz
2022-07-26user/libc: make FILE an opaque typedzwdz
2022-07-26user/libc: fread, fwrite, fclosedzwdz
2022-07-26user/libc: fdopendzwdz
2022-07-26user: posix-compatible FILE* openingdzwdz
2022-07-26user: add missing includedzwdz
2022-07-26user: move the POSIX-y stuff to the proper header filesdzwdz
2022-07-26shared: move some headers from shared/ to camellia/dzwdz
2022-07-26tools: add tools/sort_includes.rbdzwdz
2022-07-26move user_bootstrap to user/bootstrap for consistency's sakedzwdz
2022-07-26user: mount the initrd and /kdev in user_bootstrapdzwdz
2022-07-24user: put the testelf in a sensible location in the treedzwdz
2022-07-24user: change the directory structure to prepare for multiple binariesdzwdz
2022-07-23user_bootstrap: pass the initrd in an argument to init's maindzwdz
2022-07-23init: compile as an elfdzwdz
2022-07-20user/elf: free memory not belonging to the elf when jumping to itdzwdz
2022-07-20syscall/execbuf: EXECBUF_JMPdzwdz
2022-07-18syscalls: implement execbufdzwdz
i have been planning to implement something like this for a while now. it should be faster when doing consecutive syscalls (to be tested). it will also be helpful in writing the elf loader
2022-07-18user/elf: find free space for PIEsdzwdz
2022-07-18user: basic elf relocations, PIE supportdzwdz
2022-07-18user: a super primitive ELF loaderdzwdz
holy shit. this was simpler than i expected it to be
2022-07-17amd64: ensure all addresses are canonicaldzwdz
2022-07-17kernel/virt_cpy: error struct, better error handlingdzwdz
2022-07-16amd64: all tests passdzwdz
2022-07-16amd64: back at the shell!dzwdz
2022-07-16amd64: init can print to the terminal nowdzwdz
2022-07-16amd64: seemingly working syscalls (SYSCALL/SYSRET)dzwdz