Commit Graph
56 Commits
Author SHA1 Message Date
daniel 9eb21eb3e3 feat: wi-fi - expand support and fix issues, add GUI components 2026-08-07 10:36:53 +02:00
daniel a01e63c717 feat: intel wi-fi (AX211) driver with network scanning 2026-08-06 08:36:10 +02:00
daniel 471903bafb feat: expand Intel GPU display management 2026-07-30 17:12:08 +01:00
daniel d99dab45e5 feat: add NTP; fix networking bugs/regressions 2026-07-29 16:32:18 +01:00
daniel de7edaf623 feat: vfs - add stat syscall 2026-07-21 14:23:06 +02:00
danielandClaude Fable 5 1c851a3627 fix: real argv[0] via SYS_GETEXECPATH - GCC driver finds its backends
The GCC driver relocates its install prefix from argv[0]. crt1
hardcoded argv[0] as "prog", so make_relative_prefix cwd-joined it
and computed exec prefixes relative to the current directory
(0:/users/admin/../libexec/gcc/...), and because the computed
gcc_exec_prefix is non-NULL the standard /sdk prefixes were never
searched. cc1plus was unreachable from anywhere except (by accident
of the path arithmetic) 0:/sdk/bin. sdk-diag proved the kernel and
libc layers all worked; only the driver's self-relocation was lost.

New SYS_GETEXECPATH (151) returns the absolute path the process was
spawned from (Process::name); crt1 uses it for argv[0] with a "prog"
fallback. With a real argv[0], make_relative_prefix computes
0:/sdk/bin/../libexec/gcc/ from any cwd. Native GCC relinked against
the new crt1; sdk-diag ships in the SDK as a permanent probe; the
montauk.h TCC mirror gains the wrapper (checker enforced it).

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-17 10:43:59 +02:00
danielandClaude Fable 5 75184e0651 feat: process exit codes, posix_spawn, 4 KiB command lines
Groundwork for the GCC driver: a compiler driver must spawn cc1/as/ld
and know whether each stage succeeded.

