summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-10-31Fix wrong allocation size used in opendir().Andreas Kling
2018-10-31Use ALWAYS_INLINE for ctype inlines.Andreas Kling
2018-10-31Fix ls build.Andreas Kling
2018-10-31More LibC portability work while trying to get figlet building.Andreas Kling
2018-10-31A bunch of LibC boilerplate stuff added while trying to get figlet to build.Andreas Kling
2018-10-31Snazz up the sh prompt a bit. Add the current tty to it.Andreas Kling
2018-10-31Implement basic sys$kill() and add a /bin/killAndreas Kling
All it can do right now is send SIGKILL which just murders the target task.
2018-10-31Fuck it, add a 4th virtual console. :^)Andreas Kling
2018-10-31Add assertion that RTC year is >= 2018.Andreas Kling
2018-10-31Minor cleanup.Andreas Kling
2018-10-31Pass the register dump to syscall_entry() via an argument.Andreas Kling
I'm not sure why this was using a global, but it was very racy and made processes walk over each other when multiple processes were doing syscalls simultaneously.
2018-10-30Minor VGA cleanup.Andreas Kling
2018-10-30Fix bug where Console::the() was initialized too late.Andreas Kling
Yet another problem due to lack of BSS zeroing in the kernel loader...
2018-10-30Add sys$ttyname_r and ttyname_r() + ttyname().Andreas Kling
And print a greeting when sh starts up so we know which TTY we're on.
2018-10-30sh should read from fd 0 (stdin) instead of /dev/keyboard.Andreas Kling
2018-10-30Fix crashy bug where we'd try to deactivate VC -1 on boot.Andreas Kling
2018-10-30Virtual consoles kinda work!Andreas Kling
We now make three VirtualConsoles at boot: tty0, tty1, and tty2. We launch an instance of /bin/sh in each one. You switch between them with Alt+1/2/3 How very very cool :^)
2018-10-30Start working on virtual consoles/TTYs.Andreas Kling
This is a mess right now, but I'd rather commit as I go.
2018-10-30Basic support the backspace key.Andreas Kling
This doesn't mean we get any line editing just yet. But the keyboard device now recognizes the backspace key, and the console device knows what to do with the backspace characters.
2018-10-30Hang if a task crashes while it's already crashing..Andreas Kling
2018-10-30Implement sys$getcwd properly.Andreas Kling
Also fixed broken strcpy that didn't copy the null terminator.
2018-10-29Add an inode metadata cache to the ext2fs implementation.Andreas Kling
2018-10-29Improve ps output.Andreas Kling
2018-10-29Okay let's just not have this broken locking at all right now.Andreas Kling
I think I should just protect access to shared data structures and eventually do read/write atomicity locks at the inode level.
2018-10-29Fix broken SpinLock.Andreas Kling
The SpinLock was all backwards and didn't actually work. Fixing it exposed how wrong most of the locking here is. I need to come up with a better granularity here.
2018-10-28Fix up VFS::resolveSymbolicLink() to use a base inode instead of a base path.Andreas Kling
Also more VFS error plumbing.
2018-10-28Add basic symlink support.Andreas Kling
- sys$readlink + readlink() - Add a /proc/PID/exe symlink to the process's executable. - Print symlink contents in ls output. - Some work on plumbing options into VFS::open().
2018-10-28Add a VFS::absolutePath(InodeIdentifier).Andreas Kling
This is pretty inefficient for ext2fs. We walk the entire block group containing the inode, searching through every directory for an entry referencing this inode. It might be a good idea to cache this information somehow. I'm not sure how often we'll be searching for it. Obviously there are multiple caching layers missing in the file system.
2018-10-28Add zone dump to /proc/mm.Andreas Kling
Sweet, now we can look at all the zones (physical memory) currently in play. Building the procfs files with ksprintf and rickety buffer presizing feels pretty shoddy but I'll fix it up eventually.
2018-10-28Add /proc/mm and a /bin/mm utility that just dumps it.Andreas Kling
This shows some info about the MM. Right now it's just the zone count and the number of free physical pages. Lots more can be added. Also added "exit" to sh so we can nest shells and exit from them. I also noticed that we were leaking all the physical pages, so fixed that.
2018-10-28Add subregions to /proc/PID/vmAndreas Kling
2018-10-28Add sys$set_mmap_name and use it from LibC's malloc.Andreas Kling
It's nice to be able to identify mmap's in /proc/PID/vm.
2018-10-28Canonicalize the path used by sh.Andreas Kling
With a bunch of LibC work to support the feature. LibC now initializes AK::StringImpl by default. It's now fine to use AK in LibC/Userland! :^)
2018-10-28Add a simple FileSystemPath class that can canonicalize paths.Andreas Kling
Also a simple StringBuilder to help him out.
2018-10-28Add save/unsave cursor escape sequences.Andreas Kling
Also added a little terminal test program called /bin/tst.
2018-10-28Stop committing changes to _fs_contents and generate it in the sync script.Andreas Kling
2018-10-28Colorize ls output.Andreas Kling
2018-10-28Give the shell a nice, colorful prompt.Andreas Kling
The cwd looks like crap, I need to write some code to strip out ".." and extra slashes from the path string.
2018-10-28Add basic support for ANSI color escape sequences.Andreas Kling
2018-10-27Implement 'H' and 'J' escape sequences.Andreas Kling
2018-10-27Add a /bin/clear that prints the clear terminal escape sequence.Andreas Kling
It doesn't work yet, but it will!
2018-10-27Add some basic field width support to printf().Andreas Kling
Use it to make "ls" output a bit better. Also sys$spawn now fails with EACCES if the path is not a file that's executable by the current uid/gid.
2018-10-27Rename "kernel map" concept to just "ksyms"Andreas Kling
2018-10-27Implement loading of linked ELF executables.Andreas Kling
This took me a couple hours. :^) The ELF loading code now allocates a single region for the entire file and creates virtual memory mappings for the sections as needed. Very nice!
2018-10-27Enable A20 line at boot.Andreas Kling
2018-10-27Better int hashing. This was going to bite me sooner or later.Andreas Kling
2018-10-27Implement waitpid() support for getting the waitee's exit code.Andreas Kling
2018-10-27Remove the obsolete "Userspace" stuff.Andreas Kling
2018-10-27Turn off the floppy drive after the boot loader is finished.Andreas Kling
2018-10-27Use Unix::stat for sys$lstat().Andreas Kling