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
cb8c3274af
Add XFS nrext64 image and test
2022-12-29 03:45:36 +00:00
3cef60408b
Use 64bit time_t, add XFS bigtime test, allow atime and mtime testing
2022-12-28 20:39:21 +00:00
715c181582
Wrap kos_osloop, add a test for resizing cursors
2022-06-28 20:13:41 +04:00
395f75d1f7
Speed up coverage, not drastically
2022-06-28 17:10:21 +04:00
bf1af355fe
Sync LodePNG with upstream
2022-06-28 12:25:04 +04:00
155df83d73
Clean up vnet, update README
2022-06-28 12:23:14 +04:00
7f88bbf11c
Update copyright headers and years
2022-06-27 21:36:56 +04:00
f0f8cb8e37
Get rid of umka_ping hack! Use vnet_init
2022-06-27 16:41:29 +04:00
ac151ef588
[umka_os/linux] Simulate hw interrupts via signals
2022-06-26 23:57:02 +04:00
566de74194
Configure tap via C code. No shell commands needed
2022-06-26 12:44:16 +04:00
d82c5530ed
Wrap fs_execute, works for umka_os tool!
2022-06-25 02:41:23 +04:00
52c2167249
Get rid of ctx->fout, use stdout instead
2022-05-31 21:10:43 +04:00