freywar
46f0202222
Fix minor issues in user apps
...
Uninitialized variables, reading past array end, etc.
2026-08-25 21:41:25 +03:00
freywar
7d274da197
Finalize xHCI and USB modules
...
Scratchpad buffers allocation added to xHCI. Missing initialization steps
for keyboards - set configuration and set idle - added to USB. (Even
though they are specific to HID protocol, they go through USB command
endpoint, and with current module contents it's cleaner to have them
in USB module.)
2026-08-25 21:20:53 +03:00
freywar
a3240d9316
Fix LOG_X usage crashing the system
...
Each `LOG_X` call declared a rather huge variable on the stack,
and using it to dump a whole structure often led to a page fault.
Now the temporary variables are `static`, which is a bit wasteful
on the kernel binary size, but easier to maintain.
Additionally bootloader updated to load kernels bigger than 64K.
2026-08-25 17:20:34 +03:00
freywar
c92ccd41ce
Improve installation process
...
`meson.build` rewritten with DRY principle. `deploy.sh` added,
which deploys the image on a installation USB stick borrowed from
another project. Image name aligned with the installer's expectations.
2026-08-25 17:14:50 +03:00
freywar
bbb9988bcf
Fix xHCI event consumption
2026-08-14 20:53:39 +03:00
freywar
0cb2169c29
Add basic HID keyboard support
2026-08-14 20:51:07 +03:00
freywar
e4b9a79a5f
Add more logging levels
2026-08-10 21:01:39 +03:00
freywar
4813725cf3
Add basic xHCI driver and USB devices enumeration
2026-08-07 21:11:08 +03:00
freywar
a2128de3e2
Add common way to access bit ranges, log all NVMe devices on startup
2026-07-27 20:45:00 +03:00
freywar
572cb7647f
Improve kernel logging
...
Current function name is automatically prepended to all log entries.
Helper macros added to log local variables.
2026-07-27 20:41:45 +03:00
freywar
3b8125eb0c
Fix GDT and remove unused code from MBR
2026-07-23 21:23:38 +03:00
freywar
065aa261f5
Add simple NVMe module and switch to NVMe emulation
2026-07-23 20:52:10 +03:00
freywar
ba9beebf8e
Add simple kernel logging and improve error messages
2026-07-23 20:50:51 +03:00
freywar
14c3262c14
Separate log and output streams
2026-07-17 20:30:35 +03:00
freywar
85cfbb2050
Add pipes to shell, add wc
2026-07-16 21:39:00 +03:00
freywar
4ad32dda17
Merge fat16_inode_t and fat16_node_t, make fs_node_t shared
2026-07-15 23:14:56 +03:00
freywar
1ff38ffad4
Add file removal, rm
2026-07-15 21:39:17 +03:00
freywar
1148596a81
Add file and directory creation, mkdir
2026-06-30 20:37:24 +03:00
freywar
01cd3f528c
Add writing to existing files and overwriting cp
2026-06-19 23:09:11 +03:00
freywar
325dc6339a
Make pipes blocking
2026-06-19 21:49:18 +03:00
freywar
415f78fd40
Add process scheduler, pipes, and separate terminal from shell
2026-06-19 21:49:29 +03:00
freywar
452125782e
Convert directory reading to generic stream
2026-06-18 22:59:18 +03:00
freywar
9761e3e870
Convert file descriptors to generic streams
2026-06-18 21:46:18 +03:00
freywar
bcf2e5bac6
Add file descriptors and basic cat
2026-06-17 23:20:43 +03:00
freywar
968bb02aa8
Add basic ls
2026-06-17 22:20:08 +03:00
freywar
03b3ddac73
Add subprocesses and convert terminal to an app
2026-06-17 21:20:14 +03:00
freywar
1c935cf154
Add first C user program
2026-06-11 20:19:24 +03:00
freywar
b32c12b311
Add an example user space process
2026-06-08 21:17:27 +03:00
freywar
2d4f76a5dd
Add process state
2026-06-05 20:48:16 +03:00
freywar
c8edeab750
Use streams for inter-"process" communications
2026-06-05 21:44:09 +03:00