summaryrefslogtreecommitdiff
path: root/Kernel/VirtualConsole.cpp
AgeCommit message (Collapse)Author
2019-01-31Big, possibly complete sweep of naming changes.Andreas Kling
2019-01-30Add a String::format() and use that in place of ksprintf() in the Kernel.Andreas Kling
You're never gonna be right 100% of the time when guessing how much buffer space you need. This avoids having to make that type of decision in a bunch of cases. :^)
2019-01-21Flesh out keyboard event support a bit more.Andreas Kling
2019-01-11Hook up the Keyboard device to the AbstractScreen.Andreas Kling
Basic text editing in a TextBox works. How very cool :^)
2018-12-07VirtualConsole: Support the 'A' and 'D' CSI sequences.Andreas Kling
This makes backspace work correctly when line editing with bash-2.05b.
2018-12-07VirtualConsole: The rightmost column is always a default horizontal tab.Andreas Kling
2018-12-07VirtualConsole: Don't output the bell character.Andreas Kling
2018-12-07Add basic support for horizontal tabs in the VirtualConsole.Andreas Kling
2018-12-04Import a simple text editor I started working on.Andreas Kling
2018-12-03More coding style changes.Andreas Kling
2018-11-29Add TIOCGWINSZ ioctl so userland can determine terminal geometry.Andreas Kling
(Don't) use this to implement short-form output in ls. I'm too tired to make a nice column formatting algorithm. I just wanted something concise when I type "ls".
2018-11-16Refactor TTY signal generation a bit.Andreas Kling
We now respect the VINTR and VQUIT control characters in the termios.
2018-11-11Rage hacking to get bash to run. It finally runs. So cool! :^)Andreas Kling
2018-11-10Merge VGA into VirtualConsole.Andreas Kling
2018-11-10Make /bin/clear work again.Andreas Kling
After I made stdio buffered, we were dropping anything unflushed on exit. Since /bin/clear just prints out some escape sequences without a newline, the entire buffer was being discarded. Also add VirtualConsole::clear() that handles clearing of background VC's.
2018-11-09Use the VGA start address for fast VirtualConsole scrolling.Andreas Kling
Instead of memcpy'ing the entire screen every time we press enter at the bottom, use the VGA start address register to make a "view" onto the underlying memory that moves downward as we scroll. Eventually we run out of memory and have to reset to the start of the buffer. That's when we memcpy everything. It would be cool if there was some way to get the hardware to act like a ring buffer with automatic wrapping here but I don't know how to do that.
2018-11-08Add some simple write buffering to LibC's stdio.Andreas Kling
Plumb it all the way to the VirtualConsole. Also fix /bin/cat to write() the whole chunks we get from read() directly to stdout.
2018-11-02Basic ^C interrupt implementation.Andreas Kling
For testing, I made cat put itself into a new process group. This should eventually be done by sh between fork() and exec().
2018-11-02Add a simple /proc/cpuinfo that includes some info from CPUID.Andreas Kling
2018-11-01Convert VirtualConsole to the new coding style.Andreas Kling
I'm still playing around with finding a style that I like. This is starting to feel pleasing to the eye. I guess this is how long it took me to break free from the habit of my previous Qt/WK coding style.
2018-11-01Waiters should be notified when a waitee is killed.Andreas Kling
Ran into a horrendous bug where VirtualConsole would overrun its buffer and scribble right into some other object if we were interrupted while processing a character. Slapped an InterruptDisabler onto onChar for now. This provokes an interesting question though.. if a process is killed while its in kernel space, how the heck do we release any locks it held? I'm sure there are many different solutions to this problem, but I'll have to think about it.
2018-10-31Add a kmalloc_eternal() for things that will never be destroyed.Andreas Kling
2018-10-31Add a /bin/tty command that prints the current tty.Andreas Kling
Also fix ttyname() syscall to include "/dev/" in the name.
2018-10-31Snazz up the kprintf() output a bit by giving it its own color.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.