100 Commits
Author SHA1 Message Date
4lDO2 50b19d1b1f Fix obvious opportunistic_context_locking typo. 2026-09-07 20:33:38 +02:00
4lDO2 d5bf54423f Avoid frame zeroing when followed by frame copy. 2026-09-06 23:25:34 +02:00
4lDO2 3a02e6b493 Allow simultaneous write of CQEs and read of SQEs. 2026-09-05 20:33:32 +02:00
4lDO2 0ebeab2b73 only save/restore avx regs when needed 2026-09-05 15:23:43 +02:00
4lDO2 5c796a0ac6 Safe get-percpu wrapper and warnings fixes. 2026-09-05 07:16:38 -06:00
4lDO2 a2ee203ee5 Update Cargo.lock 2026-09-05 14:50:11 +02:00
4lDO2 1f7fd64078 redox_syscall 0.9.4 2026-09-05 10:48:51 +02:00
4lDO2 7fc4dee572 Clobber xmm0-xmm15 in x86_64 syscall wrapper. 2026-09-04 22:20:43 +02:00
4lDO2 f4d59db53e Add additional counter for syscall switches. 2026-09-02 13:16:09 +02:00
4lDO2 d2874a167d Avoid fetch_add for context switch count.
Together with the previous commit, this reduces base IPC latency by 1%.
2026-09-02 13:09:56 +02:00
4lDO2 9329213e38 Avoid stats fetch_add when exclusively incremented.
x.store(x.load() + 1) is valid if all other threads are strictly
read-only (and even then, for counters the damage would be much limited
anyway).
2026-09-02 12:55:38 +02:00
4lDO2 1712dff573 Allow privileged x86_64 userspace to access MSRs. 2026-09-01 12:04:25 +02:00
4lDO2 ce151969e0 Allow userspace to use RDPMC. 2026-09-01 12:04:25 +02:00
Jacob Lorentzon 9ce506cc4f Merge branch 'integrate_syscall' into 'master'
Merge redox_syscall into this repo