Kernel: the scheduler keeps an exit-code ledger (pid -> code; pids are
monotonic so entries never alias), published during teardown right
before waiters wake. SYS_EXIT records main()'s return value, SYS_KILL
records 256+SIGKILL, and the exception handler records 256+signal
mapped from the fault vector (#PF/#GP -> SIGSEGV, #DE/FP -> SIGFPE,
#UD -> SIGILL). SYS_WAITPID now returns the code: 0..255 for a normal
exit, 256+signal for a violent death. Process args grow from 256
bytes to 4 KiB (cc1 invocations do not fit in 256), with crt1 now
parsing up to 255 argv entries from a static buffer.

libc: new spawn.h with posix_spawn/posix_spawnp over SYS_SPAWN -
libiberty's pex layer has a posix_spawn backend, so GCC's driver works
without fork. argv is joined into the kernel args string (spaces in
arguments rejected; no kernel quoting), envp is not transferred, and
non-empty file actions fail loudly with ENOTSUP until the kernel can
redirect stdio on spawn. waitpid() now decodes real POSIX status and
the sys/wait.h macros distinguish exited from signaled children.

Shell: prints [exit code N] after nonzero exits and [terminated by
signal N] for killed or crashed children.

Verified on the OS: cat on a missing file reports exit code 1; a
window-close (clean exit 0) stays silent as it should.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-16 16:59:17 +02:00
danielandClaude Fable 5 182520a585 feat: vblank IRQ and double-buffered page flip for Intel GPU
Add tear-free scanout to the Intel GPU driver: a second kernel-allocated
scanout buffer, DSPASURF flips latched at vblank, and a vblank interrupt
delivered over MSI (Gen 11+ master/display/pipe IRQ chain) with a
monotonic vblank counter and WaitVblank().

Expose it as SYS_FBFLIP (150): index selects the front buffer, -1
queries support, flags bit0 waits for the flip to latch. fb_map() now
maps buffer 1 right after buffer 0 when flipping is available, and
gui::Framebuffer draws to the off-screen buffer and flips with vsync,
falling back to the direct copy when unsupported.

Scanout is restored to buffer 0 when the flip-owning process exits and
on panic, so the terminal and panic box never land on the invisible
buffer.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-13 21:53:06 +02:00
daniel 70702a21b0 feat: HWP scaling, C1E, closed-loop thermal governor for Intel CPUs 2026-07-05 10:51:11 +02:00
daniel 108538f60c feat: add RTL-SDR, R820t drivers, radio APIs, and sdr demo tool 2026-06-22 11:49:16 +02:00
daniel 43d43ac9ea cleanup: namespace Montauk (capital M) => montauk::abi 2026-06-16 09:09:16 +02:00
daniel b6ac5ac994 feat: allow MAC spoofing in Bluetooth stack, show paired devices in Bluetooth app 2026-06-16 08:49:06 +02:00
daniel 427876afa7 feat: filesystem and Files app support for >64 file entries, 64-bit sizes, async ops, GUI toolkit improvements to devexplorer app 2026-06-07 09:33:46 +02:00
daniel f0943d675f feat: disconnect Bluetooth devices, flush disks on shutdown/reboot, display progress in login.elf window 2026-06-06 18:27:19 +02:00
daniel 159fea1667 feat: add threading to Scheduler, fix desktop background selection freeze issue 2026-05-23 16:08:25 +02:00
daniel 8b8c8cee95 feat: audio mixer, Audio app, fix Installer crash 2026-05-19 07:48:09 +02:00
daniel 7cb1866998 feat: added Files app USB medium detection 2026-05-18 20:00:42 +02:00
daniel dcdbcac1e0 feat: screenshot app improvement, WIndow Server supports full-screen overlay, Disks app UI improvements 2026-05-10 10:45:05 +02:00
daniel af48ab0e1e feat: kernel network statistics reporting, new Network configuration applet 2026-05-03 10:45:33 +02:00
daniel 7fa2b6c54b feat: expose drive labels to userspace, render in Files 2026-04-22 07:45:33 +02:00
daniel 38b1f8a7ef feat: further kernel power and power optimizations 2026-04-21 20:51:12 +02:00
daniel 856b431fde fix: various kernel bug fixes 2026-04-10 23:16:02 +02:00
daniel c8b7b864d7 wip: add clipboard support 2026-04-09 20:44:52 +02:00
daniel 9e04e51daa feat: add process crash popups 2026-04-07 20:15:56 +02:00
daniel 4666e36dba wip: extend shared library support, window demo 2026-04-05 21:38:05 +02:00
daniel f1b49b3c4e wip: shared library support 2026-04-05 15:14:07 +02:00
daniel fb9885819b feat: implement new IPC layer 2026-04-01 13:11:03 +02:00
daniel 1c0db774f6 feat: add cwd tracking to kernel, remove shell hack, update system utilities to use getcwd, fix tcc libc stub, fix nonexistent directory issue 2026-03-25 15:45:22 +01:00
daniel 8295899b8f feat: fix file rename implementation 2026-03-25 07:18:13 +01:00
daniel 6e471c2eb4 fix: fix SYS_GETUSER missing in syscall switch, use getuser in shell username print 2026-03-24 17:34:07 +01:00
daniel 0f15099830 feat: add time offset configuration 2026-03-24 07:20:52 +01:00
daniel 4c7efa3203 feat: expanded ACPI support, initial support for S3 sleep 2026-03-15 00:55:19 +01:00
daniel 39b0424085 feat: multi-user system, bug fixes, security & performance fixes, and more 2026-03-14 13:28:46 +01:00
daniel 9f54e4957d feat: Intel HDA audio driver, audio streaming syscalls, userspace Music app, fixes and improvements, rudimentary Bluetooth support 2026-03-10 17:14:33 +01:00
daniel 7617419640 feat: MontaukOS installer app, toml config, app directory with manifests, and more 2026-03-08 12:06:29 +01:00
daniel b540a43f39 feat: GPT, FAT32 driver, disks app, userspace adapted for multiple drives, and more 2026-03-07 15:58:27 +01:00
daniel 663567fbb3 feat: Ahci, ACPI shutdown 2026-03-06 23:39:35 +01:00
daniel 9d72d979b2 feat: spreadsheet cell resizing 2026-03-06 16:46:15 +01:00
daniel 4ac904e565 feat: rename 'ZenithOS' => 'MontaukOS' and fix build system issues 2026-02-28 12:06:18 +01:00
daniel 21839ef987 fix: fix heap regression 2026-02-27 23:51:46 +01:00
daniel b01789a1f4 feat: add support for shutdown/reboot via UEFI Runtime Services 2026-02-26 18:08:05 +01:00
daniel 1568378d04 feat: split syscalls into files, change max process ceiling 2026-02-22 17:23:35 +01:00
daniel a001fa513d fix: various fixes 2026-02-22 10:53:30 +01:00
daniel 4a1d62c337 feat: common TLS library, weather app, UI scaling fix in Window Server, and more 2026-02-21 13:06:53 +01:00
daniel 2130334779 fix: GUI and kernel fixes, Wikipedia app rewrite, among other things 2026-02-21 11:08:11 +01:00
daniel 9e191f64a9 feat: TrueType (TTF) font rendering, many new desktop applications and DOOM support, among other improvements 2026-02-20 22:46:41 +01:00
daniel 987a85da27 feat: rudimentary userspace desktop environment 2026-02-20 00:48:51 +01:00
daniel 5810306e14 feat(kernel): Add USB devicde and keyboard/mouse support 2026-02-19 23:06:18 +01:00
daniel 9ca51596ea feat: userspace overhaul, Intel GPU driver, and more 2026-02-19 15:46:49 +01:00
daniel 010783429c feat: e100e Ethernet driver, ramdisk reorganization, shell rewrite, web server/client, and more 2026-02-19 01:18:11 +01:00