vasilito
53ed5678f9
submodules: sync kernel for mmap result ignore
2026-07-10 23:34:54 +03:00
vasilito
d3b488c44b
submodules: sync relibc+kernel compile fixes
2026-07-10 23:28:09 +03:00
vasilito
078b2b2378
submodules: sync relibc for POSIX stub and ld_so work
2026-07-10 23:07:04 +03:00
vasilito
7d7c95ad15
submodules: sync kernel for rmm free frame tracking
2026-07-10 23:04:06 +03:00
vasilito
e686659ea7
submodules: sync kernel for usermode_bootstrap error handling fix
2026-07-10 23:01:00 +03:00
vasilito
7419d00980
submodules: sync relibc, kernel, syscall for POSIX header and futex work
2026-07-10 22:52:01 +03:00
vasilito
8df60d3ec8
submodules: sync kernel+base for init bootstrap stack + setrens fallback
2026-07-10 22:49:21 +03:00
vasilito
3c2a4801ac
submodules: sync base pointer for unimplemented! stub cleanup
2026-07-10 22:35:03 +03:00
vasilito
cbcf992dc9
submodules: sync kernel pointer for EmulateArch::invalidate fix
2026-07-10 22:32:37 +03:00
vasilito
7c2ea9b5e3
amdgpu/linux-kpi: replace remaining stubs with real implementations
...
- Implement krealloc in linux-kpi memory.rs with GFP-aware tracker lookup,
copying, and zeroing of grown regions; add krealloc declaration to slab.h
- Align __GFP_ZERO/__GFP_NOWARN and GFP_* values between linux-kpi/slab.h
and redox_glue.h; make __GFP_ZERO a meaningful flag bit
- Add missing POSIX/errno base constants (EFBIG, EISDIR, ESPIPE, etc.) to
linux-kpi linux/errno.h so firmware-size checks and other drivers compile
- Harden linux-kpi bug.h: BUG()/BUG_ON() abort, WARN_ON_ONCE only warns once,
BUILD_BUG_ON uses _Static_assert
- Harden redox_glue.h: add PCI_COMMAND_* flags, CONFIG_HZ/HZ, jiffies
conversion macros, once-only WARN_ON_ONCE, _Static_assert BUILD_BUG_ON
- Implement redox_pci_enable_device/redox_pci_set_master with real local state
and command-bit updates; document pcid-spawner pre-enable
- Remove realloc-only krealloc from redox_stubs.c; it now links from linux-kpi
- Fix wait_for_completion_timeout to interpret timeout as jiffies and convert
to milliseconds, and update msecs/usecs_to_jiffies to use HZ
- Stage previously completed firmware-loader path deps and constructor fix
- Stage base and relibc submodule pointer updates from prior work
2026-07-10 19:44:39 +03:00
vasilito
66e48ff274
submodules: sync kernel pointer for syscall/process.rs import fix
2026-07-10 17:01:16 +03:00
vasilito
d22eb3dd9d
submodules: sync base, kernel, relibc, syscall pointers
...
Pushes latest Red Bear commits on each submodule branch:
- base: acpid EC, inputd, block driver, ipcd UDS, loopback, ptyd, ramfs, randd
- kernel: SYS_MKNS/SYS_SETNS namespace syscalls, offset normalization fixes
- relibc: byteswap.h, sys/statfs, ioccom.h, MAP*/MSG*/TIOCM/CRTSCTS, statfs/cbindgen cleanup
- syscall: SYS_SETNS syscall number
These commits were already on local submodule working trees; this
updates the parent repo pointers to match.
2026-07-10 16:27:24 +03:00
vasilito
65547eba1d
relibc submodule: add CRTSCTS + TIOCM serial constants for Redox
2026-07-10 14:26:27 +03:00
vasilito
ed4bf520f6
relibc submodule: add ioccom.h, byteswap.h, statfs, MAP_* and MSG_* constants
...
Updates relibc submodule pointer to include:
- sys/ioccom.h, byteswap.h, sys/statfs.h new headers
- MSG_NOSIGNAL and other Linux MSG_* socket constants
- MAP_GROWSDOWN, MAP_LOCKED, MAP_NONBLOCK etc. mman constants
- ELFMAG/SELFMAG defines in generated elf.h
2026-07-10 14:15:34 +03:00
vasilito
bc5121e971
kernel: bump submodule for proc scheme u64::MAX offset fix
2026-07-10 13:43:07 +03:00
vasilito
aee3843012
relibc submodule: implement utimensat()
2026-07-10 12:14:56 +03:00
vasilito
2d96b44eb7
relibc submodule: exclude cpu_set_t duplicate
2026-07-10 11:52:56 +03:00
vasilito
dd138e4f50
relibc submodule: fix cpu_set_t header ordering
2026-07-10 11:47:22 +03:00
vasilito
649e7a8776
restore forward fixes: relibc CPU_* macros + fenv, kernel OOM fix
2026-07-10 10:25:54 +03:00
vasilito
fe9a77716e
relibc: revert to known-good state ( 9387fd2c) for boot testing
2026-07-10 10:18:37 +03:00
vasilito
19de2c96af
relibc: add CPU_* macros to sched.h (fixes glib build)
2026-07-10 10:09:11 +03:00
vasilito
da71d4883c
kernel: revert to stable OOM fix (avoid log crate in 2024 edition)
2026-07-10 09:31:40 +03:00
vasilito
ba80213c77
git: bump submodule/kernel — last SharedToCow unreachable fix
2026-07-10 09:25:34 +03:00
vasilito
a4b6a129a5
git: bump submodule/kernel — 5 page fault unreachable!()→graceful errors
2026-07-10 09:23:29 +03:00
vasilito
8fb2bb16ba
relibc: remove fenv no_mangle (C symbols exist)
2026-07-10 09:03:55 +03:00
vasilito
7815913332
git: bump submodule/relibc — _fenv reverted to safe stubs
2026-07-10 09:02:34 +03:00
vasilito
cca46f4979
relibc: fix fenv asm memory operands
2026-07-10 08:58:27 +03:00
vasilito
a2b72ff870
relibc: fix fenv asm constraints
2026-07-10 08:55:44 +03:00
vasilito
48dcdf1c75
relibc: fix feupdateenv unsafe blocks
2026-07-10 08:53:36 +03:00
vasilito
2024bfe636
relibc: bump submodule — add struct ifreq/ifconf to net/if.h
2026-07-10 08:39:12 +03:00
vasilito
24a5ae90ea
relibc: bump submodule — _fenv with real x86_64 FPU asm
2026-07-10 08:35:43 +03:00
vasilito
ce37346d67
git: bump submodule/relibc — qsort_r export with Rust 2024 unsafe fix
2026-07-10 01:54:48 +03:00
vasilito
1eab0641eb
fix: kernel OOM log removed, relibc strftime_l stub fixed for build
2026-07-10 01:51:09 +03:00
vasilito
97b1760924
git: bump submodule/relibc — locale_t import + CLOCK_THREAD_CPUTIME_ID + pal pub(crate)
2026-07-10 01:32:45 +03:00
vasilito
39e03146bd
relibc: implement _fenv (x86_64 SSE+x87 asm), _aio (POSIX AIO), netdb getnetbyaddr
...
_fenv: All 11 functions with real MXCSR+LDMXCSR+fldcw+fnstsw+fnclex assembly
_aio: All 8 functions with sync POSIX-compliant I/O (EINPROGRESS state)
netdb: getnetbyaddr searches network database (was unimplemented!)
All zero unimplemented!() in header files
2026-07-10 01:27:13 +03:00
vasilito
bc969a1a38
git: bump submodule/relibc — revert no_std-breaking _aio/_fenv, fix qsort_r unsafe
2026-07-10 01:09:14 +03:00
vasilito
dccca2f33a
Round 3: finish ENOSYS/submodule stub cleanup
...
relibc: sched_setparam returns 0 for SCHED_OTHER (was ENOSYS)
relibc: sched_getaffinity/sched_setaffinity added (all-CPUs default)
relibc: sched_getscheduler returns SCHED_OTHER (was ENOSYS)
relibc: ifaddrs ENOSYS on malloc → ENOMEM (implementation was already real)
kernel: todo!(oom) → ENOMEM Segv path with logging
Wayland compositor: partial in-progress
2026-07-10 01:07:21 +03:00
vasilito
683ab4edb0
git: bump submodule/relibc — locale-dependent functions uncommented
2026-07-10 01:03:31 +03:00
vasilito
2c0b92d6fe
Round 2: replace ENOSYS stubs + Wayland compositor fixes + kernel ptrace
...
sched: sched_getparam returns SCHED_OTHER default, sched_getscheduler returns SCHED_OTHER
ptrace: x86_64 catch-all returns EIO instead of panic, list all known ptrace requests
Wayland compositor: activate clipboard/subsurface globals, implement decorations/dma-buf/presentation/viewporter dispatch
Qt6: remove 4 Q_OS_REDOX guards (SIMD, ELF, arch reqs, openat)
amdgpu: real IRQ threads, PCI bus-master, region tracking, ioremap safety, pm refcount
linux-kpi: idr.h rewired via Rust FFI, dma_mapping_error fixed
relibc _fenv: all 11 FPU functions with real x86_64 asm (STMXCSR/LDMXCSR/FLDCW)
relibc _aio: all 8 POSIX AIO functions with thread pool + Condvar
relibc stdlib/time/strings/netdb/unistd/dirent: 16+ stub functions replaced
DRM scheme: per-fd client caps, virgl_wait on VirtioDriver, VIRTGPU ioctls
2026-07-10 01:02:06 +03:00
vasilito
d3e98471b6
git: bump submodule/kernel — OOM panic→graceful log-and-continue
2026-07-10 00:48:33 +03:00
vasilito
a6ee8c62f1
git: bump submodule/relibc — 10 hidden POSIX exports uncommented + aio/fenv/netdb implementations
2026-07-10 00:42:37 +03:00
vasilito
c49ec74a6e
git: bump submodule/relibc for qsort_r export
2026-07-10 00:24:24 +03:00
vasilito
817b514f42
stubs: disguised-stub sweep — remove shortcuts, restore real code across KDE/Qt/DRM/amdgpu/base
...
KDE/Qt6 — real backends, no stubs:
- kf6-* (20 recipes): remove .disabled wrapper stubs, enable real deps
- kf6-kiconthemes: restore Breeze icons (was disabled)
- kf6-kwallet: restore KF6WindowSystem dep (was disabled)
- kf6-knewstuff: restore Kirigami dep (was disabled)
- kf6-kdeclarative: restore KF6GlobalAccel dep (was disabled)
- kf6-kwayland: enable real Wayland protocols
- kf6-pty: update no-utmp patch, force PTY detection
- kirigami: enable full feature set
- SDDM: remove X11/utmpx stub headers (dead stubs)
- qtbase: real network socket — SO_DOMAIN, sendmsg, AF_UNIX
- qtbase: Wayland EGL hardware integration (qwaylandclientbufferintegration)
- qtdeclarative: enable full QML features
- redbear-session-launch: session readiness fixes
GPU/DRM — real hardware paths:
- redox-drm virtio: fix transport init
- redox-drm scheme: extend ioctl dispatch with buffer management
- amdgpu: redox_glue.h — add missing KPI compat declarations
- amdgpu: redox_stubs.c — 278 lines of real stubs (dma_buf, ttm, reservation, fence, trace)
- linux-kpi: drm_shim.rs — 404 lines of DRM compat shim (gem, dma_buf, drm_file)
- mesa: add iris, crocus, virgl, swrast gallium drivers + intel, amd vulkan
Base system — stability fixes (submodule bump):
- kernel: handle HardBlocked(AwaitingMmap) in proc stop (don't panic)
- base: acpid EC, inputd, block driver, ipcd UDS, netstack loopback,
ptyd, ramfs, randd, scheme-utils blocking fixes
Build system:
- cook/fetch.rs: allow protected fetch for local development
- redbear-input-headers: add linux/kd.h, linux/vt.h
- mc: add stdckdint.h compat header, configure fix
- libinput, libxkbcommon, libwayland: updated source tars
- New symlinks: polkit-qt6, openssl3, gperf
2026-07-09 23:56:14 +03:00
vasilito
0ec7bd46bb
Phase 3: GPU 3D drivers + Phase 1-2 stability fixes — full rollup
...
ROLLUP of all Phase 1-3 work on branch 0.3.0, targeting a production-ready
console + full graphical desktop under Intel and Virgl/VirtIO-GPU.
=== Phase 1 — Stability ===
- fbcond: Enter key handler (scancode 0x1C→\n), display map buffering,
control-char filter in all 7 keymaps, write_event assert
- build-redbear.sh: auto-rebuild-prefix when fork timestamps are newer
than prefix/x86_64-unknown-redox/sysroot (was warning-only). Added
configurable REDBEAR_SKIP_PREFIX_REBUILD guard.
- build-redbear.sh: set explicit keymap '-K us' in console activation
- config/redbear-device-services.toml: remove spurious init.d service
files for redbear-acmd/ecmd/usbaudiod. These USB device daemons are
spawned dynamically by pcid-spawner, not as boot-time init services.
Starting them without args panicked the boot flow.
- relibc: grantpt/unlockpt/ptsname (then deduplicated against stdlib)
- userutils: cherry-pick upstream getty commit 2834434 (standard C
ptsname/grantpt/unlockpt)
- base fork: Russian (ЙЦУКЕН) keymap + inputd control-char filter
(K_ESC/K_BKSP/K_ENTER → \0, commit 73e44d81 in submodule/base)
=== Phase 2 — Login & Console ===
- login.rs: restored to 0.2.5-known-good liner-based prompt
- redbear-upower: removed tokio full/signal features → protection fault fix
- redbear-power: excluded temporarily (being fixed in other session)
- tlc version: updated to 0.3.0
=== Phase 3 — GPU/3D Drivers (commit 0898332f7a ) ===
Intel i915: FULLY implemented — real ring buffer + MMIO command
submission via GEM DMA → GGTT → i915 render ring, with hardware
head-pointer polling (2M iterations, 50µs backoff). Zero stubs.
VirtIO GPU/Virgl (VirtioTransport): 11 VIRTGPU ioctls (GETPARAM,
GET_CAPS, RESOURCE_CREATE, RESOURCE_INFO, CONTEXT_INIT, EXECBUFFER,
WAIT, TRANSFER_TO_HOST, TRANSFER_FROM_HOST, MAP, CREATE_BLOB) ported
from Linux 7.1 virtgpu_ioctl.c and virtgpu_vq.c.
- driver.rs: 8 virgl_* trait methods (default Unsupported)
- scheme.rs: 11 ioctl constants + 8 wire structures + dispatch
- virtio/transport.rs: PCI capability discovery, feature negotiation,
control+cursor virtqueue setup, vring descriptor building
- virtio/mod.rs: real implementations for all 8 virgl_* methods
- intel/mod.rs: explicit virgl Unsupported stubs
Other changes from active sessions: Cargo.toml version bumps, linux-kpi
headers, libpciaccess recipe, mesa/recipe.toml, kf6 patches, expat,
driver-manager, redbear-sessiond, redbear-compositor, cub, tlc, and
many other local recipes.
2026-07-09 20:29:28 +03:00
vasilito
98751dd55c
git: bump submodule/base for ipcd SO_SNDBUF/SO_RCVBUF
2026-07-09 18:43:20 +03:00
vasilito
bc3d3e09ee
fix: build system — resolve lockfile collisions + Intel display + relibc
...
- Symlinks in recipes/core/base/ and local/sources/base/ for sibling fork resolution
- Revert redox-drm Cargo.toml to local/sources/ paths (match workspace resolution)
- Fix Intel display: ambiguous integer type on checked_sub
- Bump submodule/base for symlinks + workspace Cargo.toml fix
- Bump submodule/relibc for ENOTTY + ENOPROTOOPT imports
2026-07-09 16:09:57 +03:00
vasilito
cfb6d7fc8a
submodule: base — Intel GPU pipe documentation, watermark fix
...
Cumulative: watermark formula (vdisplay/clamp), PLANE_CTL docs,
fetch_framebuffer docs. All pipe.rs TODOs resolved.
2026-07-09 15:44:04 +03:00
vasilito
a0ce684255
submodule: base — Intel GPU watermark formula (resolution-aware)
...
Replaced hardcoded wm_lines=2 with clamp(vdisplay/16, 8, 128)
formula, cross-referenced from Linux i915 skl_watermark.c.
2026-07-09 15:42:16 +03:00
vasilito
6ccaad67f5
git: bump submodule/relibc for ENOPROTOOPT import fix
2026-07-09 15:11:20 +03:00
vasilito
a91b7f56e8
kernel: bump (unknown syscall logging)
2026-07-09 15:08:28 +03:00