dunkaist
8883b1c5de
[umka_os] Add a command console in a separate thread
2023-02-10 22:33:22 +00:00
dunkaist
bd46201f6a
Remove outdated info and a binary
2023-02-07 04:54:41 +00:00
dunkaist
855bdd6d16
Enable static network tests
2023-02-07 04:32:39 +00:00
dunkaist
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
dunkaist
6a479621e9
Fix network on windows
2023-02-06 14:21:05 +00:00
dunkaist
e1f01e0156
Fixes for Windows(R)(TM)
2023-02-05 10:09:40 +00:00
dunkaist
ac55d2ddf2
Minor compilation fixes for Windows(R)(TM)
2023-02-05 08:06:14 +00:00
dunkaist
9d54898197
Use isocline instead of bestline for portability
...
Something more lightweight is definitely required.
2023-02-05 07:53:19 +00:00
dunkaist
297b58a4d5
Use em_inflate instead of miniz
...
Move dependencies to deps directory.
2023-02-04 23:42:57 +00:00
dunkaist
ff1db047ff
Fix more compiler warnings (gcc and clang)
2023-02-04 21:15:27 +00:00
dunkaist
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
dunkaist
d0387f7d53
[umka_os] Introduce dedicated I/O thread
...
Not as nice as io_uring but portable.
2023-02-02 23:52:35 +00:00
dunkaist
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
dunkaist
987095fdef
Fix network, ping works again
2023-02-02 00:59:40 +00:00
dunkaist
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
dunkaist
0fdfde2b5b
Sync Optparse with the upstream
2023-01-31 02:46:41 +00:00
dunkaist
a7cc9c091e
Sync LodePNG with the upstream
2023-01-31 02:43:49 +00:00
dunkaist
d16177c36d
Implement common command buffer for the shell and os
2023-01-31 02:38:48 +00:00
dunkaist
68cfb39f8d
Use static_assert from assert.h
2023-01-30 06:43:39 +00:00
dunkaist
e03ae18548
Support different framebuffer formats, add tests
2023-01-30 06:24:23 +00:00
dunkaist
d8ce095598
bestline: Implement bestlineFile to override stdin/stdout
2023-01-29 20:00:39 +00:00
dunkaist
b5a345ad5f
Merge lfbview to umka_os
2023-01-28 02:57:08 +00:00
dunkaist
dc48e267d6
Merge tools/lfbview to umka_monitor
2023-01-21 07:58:50 +00:00
dunkaist
94ebe02739
Switch to the wall clock timer, communicate via shared memory
2023-01-21 07:49:13 +00:00
dunkaist
65cbfbc743
qcow2: reuse cluster data for adjacent sectors (speed up ~30%)
2023-01-18 20:16:33 +00:00
dunkaist
dd34949209
qcow2: cache L1 table (speed up ~10% on my system)
2023-01-18 19:46:44 +00:00
dunkaist
76c7819882
Split I/O code to generic io* and platform specific io_async*
2023-01-18 08:32:17 +00:00
dunkaist
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
dunkaist
53683cf146
umka_os: route virtual device IRQs via IDT
2023-01-18 02:58:09 +00:00
dunkaist
da8f029e5d
Move static variables to context structures
2023-01-17 00:58:28 +00:00
dunkaist
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
dunkaist
783545bdf8
Create platform specific I/O module, prepare for io_uring
2023-01-16 04:54:34 +00:00
dunkaist
f1b6893e4d
vdisk: use file descriptors instead of FILE*s
...
This should help with io_uring later.
2023-01-16 03:14:48 +00:00
dunkaist
99c50bd258
Make umka_os use a start up script, don't hardcode
2023-01-16 02:51:46 +00:00
dunkaist
102dad1daf
Compile in core/sys32.inc
2023-01-12 21:24:06 +00:00
dunkaist
e8f75d1d03
Fix samehash and lookup_v5 tests
2023-01-09 04:07:36 +00:00
dunkaist
59ac33c787
Fix XFS lookup tests
2023-01-09 02:10:40 +00:00
dunkaist
436aa461b0
Use sgdisk to partition images
2023-01-09 02:07:42 +00:00
dunkaist
d80c240abd
Update {gen,mk}samehash tools for xfs, add new fat* and ext* tests
2023-01-09 02:07:28 +00:00
dunkaist
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
dunkaist
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
dunkaist
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
dunkaist
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
dunkaist
464b92cda4
Change filename suffix of raw images from .img to .raw
2023-01-09 02:07:05 +00:00
dunkaist
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
dunkaist
e76dea6bf1
Remove some boilerplate and hardcode, add lookup tests
2023-01-09 02:06:46 +00:00
dunkaist
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
dunkaist
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
dunkaist
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
dunkaist
cb8c3274af
Add XFS nrext64 image and test
2022-12-29 03:45:36 +00:00