Andreas Kling
ca6847b5bb
Import a simple text editor I started working on.
2018-12-04 00:27:16 +01:00
Andreas Kling
f6e27c2abe
More coding style changes.
2018-12-03 00:39:25 +01:00
Andreas Kling
85b886c2e0
Make it possible to build the Kernel on a macOS host.
...
It still requires an ELF compiler and linker, but at least it builds.
I need to get rid of the "Unix" namespace. This does a lot of that.
2018-12-02 23:34:50 +01:00
Andreas Kling
68739dc43e
Start working on virtual consoles/TTYs.
...
This is a mess right now, but I'd rather commit as I go.
2018-10-30 13:59:29 +01:00
Andreas Kling
546ddd7de0
Remove logspam in /dev/{full,null,zero} now that they work just fine.
...
Also don't echo anything to console when putch'ing '\0'.
2018-10-26 11:27:42 +02:00
Andreas Kling
c6f2890d8e
Implement a basic way for read() to block.
...
FileHandle gets a hasDataAvailableForRead() getter.
If this returns true in sys$read(), the task will block(BlockedRead) + yield.
The fd blocked on is stored in Task::m_fdBlockedOnRead.
The scheduler then looks at the state of that fd during the unblock phase.
This makes "sh" restful. :^)
There's still some problem with the kernel not surviving the colonel task
getting scheduled. I need to figure that out and fix it.
2018-10-25 13:09:56 +02:00
Andreas Kling
aec8ab0a60
Add the basic character devices to kernel.
2018-10-16 14:33:16 +02:00
Andreas Kling
1f41a36c52
Add a Unix namespace for foo_t types.
...
This allows me to keep prototyping things on a random desktop machine,
even if that machine has its own ideas about foo_t types.
2018-10-14 22:57:57 +02:00
Andreas Kling
93556d6743
Add basic character device support. Start with null and zero.
2018-10-14 03:01:32 +02:00