summaryrefslogtreecommitdiff
path: root/Kernel/Lock.h
AgeCommit message (Collapse)Author
2019-10-12AK: Add Atomic.hTom
Use gcc built-in atomics
2019-07-29Kernel: Move Lock code out-of-line.Andreas Kling
It's so big and chunky anyway, it's silly to expand it everywhere. This makes it a lot easier to read function disassembly dumps.
2019-07-03AK: Rename the common integer typedefs to make it obvious what they are.Andreas Kling
These types can be picked up by including <AK/Types.h>: * u8, u16, u32, u64 (unsigned) * i8, i16, i32, i64 (signed)
2019-06-07Kernel: Move i386.{cpp,h} => Arch/i386/CPU.{cpp,h}Andreas Kling
There's a ton of work that would need to be done before we could spin up on another architecture, but let's at least try to separate things out a bit.
2019-05-28Add clang-format fileRobin Burchell
Also run it across the whole tree to get everything using the One True Style. We don't yet run this in an automated fashion as it's a little slow, but there is a snippet to do so in makeall.sh.
2019-05-16Kernel: Simplify dump_backtrace() API for clients.Andreas Kling
It makes no sense that clients had to worry about whether or not KSyms were loaded.
2019-05-14Kernel: Have Lock dump backtrace on lock-while-interrupts-disabled error.Andreas Kling
2019-04-17Kernel: Lock::unlock_if_locked() should never donate to holder.Andreas Kling
Since we're not interested in taking the lock if it's already held, there's no need to donate the remainder of our time slice to the holder.
2019-04-01Kernel: Add a blunt big process lock.Andreas Kling
We can't have multiple threads in the same process running in the kernel at the same time, so let's have a per-process lock that threads have to acquire on syscall entry/exit (and yield while blocked.)
2019-03-23Kernel: Introduce threads, and refactor everything in support of it.Andreas Kling
The scheduler now operates on threads, rather than on processes. Each process has a main thread, and can have any number of additional threads. The process exits when the main thread exits. This patch doesn't actually spawn any additional threads, it merely does all the plumbing needed to make it possible. :^)
2019-03-16Move Lock from AK to Kernel, since it only works inside the kernel.Andreas Kling