See merge request redox-os/kernel!689
2026-08-31 20:15:41 +02:00
4lDO2 51f7e7ef9d Silence a probable false positive from clippy. 2026-08-30 15:58:22 +02:00
4lDO2 b9995d57e3 remove redundant syscall/.gitlab-ci.yml 2026-08-30 15:35:14 +02:00
4lDO2 d658b6ae19 Update syscall documentation. 2026-08-30 15:21:46 +02:00
4lDO2 95b7352292 Fix rustfmt in syscall/ 2026-08-30 15:07:23 +02:00
4lDO2 04fcea3785 Use local syscall/ dir for dependency. 2026-08-30 14:58:25 +02:00
4lDO2 570cdeadb0 Add 'syscall/' from commit '4cc3baafdcbca65660d7ad4c52b7900e1fd32315'
git-subtree-dir: syscall
git-subtree-mainline: b6fa12412e
git-subtree-split: 4cc3baafdc
2026-08-30 14:55:56 +02:00
4lDO2 b6fa12412e Avoid Arc::clone in context::current with Ref. 2026-08-30 10:14:43 +02:00
4lDO2 49df9a1682 Avoid UserScheme munmap if no mem was borrowed. 2026-08-29 10:36:31 -06:00
4lDO2 2b38bf8a17 Allow disabling opportunistic context locking. 2026-08-28 14:54:56 +02:00
4lDO2 16b371f86e Store scheme reference directly in file desc. 2026-08-26 20:27:02 +02:00
4lDO2 ef7940d9e0 Make DtbScheme optimized-out on x86. 2026-08-23 16:09:18 +02:00
4lDO2 e4277c29f7 0.9.2 2026-08-12 20:16:09 +02:00
4lDO2 c83b38eb70 Remove obsolete TODO, run rustfmt. 2026-07-06 19:30:05 +02:00
4lDO2 1db4871e80 Remove syscalls no longer present in the kernel. 2026-07-02 20:45:46 +02:00
4lDO2 56947e1a0f Revert drop of kstack in exit_this_context. 2026-06-04 13:37:57 +02:00
4lDO2 bd6d9acd3c Compile on other arches. 2026-06-03 19:06:12 +02:00
4lDO2 c27568e1fe profiling: allow walking across syscall boundaries 2026-06-03 19:01:35 +02:00
4lDO2 42613ddc06 WIP: simultaneous NMI-based user+kernel profiling. 2026-06-03 19:01:35 +02:00
4lDO2 8011f3f648 Simplify acpi scheme. 2026-06-02 16:23:08 +02:00
4lDO2 79cb6d9057 Add AcpiVerb 2026-06-02 15:38:05 +02:00
4lDO2 a358928d58 Add additional proc scheme & addrsp verbs. 2026-06-02 13:32:51 +02:00
4lDO2 6fc2d32497 Remove redundant methods from KernelScheme. 2026-06-02 11:24:37 +02:00
4lDO2 da3d235af5 remove syscall debug for removed syscalls 2026-06-02 11:24:37 +02:00
4lDO2 3e210ff169 Remove 5 obsolete syscalls. 2026-06-02 11:24:37 +02:00
4lDO2 cee451af38 Use ArrayVec for kcall fd nums, 8% better perf! 2026-05-31 20:24:57 +02:00
Jacob Lorentzon 142871660e profiling: infer number of CPUs dynamically 2026-04-13 06:44:27 -06:00
Jacob Lorentzon 141c87650f Fix profiling and add check to CI 2026-04-12 06:51:26 -06:00
4lDO2 178461f6fb Remove remnants of the old packet format. 2025-12-27 15:10:54 +01:00
4lDO2 33dbf2458e only clear RC_USED_NOT_FREE with freelist locked 2025-11-14 20:06:18 +01:00
4lDO2 96552163f6 Clear RC_USED_NOT_FREE even for contention case. 2025-11-14 20:06:18 +01:00
4lDO2 dc33c67997 Fix potential refcount underflow from fetch_sub. 2025-11-14 20:06:18 +01:00
4lDO2 70256a5b2f Revert "Fix i686 using cmpxchg8b-based AtomicU64 for stats."
This reverts commit 21f2d8f3e4.
2025-11-12 11:07:09 +01:00
4lDO2 21f2d8f3e4 Fix i686 using cmpxchg8b-based AtomicU64 for stats. 2025-11-12 10:59:51 +01:00
4lDO2 8d50ebd69d Fix target spec int vs string. 2025-10-04 16:12:54 +02:00
4lDO2 dd366f01c4 Make ForceKilled meaningful, += Dead && SIGKILL. 2025-09-10 13:22:29 +02:00
4lDO2 4a1cd73da4 Fix same-thread scheme use-after-free. 2025-04-26 16:33:10 +02:00
4lDO2 9be617132a Fix 'sys:exe' as required by libstd. 2025-04-20 14:09:31 +02:00
4lDO2 98999e76b2 Fix sendfd error handling. 2025-04-20 13:57:37 +02:00
4lDO2 952b1483d8 Pass the sendfd arg: u64 to userspace. 2025-04-20 12:36:33 +02:00
4lDO2 f7d413e1bb Use redox-os/syscall for git dep. 2025-04-19 19:23:57 +02:00
4lDO2 e6df56cf1b Use saner debug IDs for kmain. 2025-04-19 16:30:49 +02:00
4lDO2 6ed49d2ecb Reduce outdated header in sys/context. 2025-04-19 16:30:49 +02:00
4lDO2 1e3e961b78 Simplify context debug names. 2025-04-19 16:30:49 +02:00
4lDO2 22afbde451 Fix being_sigkilled todo! 2025-04-19 16:30:49 +02:00
4lDO2 1227f2222e Fix compilation on riscv64gc. 2025-04-19 16:30:48 +02:00
4lDO2 4d49f1a8e4 Refer to NLnet funding. 2025-04-19 16:30:48 +02:00
4lDO2 9447986889 Remove ksignal from aarch64. 2025-04-19 16:30:48 +02:00
4lDO2 b13ef6ada3 Fix i686. 2025-04-19 16:30:48 +02:00
4lDO2 2e6122bc7e Allow procmgr to recognize unhandled exceptions. 2025-04-19 16:30:48 +02:00
4lDO2 020b8ad415 Compile on aarch64. 2025-04-19 16:30:48 +02:00
4lDO2 10c53aef10 Remove RtSigInfo import. 2025-04-19 16:30:48 +02:00
4lDO2 10ef631fc3 Remove WaitMap from existence. 2025-04-19 16:30:48 +02:00
4lDO2 f3af1be69f Never return from ForceKill caller. 2025-04-19 16:30:48 +02:00
4lDO2 3a17f50ea8 Remove ContextHandle::Signal. 2025-04-19 16:30:47 +02:00
4lDO2 fa6dee36da Report all being_sigkilled contexts as Dead. 2025-04-19 16:30:47 +02:00
4lDO2 5df7031eb1 Add Interrupt ContextVerb. 2025-04-19 16:30:47 +02:00
4lDO2 ab11e6b346 Support stopping contexts, by procmgr. 2025-04-19 16:30:47 +02:00
4lDO2 2f977bbc52 Support getting intra-page off and mapping sig [tp]ctl. 2025-04-19 16:30:47 +02:00
4lDO2 e002d0be33 Remove commented-out syscalls and SigState.rtqs 2025-04-19 16:30:47 +02:00
4lDO2 cb1a838f05 Start moving kill to procmgr. 2025-04-19 16:30:47 +02:00
4lDO2 d0e09d9e87 Remove SYS_IOPL and SYS_VIRTTOPHYS debug. 2025-04-19 16:30:47 +02:00
4lDO2 ef78ac57b0 Add fd-based virttophys replacement. 2025-04-19 16:30:47 +02:00
4lDO2 b4b2ac312b Add interface for setting iopl. 2025-04-19 16:30:46 +02:00
4lDO2 2815800164 Support reading context status. 2025-04-19 16:30:46 +02:00
4lDO2 7b06ca16b1 Make thread kill API async. 2025-04-19 16:30:46 +02:00
4lDO2 f40ec48b3e Send event on thread death. 2025-04-19 16:30:46 +02:00
4lDO2 db5931504d Remove nonexisted import. 2025-04-19 16:30:46 +02:00
4lDO2 ce77a018ec Reach init again, with proc mgr. 2025-04-19 16:30:46 +02:00
4lDO2 a9fb2dcb93 Simplify proc scheme security. 2025-04-19 16:30:46 +02:00
4lDO2 0ccc825bfb Patch syscall. 2025-04-19 16:30:46 +02:00
4lDO2 a78d36f7f2 Reach init in userspace. 2025-04-19 16:30:46 +02:00
4lDO2 6d1a3e9a4c Convert Handle::Context -> Handle. 2025-04-19 16:30:45 +02:00
4lDO2 2a5bd36899 Reimplement context creation. 2025-04-19 16:30:45 +02:00
4lDO2 8883818501 Make kernel compile. 2025-04-19 16:30:45 +02:00
4lDO2 1d5f8fd46d Move proc code to userspace. 2025-04-19 16:30:42 +02:00
4lDO2 8f646a63ac Remove commented-out ThreadEvent. 2025-04-19 13:03:51 +02:00
4lDO2 8a80d1f58b Add debug_name to ProcSchemeAttrs. 2025-04-19 01:04:42 +02:00
4lDO2 c52c4fec53 Move most sig numbers to redox_rt. 2025-04-16 11:58:21 +02:00
4lDO2 8fa422b2c9 Add Exception stubs for aarch64+riscv64. 2025-04-15 16:37:55 +02:00
4lDO2 8d3e6e5b49 WIP: exception handling interfaces. 2025-04-15 16:30:04 +02:00
4lDO2 c9d824f406 Move RtSigInfo definition to redox-rt. 2025-04-13 20:34:17 +02:00
4lDO2 8909a0b233 Remove SYS_SIGDEQUEUE. 2025-04-13 20:24:47 +02:00
4lDO2 5d41cd7c53 Remove unimplemented itimer scheme. 2025-04-13 18:13:00 +02:00
4lDO2 f4d643e87c Fixes for netstack cancellation to work. 2025-04-10 19:32:41 +00:00
4lDO2 b23d5067c6 Add ContextVerb::Interrupt. 2025-04-07 17:40:45 +02:00
4lDO2 9db2be8663 Add ContextVerb with Stop and Unstop additionally. 2025-04-07 17:40:45 +02:00