905628d96d
[umka_shell] Add commands wait_for_idle and csleep
2023-02-12 16:52:01 +00:00
8883b1c5de
[umka_os] Add a command console in a separate thread
2023-02-10 22:33:22 +00:00
bd46201f6a
Remove outdated info and a binary
2023-02-07 04:54:41 +00:00
855bdd6d16
Enable static network tests
2023-02-07 04:32:39 +00:00
e71791c0ab
Implement vnet_null device
...
Such device don't need new threads and files but are valid ethernet
devices for the kernel. Convenient for testing.
2023-02-07 04:32:32 +00:00
6a479621e9
Fix network on windows
2023-02-06 14:21:05 +00:00
e1f01e0156
Fixes for Windows(R)(TM)
2023-02-05 10:09:40 +00:00
ac55d2ddf2
Minor compilation fixes for Windows(R)(TM)
2023-02-05 08:06:14 +00:00
9d54898197
Use isocline instead of bestline for portability
...
Something more lightweight is definitely required.
2023-02-05 07:53:19 +00:00
297b58a4d5
Use em_inflate instead of miniz
...
Move dependencies to deps directory.
2023-02-04 23:42:57 +00:00
ff1db047ff
Fix more compiler warnings (gcc and clang)
2023-02-04 21:15:27 +00:00
5b0cf9febc
Get rid of poll(2), use a blocking thread for network
...
Finally, network doesn't load CPU on 100%. Ping is below 0.5ms.
2023-02-03 02:35:26 +00:00
d0387f7d53
[umka_os] Introduce dedicated I/O thread
...
Not as nice as io_uring but portable.
2023-02-02 23:52:35 +00:00
12442c72a7
Get rid of getopt, use Optparse
...
Well, I thought I had done this before. P for portability.
2023-02-02 16:25:20 +00:00
987095fdef
Fix network, ping works again
2023-02-02 00:59:40 +00:00
be21f83af2
Split vnet driver to generic vnet part, tap and file interfaces
...
Fix most compilation issues of umka_shell on Windows(R)(TM), not all
of them.
2023-02-01 18:55:20 +00:00
0fdfde2b5b
Sync Optparse with the upstream
2023-01-31 02:46:41 +00:00
a7cc9c091e
Sync LodePNG with the upstream
2023-01-31 02:43:49 +00:00
d16177c36d
Implement common command buffer for the shell and os
2023-01-31 02:38:48 +00:00
68cfb39f8d
Use static_assert from assert.h
2023-01-30 06:43:39 +00:00
e03ae18548
Support different framebuffer formats, add tests
2023-01-30 06:24:23 +00:00
d8ce095598
bestline: Implement bestlineFile to override stdin/stdout
2023-01-29 20:00:39 +00:00
b5a345ad5f
Merge lfbview to umka_os
2023-01-28 02:57:08 +00:00
dc48e267d6
Merge tools/lfbview to umka_monitor
2023-01-21 07:58:50 +00:00
94ebe02739
Switch to the wall clock timer, communicate via shared memory
2023-01-21 07:49:13 +00:00
65cbfbc743
qcow2: reuse cluster data for adjacent sectors (speed up ~30%)
2023-01-18 20:16:33 +00:00
dd34949209
qcow2: cache L1 table (speed up ~10% on my system)
2023-01-18 19:46:44 +00:00
76c7819882
Split I/O code to generic io* and platform specific io_async*
2023-01-18 08:32:17 +00:00
3345936052
Add lfbview tool: LFB viewer using SDL2
...
In theory, should work under X and Wayland.
It won't work under Windows though because of used system calls.
2023-01-18 03:04:02 +00:00
53683cf146
umka_os: route virtual device IRQs via IDT
2023-01-18 02:58:09 +00:00
da8f029e5d
Move static variables to context structures
2023-01-17 00:58:28 +00:00
74a593746e
Pass a tool number to umka_init command
...
Implemented tools:
+ umka_shell
+ umka_fuse
+ umka_os
+ umka_gen_devices_dat
2023-01-16 05:49:24 +00:00
783545bdf8
Create platform specific I/O module, prepare for io_uring
2023-01-16 04:54:34 +00:00
f1b6893e4d
vdisk: use file descriptors instead of FILE*s
...
This should help with io_uring later.
2023-01-16 03:14:48 +00:00
99c50bd258
Make umka_os use a start up script, don't hardcode
2023-01-16 02:51:46 +00:00
102dad1daf
Compile in core/sys32.inc
2023-01-12 21:24:06 +00:00
e8f75d1d03
Fix samehash and lookup_v5 tests
2023-01-09 04:07:36 +00:00
59ac33c787
Fix XFS lookup tests
2023-01-09 02:10:40 +00:00
436aa461b0
Use sgdisk to partition images
2023-01-09 02:07:42 +00:00
d80c240abd
Update {gen,mk}samehash tools for xfs, add new fat* and ext* tests
2023-01-09 02:07:28 +00:00
4a6f3e3039
Add mksamehash utility to make same-hash directories
...
Yes, first you generate names with gensamehash (very slow) and then
make many directories with mksamehash (relatively fast).
2023-01-09 02:07:20 +00:00
eb243bf14f
Switch image generation from GNU Make to GNU Bash
...
Should have been done long time ago.
2023-01-09 02:07:20 +00:00
bbc42c6436
Implement qcow2 support, convert most images from raw
...
This allows exbibyte-sized images, compression and (potentially)
non-destructive writing.
2023-01-09 02:07:20 +00:00
ef72da6b76
Make shell:disk_list_partitions() report PiB ad EiB
...
I.e. pebibytes and exbibytes. 1 zebibyte (ZiB) is 2^70 bytes which is
above 2^64 bytes, so ignore it so far.
Btw, 2^80 bytes is 1 yobibyte (YiB).
2023-01-09 02:07:07 +00:00
464b92cda4
Change filename suffix of raw images from .img to .raw
2023-01-09 02:07:05 +00:00
887b904904
Split vdisk to vdisk_raw and vdisk_qcow2
...
vdisk_raw got existing functionality, no new features. Qcow2 support is
yet to be implemented. Miniz was imported with that in mind.
2023-01-09 02:06:52 +00:00
e76dea6bf1
Remove some boilerplate and hardcode, add lookup tests
2023-01-09 02:06:46 +00:00
f291ffc03b
Make shell:disk_list_partitions() more verbose
...
Show disk sector size and capacity, partition's size and start sector.
2023-01-03 20:39:10 +00:00
b0be99a9e9
Make all the test hdd images use MBR instead of GPT
...
Well, it's just easier to generate MBR because GPT requires a few
sectors at the very end of a disk. A separate test for GPT should be
written: with tens of partitions and so on.
2023-01-02 02:26:56 +00:00
fecf7be637
Add two tools: mkdoubledirs and gensamehash
...
mkdoubledirs creates pairs of directories a/a, b/b, c/c etc. This is to
test file lookup code: there must be a directory named blah only if the
current directory is named blah too.
gensamehash generates file names with the same XFS hash to test the
code that resolves collisions. In principle, can be updated for other
hashes: ext*, exfat, etc.
2023-01-02 01:50:02 +00:00