# # ChangeLog for kernel/generic/src in mainline # # Generated by Trac 1.6 # 2025-08-21T22:01:55Z Thu, 17 Apr 2025 15:37:05 GMT Jiří Zárevúcky [39e1b9a] * kernel/genarch/src/drivers/ega/ega.c (modified) * kernel/genarch/src/drivers/ns16550/ns16550.c (modified) * kernel/genarch/src/drivers/pl011/pl011.c (modified) * kernel/genarch/src/fb/fb.c (modified) * kernel/generic/include/console/chardev.h (modified) * kernel/generic/src/console/console.c (modified) Convert console output devices to batch printing Thu, 17 Apr 2025 15:29:16 GMT Jiří Zárevúcky [690ad20] * kernel/generic/include/console/console.h (modified) * kernel/generic/include/putchar.h (deleted) * kernel/generic/include/stdio.h (modified) * kernel/generic/src/console/console.c (modified) * kernel/generic/src/console/kconsole.c (modified) * kernel/generic/src/log/log.c (modified) * kernel/generic/src/printf/vprintf.c (modified) * uspace/app/kio/kio.c (modified) * uspace/lib/c/generic/io/kio.c (modified) * uspace/lib/c/include/io/kio.h (modified) Convert kio buffer to bytes (part 1) Thu, 17 Apr 2025 15:14:03 GMT Jiří Zárevúcky [d5b37b6] * abi/include/abi/syscall.h (modified) * kernel/generic/include/console/console.h (modified) * kernel/generic/src/console/console.c (modified) * kernel/generic/src/syscall/syscall.c (modified) * uspace/app/kio/kio.c (modified) * uspace/app/trace/syscalls.c (modified) * uspace/lib/c/generic/io/kio.c (modified) * uspace/lib/c/include/io/kio.h (modified) Use a new syscall, SYS_KIO_READ, for reading from KIO buffer ... Thu, 17 Apr 2025 15:14:03 GMT Jiří Zárevúcky [571cc2d] * kernel/generic/include/console/console.h (modified) * kernel/generic/src/console/console.c (modified) * kernel/generic/src/log/log.c (modified) Use irq_spinlock_t instead of plain spinlock_t in console code Thu, 17 Apr 2025 15:14:03 GMT Jiří Zárevúcky [af77459] * kernel/generic/src/console/console.c (modified) * uspace/app/kio/kio.c (modified) Simplify kio buffer bookkeeping We only really need to know the ... Thu, 17 Apr 2025 15:10:08 GMT Jiří Zárevúcky [1db4e2ae] * common/include/str.h (modified) * common/str.c (modified) * kernel/generic/src/console/console.c (modified) Have str_sanitize also remove C0 and C1 control codes and use it to ... Sun, 13 Apr 2025 19:33:48 GMT Jiří Zárevúcky [163e34c] * common/include/printf_core.h (modified) * common/printf/printf_core.c (modified) * common/stdc/snprintf.c (moved) * common/stdc/vsnprintf.c (moved) * kernel/generic/meson.build (modified) * kernel/generic/src/log/log.c (modified) * kernel/generic/src/printf/snprintf.c (deleted) * kernel/generic/src/printf/vprintf.c (modified) * kernel/generic/src/printf/vsnprintf.c (deleted) * uspace/lib/c/generic/io/asprintf.c (modified) * uspace/lib/c/generic/io/kio.c (modified) * uspace/lib/c/generic/io/vprintf.c (modified) * uspace/lib/c/generic/io/vsnprintf.c (deleted) * uspace/lib/c/include/stdio.h (modified) * uspace/lib/c/meson.build (modified) * uspace/lib/posix/src/stdio.c (modified) Actually convert the printf outputs everywhere Sat, 12 Apr 2025 15:55:08 GMT Jiří Zárevúcky [74b92e6] * kernel/generic/src/sysinfo/sysinfo.c (modified) Fix sysinfo locking Turns out sysinfo doesn't like spinlock Thu, 10 Apr 2025 17:55:36 GMT Jiří Zárevúcky [90dd8aee] * kernel/generic/include/console/console.h (modified) * kernel/generic/src/console/console.c (modified) * kernel/generic/src/log/log.c (modified) * kernel/generic/src/printf/vprintf.c (modified) Introduce a console lock to prevent line splitting in kernel output ... Thu, 10 Apr 2025 17:51:41 GMT Jiří Zárevúcky [c55ab66] * kernel/generic/src/synch/spinlock.c (modified) Comment typo Thu, 10 Apr 2025 17:48:56 GMT Jiří Zárevúcky [9f2f5ee] * kernel/generic/include/synch/mutex.h (modified) * kernel/generic/src/synch/mutex.c (modified) Rewrite kernel mutex implementation a little Removes MUTEX_ACTIVE, ... Thu, 10 Apr 2025 17:31:25 GMT Jiří Zárevúcky [c626117] * kernel/generic/src/mm/frame.c (modified) * kernel/generic/src/sysinfo/sysinfo.c (modified) Replace uses of MUTEX_ACTIVE with irq_spinlock_t Thu, 10 Apr 2025 17:23:30 GMT Jiří Zárevúcky [0b47781] * kernel/generic/include/synch/condvar.h (modified) * kernel/generic/src/synch/condvar.c (modified) Extend kernel condvar_t to work with spinlocks MUTEX_ACTIVE is a ... Thu, 10 Apr 2025 17:20:48 GMT Jiří Zárevúcky [a78b0a0] * kernel/generic/src/main/kinit.c (modified) * kernel/generic/src/smp/smp.c (modified) Use static initialization for ap_completion_semaphore Wed, 09 Apr 2025 16:19:40 GMT Jiří Zárevúcky [597fa24] * kernel/generic/include/synch/condvar.h (modified) * kernel/generic/include/synch/mutex.h (modified) * kernel/generic/include/synch/semaphore.h (modified) * kernel/generic/include/synch/waitq.h (modified) * kernel/generic/src/ddi/ddi.c (modified) * kernel/generic/src/main/main.c (modified) * kernel/generic/src/mm/frame.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/synch/condvar.c (modified) * kernel/generic/src/synch/mutex.c (modified) * kernel/generic/src/synch/semaphore.c (modified) * kernel/generic/src/synch/waitq.c (modified) * kernel/generic/src/sysinfo/stats.c (modified) * kernel/generic/src/sysinfo/sysinfo.c (modified) * kernel/test/mm/slab2.c (modified) Enable static initialization of kernel synchronization primitives Mon, 07 Apr 2025 17:53:53 GMT Jiří Zárevúcky [0db0df2] * common/adt/hash_table.c (modified) * common/include/adt/hash.h (modified) * common/include/adt/hash_table.h (modified) * kernel/genarch/src/mm/page_ht.c (modified) * kernel/generic/src/cap/cap.c (modified) * kernel/generic/src/ddi/irq.c (modified) * kernel/generic/src/lib/ra.c (modified) * uspace/app/hbench/env.c (modified) * uspace/app/trace/ipcp.c (modified) * uspace/app/trace/proto.c (modified) * uspace/lib/block/block.c (modified) * uspace/lib/c/generic/async/ports.c (modified) * uspace/lib/c/generic/async/server.c (modified) * uspace/lib/ext4/src/ops.c (modified) * uspace/lib/nic/src/nic_addr_db.c (modified) * uspace/lib/nic/src/nic_wol_virtues.c (modified) * uspace/srv/devman/devtree.c (modified) * uspace/srv/fs/cdfs/cdfs_ops.c (modified) * uspace/srv/fs/exfat/exfat_idx.c (modified) * uspace/srv/fs/fat/fat_idx.c (modified) * uspace/srv/fs/locfs/locfs_ops.c (modified) * uspace/srv/fs/mfs/mfs_ops.c (modified) * uspace/srv/fs/tmpfs/tmpfs_ops.c (modified) * uspace/srv/fs/udf/udf_idx.c (modified) * uspace/srv/hid/input/gsp.c (modified) * uspace/srv/ns/service.c (modified) * uspace/srv/ns/task.c (modified) * uspace/srv/vfs/vfs_node.c (modified) Hash table improvements Implement hash_table_foreach macro, ... Fri, 28 Feb 2025 23:38:26 GMT Jiri Svoboda [f35749e] * abi/include/abi/syscall.h (modified) * kernel/generic/include/arch.h (modified) * kernel/generic/include/main/main.h (modified) * kernel/generic/include/main/shutdown.h (added) * kernel/generic/include/proc/task.h (modified) * kernel/generic/src/console/cmd.c (modified) * kernel/generic/src/main/main.c (modified) * kernel/generic/src/main/shutdown.c (modified) * kernel/generic/src/proc/task.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/syscall/syscall.c (modified) * uspace/app/shutdown-dlg/shutdown-dlg.c (modified) * uspace/app/shutdown/shutdown.c (modified) * uspace/app/shutdown/shutdown.h (modified) * uspace/app/trace/syscalls.c (modified) * uspace/lib/c/generic/shutdown.c (added) * uspace/lib/c/include/shutdown.h (added) * uspace/lib/c/meson.build (modified) * uspace/lib/system/include/ipc/system.h (modified) * uspace/lib/system/include/system.h (modified) * uspace/lib/system/include/system_srv.h (modified) * uspace/lib/system/src/system.c (modified) * uspace/lib/system/src/system_srv.c (modified) * uspace/lib/system/test/system.c (modified) * uspace/srv/system/system.c (modified) System restart via shutdown -r Fri, 20 Sep 2024 12:16:28 GMT Jiří Zárevúcky [3fcea34] * abi/include/abi/proc/uarg.h (deleted) * kernel/arch/abs32le/src/userspace.c (modified) * kernel/arch/amd64/src/userspace.c (modified) * kernel/arch/arm32/src/userspace.c (modified) * kernel/arch/arm64/src/arm64.c (modified) * kernel/arch/ia32/src/userspace.c (modified) * kernel/arch/ia64/src/ia64.c (modified) * kernel/arch/mips32/include/arch/asm.h (modified) * kernel/arch/mips32/src/mips32.c (modified) * kernel/arch/mips32/src/start.S (modified) * kernel/arch/ppc32/src/ppc32.c (modified) * kernel/arch/riscv64/src/userspace.c (modified) * kernel/arch/sparc64/src/sun4u/asm.S (modified) * kernel/arch/sparc64/src/sun4u/sparc64.c (modified) * kernel/arch/sparc64/src/sun4v/asm.S (modified) * kernel/arch/sparc64/src/sun4v/sparc64.c (modified) * kernel/generic/include/main/uinit.h (modified) * kernel/generic/include/proc/thread.h (modified) * kernel/generic/include/userspace.h (modified) * kernel/generic/src/main/uinit.c (modified) * kernel/generic/src/proc/program.c (modified) * kernel/generic/src/proc/thread.c (modified) * meson/arch/ppc32/meson.build (modified) * meson/part/compiler_args/meson.build (modified) * meson/part/initrd_manifest/meson.build (modified) * uspace/lib/c/arch/abs32le/include/libarch/thread.h (modified) * uspace/lib/c/arch/abs32le/src/thread_entry.c (modified) * uspace/lib/c/arch/amd64/include/libarch/thread.h (modified) * uspace/lib/c/arch/amd64/src/thread_entry.S (modified) * uspace/lib/c/arch/arm32/include/libarch/thread.h (modified) * uspace/lib/c/arch/arm32/src/thread_entry.S (modified) * uspace/lib/c/arch/arm64/include/libarch/thread.h (modified) * uspace/lib/c/arch/arm64/src/thread_entry.S (modified) * uspace/lib/c/arch/ia32/include/libarch/thread.h (modified) * uspace/lib/c/arch/ia32/src/syscall.S (modified) * uspace/lib/c/arch/ia32/src/thread_entry.S (modified) * uspace/lib/c/arch/ia64/include/libarch/thread.h (modified) * uspace/lib/c/arch/ia64/src/thread_entry.S (modified) * uspace/lib/c/arch/mips32/include/libarch/thread.h (modified) * uspace/lib/c/arch/mips32/src/thread_entry.S (modified) * uspace/lib/c/arch/ppc32/include/libarch/thread.h (modified) * uspace/lib/c/arch/ppc32/src/thread_entry.S (modified) * uspace/lib/c/arch/riscv64/include/libarch/thread.h (modified) * uspace/lib/c/arch/riscv64/src/thread_entry.c (modified) * uspace/lib/c/arch/sparc64/include/libarch/thread.h (modified) * uspace/lib/c/arch/sparc64/src/thread_entry.S (modified) * uspace/lib/c/generic/private/fibril.h (modified) * uspace/lib/c/generic/private/thread.h (modified) * uspace/lib/c/generic/thread/fibril.c (modified) * uspace/lib/c/generic/thread/thread.c (modified) Simplify the SYS_THREAD_CREATE syscall interface Removed the beefy ... Mon, 16 Sep 2024 11:15:55 GMT Jiří Zárevúcky [bec6379] * kernel/generic/src/lib/ubsan.c (modified) Make it possible to set a breakpoint on ubsan_panic() Thu, 12 Sep 2024 12:35:23 GMT Jiří Zárevúcky [dd50aa19] * common/include/stdlib.h (modified) * kernel/generic/src/mm/malloc.c (modified) * uspace/lib/c/generic/malloc.c (modified) Allocation function tweaks - Add reallocarray() from POSIX 2024 ... Thu, 27 Jun 2024 08:01:26 GMT jxsvoboda <5887334+jxsvoboda@…> [6a044dd] * kernel/generic/src/main/kinit.c (modified) Remove the necessity of initrd to be in the last of grub's modules list Sun, 28 Jan 2024 17:21:00 GMT Jiří Zárevúcky [74cb6610] * kernel/generic/src/main/kinit.c (modified) Fix the reference leak for initial tasks too Sun, 28 Jan 2024 17:00:50 GMT Jiří Zárevúcky [f8b69a1e] * kernel/generic/src/proc/program.c (modified) Fix a reference leak introduced by previous commit Oddly, prior to ... Thu, 25 Jan 2024 16:22:55 GMT Jiří Zárevúcky [07d4271] * kernel/generic/include/proc/task.h (modified) * kernel/generic/src/ddi/ddi.c (modified) * kernel/generic/src/ipc/ipc.c (modified) * kernel/generic/src/ipc/kbox.c (modified) * kernel/generic/src/proc/program.c (modified) * kernel/generic/src/proc/task.c (modified) * kernel/generic/src/security/perm.c (modified) * kernel/generic/src/sysinfo/stats.c (modified) Fix some unsound task reference manipulation and locking In some ... Sun, 21 Jan 2024 16:23:24 GMT Jiří Zárevúcky [d23712e] * kernel/generic/include/cpu.h (modified) * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/scheduler.c (modified) Use thread state variable instead of a cpu local variable to pass state Sun, 21 Jan 2024 16:23:19 GMT Jiří Zárevúcky [dfa4be62] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/sysinfo/stats.c (modified) * kernel/generic/src/udebug/udebug_ops.c (modified) Thread lock is no longer necessary Sun, 21 Jan 2024 16:20:30 GMT Jiří Zárevúcky [a3d87b9] * kernel/generic/src/proc/thread.c (modified) We don't need to check thread state to wait for thread exit Sun, 21 Jan 2024 16:19:41 GMT Jiří Zárevúcky [9fbdeca] * kernel/generic/src/proc/thread.c (modified) The initialization value for priority is actually irrelevant Sun, 21 Jan 2024 16:15:03 GMT Jiří Zárevúcky [3fa4e22a] * kernel/generic/src/proc/scheduler.c (modified) Only do fpu_cleanup() once we are sure we are switching Sun, 21 Jan 2024 15:48:43 GMT Jiří Zárevúcky [11909ce3] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/interrupt/interrupt.c (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/task.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/syscall/syscall.c (modified) * kernel/generic/src/sysinfo/stats.c (modified) Make thread cycle statistics atomic Sun, 21 Jan 2024 15:36:03 GMT Jiří Zárevúcky [33e15a0] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Make thread->btrace weakly atomic, to avoid need for thread lock Sun, 21 Jan 2024 15:24:36 GMT Jiří Zárevúcky [7364e2d1] * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Don't try to determine internal thread state when requesting stack ... Sat, 20 Jan 2024 17:24:56 GMT Jiří Zárevúcky [41bfc64] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/sysinfo/stats.c (modified) Make thread->state weakly atomic so we don't need to hold thread lock Sat, 20 Jan 2024 17:19:52 GMT Jiří Zárevúcky [3d84734] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/sysinfo/stats.c (modified) Make thread->priority weakly atomic to avoid need for locking Sat, 20 Jan 2024 17:09:00 GMT Jiří Zárevúcky [efed95a3] * kernel/generic/include/atomic.h (modified) * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/sysinfo/stats.c (modified) Make thread->cpu weakly atomic, to avoid need for thread lock Sat, 20 Jan 2024 15:56:45 GMT Jiří Zárevúcky [286da52] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Streamline requeuing threads Split thread_ready() into different ... Fri, 19 Jan 2024 16:56:48 GMT Jiří Zárevúcky [6a0e568] * kernel/generic/include/cpu.h (modified) * kernel/generic/include/proc/scheduler.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Allow fast-switch to another runnable thread When a thread is ... Fri, 19 Jan 2024 16:21:20 GMT Jiří Zárevúcky [c1eaec4] * kernel/generic/include/cpu.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Shuffle some locks around Fri, 19 Jan 2024 16:21:20 GMT Jiří Zárevúcky [25939997] * kernel/generic/include/cpu.h (modified) * kernel/generic/src/main/main.c (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/time/clock.c (modified) Make separate-stack-scheduler a loop with persistent context We can ... Fri, 19 Jan 2024 16:14:43 GMT Jiří Zárevúcky [1c1767f] * kernel/generic/meson.build (modified) * kernel/generic/src/preempt/preemption.c (deleted) Remove empty C file Thu, 18 Jan 2024 16:31:40 GMT Jiří Zárevúcky [29029ac0] * kernel/arch/sparc64/src/proc/sun4u/scheduler.c (modified) * kernel/arch/sparc64/src/proc/sun4v/scheduler.c (modified) * kernel/generic/src/proc/scheduler.c (modified) Call after_thread_ran_arch() before context switch This is only ... Tue, 16 Jan 2024 15:46:47 GMT Jiří Zárevúcky [ed7e057] * kernel/generic/include/context.h (modified) * kernel/generic/src/main/main.c (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Add functions context_create(), context_replace() and context_swap() ... Tue, 16 Jan 2024 15:37:59 GMT Jiří Zárevúcky [4ed7870] * kernel/generic/src/proc/scheduler.c (modified) Revert part of commit 5861b602 Mon, 15 Jan 2024 17:11:22 GMT Jiří Zárevúcky [e82879c] * kernel/generic/src/proc/thread.c (modified) Remove unnecessary function Mon, 15 Jan 2024 17:10:27 GMT Jiří Zárevúcky [0f4f1b2] * kernel/arch/ia64/src/drivers/ski.c (modified) * kernel/arch/sparc64/src/drivers/niagara.c (modified) * kernel/genarch/src/kbrd/kbrd.c (modified) * kernel/genarch/src/kbrd/kbrd_at.c (modified) * kernel/genarch/src/srln/srln.c (modified) * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/console/cmd.c (modified) * kernel/generic/src/ipc/kbox.c (modified) * kernel/generic/src/main/kinit.c (modified) * kernel/generic/src/main/main.c (modified) * kernel/generic/src/proc/program.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/test/mm/falloc2.c (modified) * kernel/test/mm/slab1.c (modified) * kernel/test/mm/slab2.c (modified) * kernel/test/synch/semaphore1.c (modified) * kernel/test/synch/semaphore2.c (modified) * kernel/test/thread/thread1.c (modified) Add (and use) functions thread_start() and thread_detach() Mostly ... Mon, 15 Jan 2024 15:39:09 GMT Jiří Zárevúcky [a064d4f] * kernel/generic/src/console/cmd.c (modified) * kernel/generic/src/ipc/kbox.c (modified) * kernel/generic/src/main/kinit.c (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Make thread_join() imply thread_put() This makes the function more ... Mon, 15 Jan 2024 15:15:14 GMT Jiří Zárevúcky [5861b60] * kernel/generic/src/proc/scheduler.c (modified) Lift actions that do not need separate context out of ... Mon, 15 Jan 2024 14:33:03 GMT Jiří Zárevúcky [151c050] * kernel/generic/include/proc/scheduler.h (modified) * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/main/main.c (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/time/clock.c (modified) Rethink scheduler entry points Changes the way scheduler is ... Sun, 14 Jan 2024 18:24:05 GMT Jiří Zárevúcky [8996582] * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Move context switch preparation to a new separate function This ... Sun, 14 Jan 2024 18:24:05 GMT Jiří Zárevúcky [6e49dab] * kernel/generic/src/proc/scheduler.c (modified) Extract post-thread cleanup into a separate function Sun, 14 Jan 2024 18:24:05 GMT Jiří Zárevúcky [23f36a3] * kernel/generic/src/proc/scheduler.c (modified) Wrap fpu handling code in named functions Sun, 14 Jan 2024 18:24:05 GMT Jiří Zárevúcky [5663872] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Move stuff around for thread sleep Only mark the thread as ready ... Sun, 14 Jan 2024 18:23:40 GMT Jiří Zárevúcky [4760793] * kernel/arch/arm64/src/interrupt.c (modified) * kernel/arch/ia64/src/drivers/it.c (modified) * kernel/arch/mips32/src/interrupt.c (modified) * kernel/arch/sparc64/src/drivers/tick.c (modified) * kernel/generic/include/cpu.h (modified) * kernel/generic/src/cpu/cpu.c (modified) * kernel/generic/src/interrupt/interrupt.c (modified) * kernel/generic/src/main/main.c (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/time/clock.c (modified) * kernel/generic/src/time/timeout.c (modified) Add CPU_LOCAL alongside CPU and segregate fields that are only used ... Sun, 14 Jan 2024 17:44:54 GMT Jiří Zárevúcky [3b68542] * kernel/generic/src/proc/scheduler.c (modified) Eliminate an undefined behavior in scheduler debug printout The ... Wed, 03 Jan 2024 16:48:56 GMT Jiří Zárevúcky [7130754] * kernel/generic/src/console/cmd.c (modified) Add printbench command for benchmarking print output Fri, 03 Nov 2023 18:47:41 GMT Jiří Zárevúcky [40eab9f] * abi/include/abi/sysinfo.h (modified) * kernel/generic/include/debug/line.h (modified) * kernel/generic/include/debug/sections.h (modified) * kernel/generic/include/proc/program.h (modified) * kernel/generic/include/proc/task.h (modified) * kernel/generic/include/symtab.h (modified) * kernel/generic/src/debug/line.c (modified) * kernel/generic/src/debug/sections.c (modified) * kernel/generic/src/debug/stacktrace.c (modified) * kernel/generic/src/debug/symtab.c (modified) * kernel/generic/src/debug/util.c (modified) * kernel/generic/src/debug/util.h (modified) * kernel/generic/src/main/kinit.c (modified) * kernel/generic/src/proc/program.c (modified) * kernel/generic/src/proc/task.c (modified) Print symbol names and line numbers in stacktraces for init tasks ... Sat, 28 Oct 2023 17:42:47 GMT Jiří Zárevúcky [1170cfc7] * kernel/generic/include/debug/constants.h (modified) * kernel/generic/include/debug/constants/dw_access.inc (deleted) * kernel/generic/include/debug/constants/dw_at.inc (deleted) * kernel/generic/include/debug/constants/dw_ate.inc (deleted) * kernel/generic/include/debug/constants/dw_cc.inc (deleted) * kernel/generic/include/debug/constants/dw_ds.inc (deleted) * kernel/generic/include/debug/constants/dw_end.inc (deleted) * kernel/generic/include/debug/constants/dw_form.inc (deleted) * kernel/generic/include/debug/constants/dw_id.inc (deleted) * kernel/generic/include/debug/constants/dw_lang.inc (deleted) * kernel/generic/include/debug/constants/dw_lle.inc (deleted) * kernel/generic/include/debug/constants/dw_lnct.inc (deleted) * kernel/generic/include/debug/constants/dw_lne.inc (deleted) * kernel/generic/include/debug/constants/dw_lns.inc (deleted) * kernel/generic/include/debug/constants/dw_op.inc (deleted) * kernel/generic/include/debug/constants/dw_tag.inc (deleted) * kernel/generic/include/debug/constants/dw_ut.inc (deleted) * kernel/generic/include/debug/constants/dw_virtuality.inc (deleted) * kernel/generic/include/debug/constants/dw_vis.inc (deleted) * kernel/generic/include/debug/names.h (modified) * kernel/generic/include/debug/types.h (added) * kernel/generic/src/debug/names.c (modified) Remove include sorcery from DWARF constant definitions Also add a ... Fri, 27 Oct 2023 19:45:12 GMT Jiří Zárevúcky [63ed840] * kernel/generic/include/console/console.h (modified) * kernel/generic/src/console/console.c (modified) Remove unused functions gets() and getc() from kernel Fri, 27 Oct 2023 18:56:50 GMT Jiří Zárevúcky [694ca3d6] * common/include/printf_core.h (moved) * common/printf/printf_core.c (moved) * kernel/generic/meson.build (modified) * kernel/generic/src/printf/printf_core.c (deleted) * uspace/lib/c/generic/io/asprintf.c (modified) * uspace/lib/c/generic/io/kio.c (modified) * uspace/lib/c/generic/io/printf.c (modified) * uspace/lib/c/generic/io/vprintf.c (modified) * uspace/lib/c/generic/io/vsnprintf.c (modified) * uspace/lib/c/meson.build (modified) * uspace/lib/posix/src/stdio.c (modified) Deduplicate printf_core() Fri, 27 Oct 2023 18:20:03 GMT Jiří Zárevúcky [ad9178bf] * common/adt/bitmap.c (moved) * common/adt/checksum.c (moved) * common/adt/circ_buf.c (moved) * common/adt/hash_table.c (moved) * common/adt/list.c (moved) * common/adt/odict.c (moved) * common/adt/prodcons.c (moved) * common/include/adt/bitmap.h (moved) * common/include/adt/checksum.h (moved) * common/include/adt/circ_buf.h (moved) * common/include/adt/fifo.h (moved) * common/include/adt/gcdlcm.h (moved) * common/include/adt/hash.h (moved) * common/include/adt/hash_table.h (moved) * common/include/adt/list.h (moved) * common/include/adt/odict.h (moved) * common/include/adt/prodcons.h (moved) * kernel/generic/include/adt/fifo.h (deleted) * kernel/generic/include/adt/hash.h (deleted) * kernel/generic/include/adt/hash_table.h (deleted) * kernel/generic/include/adt/list.h (deleted) * kernel/generic/meson.build (modified) * kernel/generic/src/adt/hash_table.c (deleted) * kernel/generic/src/adt/list.c (deleted) * uspace/lib/c/generic/adt/odict.c (deleted) * uspace/lib/c/include/adt/odict.h (deleted) * uspace/lib/c/meson.build (modified) Deduplicate ADT Fri, 27 Oct 2023 17:58:59 GMT Jiří Zárevúcky [55c5cb05] * common/gsort.c (moved) * common/include/gsort.h (moved) * kernel/generic/include/gsort.h (deleted) * kernel/generic/meson.build (modified) * kernel/generic/src/lib/gsort.c (deleted) * uspace/lib/c/meson.build (modified) Deduplicate gsort() Fri, 27 Oct 2023 17:53:21 GMT Jiří Zárevúcky [fdfb24e] * boot/arch/arm32/meson.build (modified) * boot/arch/arm64/meson.build (modified) * boot/arch/ia64/meson.build (modified) * boot/arch/mips32/meson.build (modified) * boot/arch/ppc32/meson.build (modified) * boot/arch/riscv64/meson.build (modified) * boot/arch/sparc64/meson.build (modified) * boot/generic/include/assert.h (moved) * boot/generic/include/errno.h (modified) * boot/generic/src/str.c (deleted) * common/include/ctype.h (moved) * common/include/str.h (moved) * common/include/str_error.h (moved) * common/stdc/ctype.c (moved) * common/str.c (moved) * common/str_error.c (moved) * common/strtol.c (moved) * kernel/generic/include/str.h (deleted) * kernel/generic/meson.build (modified) * kernel/generic/src/console/kconsole.c (modified) * kernel/generic/src/lib/str.c (deleted) * kernel/generic/src/lib/strtol.c (deleted) * kernel/generic/src/main/kinit.c (modified) * kernel/generic/src/mm/backend_user.c (modified) * kernel/generic/src/proc/program.c (modified) * uspace/lib/c/generic/str_error.c (deleted) * uspace/lib/c/meson.build (modified) * uspace/lib/posix/include/posix/ctype.h (modified) Deduplicate string related functions Fri, 27 Oct 2023 17:38:32 GMT Jiří Zárevúcky [b169619] * boot/arch/arm32/meson.build (modified) * boot/arch/arm32/src/main.c (modified) * boot/arch/arm64/meson.build (modified) * boot/arch/arm64/src/main.c (modified) * boot/arch/ia64/meson.build (modified) * boot/arch/ia64/src/main.c (modified) * boot/arch/mips32/meson.build (modified) * boot/arch/mips32/src/main.c (modified) * boot/arch/ppc32/meson.build (modified) * boot/arch/ppc32/src/main.c (modified) * boot/arch/riscv64/meson.build (modified) * boot/arch/sparc64/meson.build (modified) * boot/arch/sparc64/src/main.c (modified) * boot/genarch/src/ofw_tree.c (modified) * boot/generic/include/stdlib.h (added) * boot/generic/src/gzip.c (modified) * boot/generic/src/inflate.c (modified) * boot/generic/src/memstr.c (deleted) * boot/generic/src/payload.c (modified) * boot/meson.build (modified) * common/include/mem.h (moved) * common/stdc/cc.h (moved) * common/stdc/mem.c (moved) * kernel/arch/amd64/src/amd64.c (modified) * kernel/arch/amd64/src/pm.c (modified) * kernel/arch/arm32/src/ras.c (modified) * kernel/arch/ia32/src/ia32.c (modified) * kernel/arch/ia32/src/pm.c (modified) * kernel/arch/ia32/src/smp/smp.c (modified) * kernel/arch/ia64/src/cpu/cpu.c (modified) * kernel/arch/ia64/src/mm/vhpt.c (modified) * kernel/arch/mips32/src/mips32.c (modified) * kernel/arch/riscv64/src/riscv64.c (modified) * kernel/arch/sparc64/src/mm/sun4u/as.c (modified) * kernel/arch/sparc64/src/mm/sun4v/as.c (modified) * kernel/genarch/src/acpi/acpi.c (modified) * kernel/genarch/src/drivers/ega/ega.c (modified) * kernel/genarch/src/drivers/via-cuda/cuda.c (modified) * kernel/genarch/src/fb/fb.c (modified) * kernel/genarch/src/mm/as_pt.c (modified) * kernel/genarch/src/mm/page_pt.c (modified) * kernel/genarch/src/ofw/ofw_tree.c (modified) * kernel/generic/common (added) * kernel/generic/include/cc.h (modified) * kernel/generic/include/cpu/cpu_mask.h (modified) * kernel/generic/include/lib/memfnc.h (deleted) * kernel/generic/include/memw.h (moved) * kernel/generic/meson.build (modified) * kernel/generic/src/cpu/cpu.c (modified) * kernel/generic/src/ddi/ddi.c (modified) * kernel/generic/src/ddi/irq.c (modified) * kernel/generic/src/ipc/ipc.c (modified) * kernel/generic/src/ipc/sysipc.c (modified) * kernel/generic/src/lib/gsort.c (modified) * kernel/generic/src/lib/mem.c (modified) * kernel/generic/src/lib/memfnc.c (deleted) * kernel/generic/src/lib/ubsan.c (modified) * kernel/generic/src/main/kinit.c (modified) * kernel/generic/src/mm/as.c (modified) * kernel/generic/src/mm/backend_anon.c (modified) * kernel/generic/src/mm/backend_elf.c (modified) * kernel/generic/src/mm/malloc.c (modified) * kernel/generic/src/mm/slab.c (modified) * kernel/generic/src/printf/vsnprintf.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/synch/waitq.c (modified) * kernel/generic/src/udebug/udebug_ops.c (modified) * kernel/meson.build (modified) * kernel/test/mm/falloc2.c (modified) * kernel/test/mm/slab1.c (modified) * kernel/test/mm/slab2.c (modified) * uspace/lib/c/common (added) * uspace/lib/c/meson.build (modified) * uspace/lib/posix/include/common (added) * uspace/lib/posix/include/posix/string.h (modified) Deduplicate mem functions There are a number of functions which are ... Thu, 26 Oct 2023 20:22:32 GMT Jiří Zárevúcky [0373af9] * kernel/generic/src/debug/line.c (modified) Forgotten debugging tweak Thu, 26 Oct 2023 20:20:55 GMT Jiří Zárevúcky [001957b6] * kernel/generic/include/debug/constants.h (modified) * kernel/generic/include/debug/constants/dw_access.inc (moved) * kernel/generic/include/debug/constants/dw_at.inc (moved) * kernel/generic/include/debug/constants/dw_ate.inc (moved) * kernel/generic/include/debug/constants/dw_cc.inc (moved) * kernel/generic/include/debug/constants/dw_ds.inc (moved) * kernel/generic/include/debug/constants/dw_end.inc (moved) * kernel/generic/include/debug/constants/dw_form.inc (moved) * kernel/generic/include/debug/constants/dw_id.inc (moved) * kernel/generic/include/debug/constants/dw_lang.inc (moved) * kernel/generic/include/debug/constants/dw_lle.inc (moved) * kernel/generic/include/debug/constants/dw_lnct.inc (moved) * kernel/generic/include/debug/constants/dw_lne.inc (moved) * kernel/generic/include/debug/constants/dw_lns.inc (moved) * kernel/generic/include/debug/constants/dw_op.inc (moved) * kernel/generic/include/debug/constants/dw_tag.inc (moved) * kernel/generic/include/debug/constants/dw_ut.inc (moved) * kernel/generic/include/debug/constants/dw_virtuality.inc (moved) * kernel/generic/include/debug/constants/dw_vis.inc (moved) * kernel/generic/include/debug/line.h (modified) * kernel/generic/src/debug/line.c (modified) * kernel/generic/src/debug/names.c (modified) * kernel/generic/src/debug/stacktrace.c (modified) * kernel/generic/src/debug/util.c (modified) * kernel/generic/src/debug/util.h (modified) ccheck Thu, 26 Oct 2023 19:20:09 GMT Jiří Zárevúcky [2fbb42f] * kernel/generic/include/debug/constants.h (added) * kernel/generic/include/debug/constants/dw_access.h (added) * kernel/generic/include/debug/constants/dw_at.h (added) * kernel/generic/include/debug/constants/dw_ate.h (added) * kernel/generic/include/debug/constants/dw_cc.h (added) * kernel/generic/include/debug/constants/dw_ds.h (added) * kernel/generic/include/debug/constants/dw_end.h (added) * kernel/generic/include/debug/constants/dw_form.h (added) * kernel/generic/include/debug/constants/dw_id.h (added) * kernel/generic/include/debug/constants/dw_lang.h (added) * kernel/generic/include/debug/constants/dw_lle.h (added) * kernel/generic/include/debug/constants/dw_lnct.h (added) * kernel/generic/include/debug/constants/dw_lne.h (added) * kernel/generic/include/debug/constants/dw_lns.h (added) * kernel/generic/include/debug/constants/dw_op.h (added) * kernel/generic/include/debug/constants/dw_tag.h (added) * kernel/generic/include/debug/constants/dw_ut.h (added) * kernel/generic/include/debug/constants/dw_virtuality.h (added) * kernel/generic/include/debug/constants/dw_vis.h (added) * kernel/generic/include/debug/line.h (added) * kernel/generic/include/debug/names.h (added) * kernel/generic/include/stacktrace.h (modified) * kernel/generic/meson.build (modified) * kernel/generic/src/debug/line.c (added) * kernel/generic/src/debug/names.c (added) * kernel/generic/src/debug/stacktrace.c (modified) * kernel/generic/src/debug/util.c (added) * kernel/generic/src/debug/util.h (added) * kernel/meson.build (modified) * meson/part/compiler_args/meson.build (modified) Add printing of file names and line numbers in stacktraces Uses ... Thu, 26 Oct 2023 15:20:07 GMT Jiří Zárevúcky [da13982] * kernel/arch/abs32le/_link.ld.in (modified) * kernel/arch/amd64/_link.ld.in (modified) * kernel/arch/arm32/_link.ld.in (modified) * kernel/arch/arm64/_link.ld.in (modified) * kernel/arch/ia32/_link.ld.in (modified) * kernel/arch/ia64/_link.ld.in (modified) * kernel/arch/mips32/_link.ld.in (modified) * kernel/arch/ppc32/_link.ld.in (modified) * kernel/arch/riscv64/_link.ld.in (modified) * kernel/arch/sparc64/_link.ld.in (modified) * kernel/generic/include/debug.h (modified) * kernel/generic/include/debug/register.h (moved) * kernel/generic/include/debug/sections.h (added) * kernel/generic/include/symtab.h (modified) * kernel/generic/meson.build (modified) * kernel/generic/src/console/kconsole.c (modified) * kernel/generic/src/debug/profile.c (moved) * kernel/generic/src/debug/sections.c (added) * kernel/generic/src/debug/stacktrace.c (modified) * kernel/generic/src/debug/symtab.c (modified) * kernel/generic/src/main/kinit.c (modified) * kernel/meson.build (modified) * kernel/tools/genmap.py (deleted) * meson.build (modified) * meson/arch/mips32/meson.build (modified) * meson/part/initrd_manifest/meson.build (modified) Read symbol table from ELF sections Instead of the currently broken ... Thu, 26 Oct 2023 11:58:44 GMT Jiří Zárevúcky [d28bdbe] * kernel/generic/include/debug.h (modified) * kernel/generic/src/main/main.c (modified) Verify arguments of empty log calls Sun, 22 Oct 2023 17:26:17 GMT Jiří Zárevúcky [dfb16c4] * kernel/generic/src/interrupt/interrupt.c (modified) Panic on unexpected use of exception handling Wed, 19 Apr 2023 09:31:02 GMT Jiří Zárevúcky [ec8ef12] * kernel/generic/src/proc/scheduler.c (modified) Split find_best_thread() into two functions try_find_thread() ... Wed, 19 Apr 2023 09:31:02 GMT Jiří Zárevúcky [117ad5a2] * kernel/generic/src/proc/scheduler.c (modified) Get thread priority from find_best_thread(), instead of locking ... Tue, 18 Apr 2023 17:33:02 GMT Jiří Zárevúcky [f3dbe27] * kernel/arch/amd64/src/cpu/cpu.c (modified) * kernel/arch/ia32/src/cpu/cpu.c (modified) * kernel/generic/include/cpu.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Reduce locking further with lazy FPU It turns out we only need a ... Sun, 16 Apr 2023 13:00:39 GMT Jiří Zárevúcky [06f81c4] * kernel/generic/include/cpu.h (modified) * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/cpu/cpu.c (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Check cpu_t::fpu_owner directly instead of ... Sun, 16 Apr 2023 12:39:04 GMT Jiří Zárevúcky [fbaf6ac] * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Streamline thread load-balancing Sun, 16 Apr 2023 12:22:00 GMT Jiří Zárevúcky [169815e] * kernel/generic/include/cpu.h (modified) * kernel/generic/src/cpu/cpu.c (modified) * kernel/generic/src/interrupt/interrupt.c (modified) * kernel/generic/src/mm/tlb.c (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/sysinfo/stats.c (modified) * kernel/generic/src/time/clock.c (modified) Split cpu_t::lock into fpu_lock and tlb_lock For all other ... Sat, 15 Apr 2023 16:47:54 GMT Jiří Zárevúcky [b2ec5cf] * kernel/generic/include/atomic.h (modified) * kernel/generic/include/cpu.h (modified) * kernel/generic/src/cpu/cpu.c (modified) * kernel/generic/src/interrupt/interrupt.c (modified) * kernel/generic/src/sysinfo/stats.c (modified) * kernel/generic/src/time/clock.c (modified) Implement atomic_time_stat_t for lockless timekeeping We keep ... Sat, 15 Apr 2023 16:30:15 GMT Jiří Zárevúcky [dd218ea] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Remove unnecessary thread_t::wired There's already ... Fri, 07 Apr 2023 18:23:19 GMT Jiří Zárevúcky [c680333] * kernel/generic/src/mm/as.c (modified) * kernel/generic/src/proc/scheduler.c (modified) Move task switch handling into a separate function Tue, 21 Mar 2023 17:41:48 GMT Jiří Zárevúcky [3118355] * kernel/generic/src/proc/scheduler.c (modified) Optimize relink_rq() Iterate backwards and only lock each runqueue ... Sun, 26 Feb 2023 15:27:13 GMT Jiří Zárevúcky [bea6233] * kernel/arch/abs32le/include/arch/asm.h (modified) * kernel/arch/amd64/include/arch/asm.h (modified) * kernel/arch/arm32/include/arch/asm.h (modified) * kernel/arch/arm64/include/arch/asm.h (modified) * kernel/arch/ia32/include/arch/asm.h (modified) * kernel/arch/ia64/include/arch/asm.h (modified) * kernel/arch/mips32/include/arch/asm.h (modified) * kernel/arch/ppc32/include/arch/asm.h (modified) * kernel/arch/riscv64/include/arch/asm.h (modified) * kernel/arch/sparc64/include/arch/asm.h (modified) * kernel/generic/src/proc/scheduler.c (modified) Replace cpu_sleep() with cpu_interruptible_sleep() The new function ... Sun, 26 Feb 2023 11:36:18 GMT Jiří Zárevúcky [deed510] * kernel/generic/include/main/main.h (modified) * kernel/generic/src/main/main.c (modified) Remove an unused variable and make a few others 'static' They ... Sun, 26 Feb 2023 11:24:51 GMT Jiří Zárevúcky [6188fee] * kernel/arch/mips32/src/mm/frame.c (modified) * kernel/generic/src/mm/frame.c (modified) Exclude boot allocations in frame allocator I think some platforms ... Sat, 25 Feb 2023 13:16:38 GMT Jiří Zárevúcky [65f3117] * kernel/arch/amd64/src/smp/ap.S (modified) * kernel/arch/ia32/src/smp/ap.S (modified) * kernel/arch/mips32/src/mm/frame.c (modified) * kernel/arch/sparc64/src/sun4u/start.S (modified) * kernel/generic/include/config.h (modified) * kernel/generic/src/main/main.c (modified) * kernel/generic/src/mm/frame.c (modified) Make bootstrap stack statically, rather than dynamically allocated ... Sat, 25 Feb 2023 11:51:04 GMT Jiří Zárevúcky [c7326f21] * kernel/generic/src/proc/thread.c (modified) Move some oddly placed accounting code Thread ucycles and kcycles ... Sun, 12 Feb 2023 22:25:23 GMT Jiří Zárevúcky [4777e02] * kernel/generic/include/synch/spinlock.h (modified) * kernel/generic/src/synch/spinlock.c (modified) Make spinlock functions inlineable in non-SMP case By popular demand. Sat, 11 Feb 2023 19:13:44 GMT Jiří Zárevúcky [111b9b9] * kernel/generic/include/proc/scheduler.h (modified) * kernel/generic/include/proc/thread.h (modified) * kernel/generic/include/synch/waitq.h (modified) * kernel/generic/include/time/timeout.h (modified) * kernel/generic/src/ipc/event.c (modified) * kernel/generic/src/ipc/ipc.c (modified) * kernel/generic/src/ipc/irq.c (modified) * kernel/generic/src/ipc/sysipc.c (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/task.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/synch/condvar.c (modified) * kernel/generic/src/synch/semaphore.c (modified) * kernel/generic/src/synch/syswaitq.c (modified) * kernel/generic/src/synch/waitq.c (modified) * kernel/generic/src/time/timeout.c (modified) * kernel/generic/src/udebug/udebug.c (modified) * kernel/generic/src/udebug/udebug_ops.c (modified) * kernel/test/synch/semaphore1.c (modified) * kernel/test/synch/semaphore2.c (modified) Reimplement waitq using thread_wait/wakeup This adds a few ... Sat, 11 Feb 2023 18:50:54 GMT Jiří Zárevúcky [76e17d7c] * kernel/generic/include/synch/mutex.h (modified) * kernel/generic/include/synch/semaphore.h (modified) * kernel/generic/src/synch/mutex.c (modified) * kernel/generic/src/synch/semaphore.c (modified) Reorganize mutex implementation Sat, 11 Feb 2023 18:35:15 GMT Jiří Zárevúcky [11d2c983] * kernel/generic/include/proc/task.h (modified) * kernel/generic/src/proc/thread.c (modified) Reorganize locking in thread_destroy() Fri, 10 Feb 2023 22:59:11 GMT Jiří Zárevúcky [1871118] * kernel/generic/include/lib/refcount.h (modified) * kernel/generic/include/proc/thread.h (modified) * kernel/generic/include/synch/waitq.h (modified) * kernel/generic/src/console/cmd.c (modified) * kernel/generic/src/ipc/kbox.c (modified) * kernel/generic/src/main/kinit.c (modified) * kernel/generic/src/main/uinit.c (modified) * kernel/generic/src/proc/program.c (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/task.c (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/synch/waitq.c (modified) * kernel/generic/src/sysinfo/stats.c (modified) * kernel/generic/src/udebug/udebug_ops.c (modified) * kernel/test/mm/falloc2.c (modified) * kernel/test/mm/slab1.c (modified) * kernel/test/mm/slab2.c (modified) * kernel/test/synch/semaphore1.c (modified) * kernel/test/synch/semaphore2.c (modified) * kernel/test/thread/thread1.c (modified) Make thread_t reference counted This simplifies interaction between ... Fri, 10 Feb 2023 15:18:53 GMT Jiří Zárevúcky [daadfa6] * kernel/generic/include/cpu.h (modified) * kernel/generic/src/main/main.c (modified) * kernel/generic/src/proc/scheduler.c (modified) Remove unnecessary context field from cpu_t structure Thu, 09 Feb 2023 17:42:22 GMT Jiří Zárevúcky [e994898] * kernel/generic/src/synch/mutex.c (modified) Fix an oops Thu, 09 Feb 2023 16:55:34 GMT Jiří Zárevúcky [4c78104] * kernel/generic/include/synch/semaphore.h (modified) * kernel/generic/include/synch/waitq.h (modified) * kernel/generic/src/synch/mutex.c (modified) * kernel/generic/src/synch/semaphore.c (modified) * kernel/generic/src/synch/waitq.c (modified) Get rid of waitq_count_get/set Thu, 09 Feb 2023 16:29:37 GMT Jiří Zárevúcky [c0b54c9] * kernel/generic/src/synch/waitq.c (modified) Thread is guaranteed to exist in waitq_sleep_timed_out ... Thu, 09 Feb 2023 16:12:24 GMT Jiří Zárevúcky [83789ea2] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/synch/waitq.c (modified) * kernel/generic/src/time/timeout.c (modified) Simplify timeout handling Since timeout_unregister() now waits for ... Thu, 09 Feb 2023 15:31:39 GMT Jiří Zárevúcky [ba25c4b] * kernel/generic/include/time/timeout.h (modified) * kernel/generic/src/time/clock.c (modified) * kernel/generic/src/time/timeout.c (modified) Synchronize timeout_unregister() with handler execution This ... Tue, 07 Feb 2023 18:43:26 GMT Jiří Zárevúcky [78acbc72] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/task.c (modified) * kernel/generic/src/proc/thread.c (modified) Remove unused thread_interrupted(), make thread_interrupt() useful Tue, 07 Feb 2023 16:49:43 GMT Jiří Zárevúcky [0366d09d] * kernel/arch/abs32le/include/arch/fpu_context.h (modified) * kernel/arch/arm32/include/arch/fpu_context.h (modified) * kernel/arch/arm64/include/arch/fpu_context.h (modified) * kernel/arch/arm64/include/arch/fpu_context_struct.h (modified) * kernel/arch/ia32/include/arch/fpu_context.h (modified) * kernel/arch/ia64/include/arch/fpu_context.h (modified) * kernel/arch/mips32/include/arch/fpu_context.h (modified) * kernel/arch/mips32/include/arch/fpu_context_struct.h (modified) * kernel/arch/ppc32/include/arch/fpu_context.h (modified) * kernel/arch/ppc32/include/arch/fpu_context_struct.h (modified) * kernel/arch/sparc64/include/arch/fpu_context.h (modified) * kernel/generic/include/proc/thread.h (modified) * kernel/generic/src/proc/scheduler.c (modified) * kernel/generic/src/proc/thread.c (modified) Avoid separate allocation for FPU context With _Alignas, we can ... Tue, 07 Feb 2023 16:03:05 GMT Jiří Zárevúcky [7c5320c] * kernel/arch/ia32/src/smp/smp.c (modified) * kernel/arch/sparc64/src/smp/sun4u/smp.c (modified) * kernel/arch/sparc64/src/smp/sun4v/smp.c (modified) * kernel/generic/include/console/chardev.h (modified) * kernel/generic/include/smp/smp.h (modified) * kernel/generic/src/console/chardev.c (modified) * kernel/generic/src/main/kinit.c (modified) * kernel/generic/src/main/main.c (modified) * kernel/generic/src/smp/smp.c (modified) Use the semaphore interface instead of waitq in some places Since ... Tue, 07 Feb 2023 16:02:50 GMT Jiří Zárevúcky [5110d0a] * kernel/generic/include/proc/thread.h (modified) * kernel/generic/include/synch/condvar.h (modified) * kernel/generic/include/synch/mutex.h (modified) * kernel/generic/include/synch/semaphore.h (modified) * kernel/generic/include/synch/waitq.h (modified) * kernel/generic/src/proc/thread.c (modified) * kernel/generic/src/synch/condvar.c (modified) * kernel/generic/src/synch/mutex.c (modified) * kernel/generic/src/synch/semaphore.c (modified) * kernel/generic/src/synch/waitq.c (modified) Turn a bunch of macros into regular functions Mon, 06 Feb 2023 16:54:36 GMT Jiří Zárevúcky [b596d0d] * kernel/generic/src/cap/cap.c (modified) Fix incorrect locking in cap_unpublish()