Commit Graph

247 Commits

Author SHA1 Message Date
40fa7218b1 Use mem_test from init.inc 2023-02-12 23:13:49 +00:00
cbcb3e1ddb Initialize default boot vars from umka_init 2023-02-12 19:02:31 +00:00
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