mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-26 03:38:06 +11:00
942d2a952d
This hard-binds ed to the filesystem (I liked the idea of working only with blockdevs though...), but this is necessary for the upcoming `w` command. We need some kind of way to tell the destination to write to truncate itself. This only has a meaning in the filesystem, but it's necessary to let the file know that its registered file size has possibly shrunk. I thought of alternatives that would have allowed me to keep ed blkdev-centered, but they were all too hackish to my own taste. Hence, this new hard-bind on files. |
||
---|---|---|
.. | ||
at28w | ||
ed | ||
lib | ||
memt | ||
sdct | ||
zasm | ||
README.md |
User applications
This folder contains code designed to be "userspace" application. Unlike the kernel, which always stay in memory. Those apps here will more likely be loaded in RAM from storage, ran, then discarded so that another userspace program can be run.
That doesn't mean that you can't include that code in your kernel though, but you will typically not want to do that.
Userspace convention
We execute a userspace application by calling the address it's loaded into. This means: a userspace application is expected to return.
Whatever calls the userspace app (usually, it will be the shell), should set HL to a pointer to unparsed arguments in string form, null terminated.
The userspace application is expected to set A on return. 0 means success, non-zero means error.