summaryrefslogtreecommitdiff
path: root/kern
AgeCommit message (Collapse)Author
2017-11-14Per-CPU variables, TCB and SSP supportarm_port_devRichard Braun
2017-10-31Merge branch 'master' into arm_port_devRichard Braun
2017-10-31Rename CONFIG_MULTIPROCESSOR to CONFIG_SMPRichard Braun
Machine-independent code assumes SMP, and the name is shorter.
2017-10-24Improve page table creation at boot timeRichard Braun
2017-10-19Polish the bootmem module a bitRichard Braun
2017-10-17Implement buddy allocation in the bootmem moduleRichard Braun
2017-10-17Start implementation of the bootmem buddy allocatorRichard Braun
2017-10-15kern/sleepq: replace tab character with spacesRichard Braun
2017-10-15kern/fmt: silence implicit fallthrough warningsRemy Noel
2017-10-15kern/macros: new __fallthrough macroRemy Noel
2017-10-07First bootmem prototypeRichard Braun
2017-10-04Fix some header inclusionsRichard Braun
2017-09-30StubsRichard Braun
2017-09-22kern/{sleepq,turnstile}: handle spurious wakeupsRichard Braun
2017-09-22kern/semaphore: improve descriptionRichard Braun
Replace the POSIX terminology of "locking" and "unlocking" with "waiting" and "signalling". In addition, discourage the use of semaphores.
2017-09-21Merge branch 'xbuild'Richard Braun
2017-09-21New build systemRichard Braun
The new build system, called xbuild, is a minimalistic kbuild-like make-based build system, also using kconfig for scalable configurations.
2017-09-20kern/thread: restore comment about thread destructionRichard Braun
2017-09-20kern/work: fix work_setup dependenciesRichard Braun
2017-09-07kern/semaphore: do not assume common caseRichard Braun
Unlike locks, which are expected to be used with the goal of minimum contention in mind, semaphores usage is more vague and it's not reasonable to expect a common case where they're unlocked.
2017-09-07kern/semaphore: add missing atomic accessRichard Braun
2017-09-07kern/init: fix LTO buildsRichard Braun
Initialization operations are never directly referenced, as they're retrieved by accessing the .init.ops subsection. As a result, whole program optimizations as applied during link time optimizations cause the structures and most of the related code not to be compiled in. Use the recently added __used attribute macro to fix this issue.
2017-09-07kern/macros: new __used attribute macroRichard Braun
2017-09-07Use accessors when referring to global kernel objectsRichard Braun
The kernel_map/kernel_pmap/kernel_task/etc... names were reused as they were in the Mach source code. They've been a (mostly harmless) long-standing violation of the coding rules.
2017-09-07kern/thread: fix thread stack guard selectionRichard Braun
2017-09-06kern/kmem: fix info summary formatRichard Braun
2017-09-06Use new thread_check_intr_context function consistentlyRichard Braun
2017-09-06kern/timer: add TODO entry about hash parametersRichard Braun
2017-09-06kern/rtmutex: fix priority propagation on unlockRichard Braun
2017-09-05kern/xcall: make sure functions are always run from interrupt contextRichard Braun
2017-09-05x86/{pmap,tcb}: don't use tsd for the update oplistRichard Braun
2017-09-05kern/thread: new thread_get_tcb functionRichard Braun
2017-09-04kern/rbtree: update from upstreamRichard Braun
2017-09-04kern/kmem: report physical and virtual memory usageRichard Braun
2017-09-03kern/work: new private headerRichard Braun
2017-09-03x86: import macros from the init moduleRichard Braun
2017-09-02Rework the build systemRichard Braun
2017-09-02kern/thread: new preemption control macrosRichard Braun
These new macros take care of disabling/restoring interrupts in the appropriate order.
2017-09-02kern/turnstile: use an hlist for hash table chainingRichard Braun
2017-09-02kern/sleepq: use an hlist for hash table chainingRichard Braun
2017-09-02kern/{h,s}list: add type declarations to public headersRichard Braun
This change merely documents the types as part of the public interface of the respective modules.
2017-09-02Make assert have no side effectsRichard Braun
This makes sure symbols referenced by assert uses may not be generated if unused. The recently introduced __unused macro is used to suppress compiler warnings resulting from this change.
2017-09-01kern/macros: new __unused macroRichard Braun
2017-09-01kern/timer: make timer time reads non atomicRichard Braun
This makes such accesses on 32-bits processor without 64-bits atomic instruction too cumbersome for what it's worth.
2017-08-31kern/thread: fix atomic accesses to a thread's run queueRichard Braun
2017-08-31Make the low resolution clock frequency configurableRichard Braun
2017-08-31kern/mutex/mutex_adaptive: rename some debugging countersRichard Braun
2017-08-31Make mutex debugging slightly more convenientRichard Braun
Define the macro controlling mutex debugging only if not already defined, allowing users to pass it through CFLAGS.
2017-08-31kern/timer: improve access synchronizationRichard Braun
2017-08-31kern/timer: fix lockingRichard Braun