summaryrefslogtreecommitdiff
path: root/kern/task.c
AgeCommit message (Collapse)Author
2019-05-22Add a log print function type for information reportingRichard Braun
This type allows the use of either printf-based or log-based functions when reporting information.
2018-07-25kern/{fmt,shell}: update from upstreamRichard Braun
The shell module has been "objectified" and now supports multiple instances with shareable command sets.
2018-07-07kern/thread: add thread name accessorRichard Braun
2018-06-25kern/thread: slightly rework thread state handlingRichard Braun
2018-02-24New errno.h standard headerRichard Braun
Use standard errno codes. This change also adds strerror to string.h.
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-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-02Rework the build systemRichard Braun
2017-07-13Switch to initialization operationsRichard Braun
2017-06-24Make shell command descriptions consistentRichard Braun
2017-06-22kern/macros: move the __read_mostly macro hereRichard Braun
2017-06-11Make the diagnostics shell optionalRichard Braun
2017-06-10kern/task: minor shell improvementsRichard Braun
2017-06-10kern/shell: new SHELL_REGISTER_CMDS macroRichard Braun
2017-05-31kern/{task,thread}: add the task_info and thread_trace shell commandsRichard Braun
2017-04-29New stdio.h standard headerRichard Braun
Make kernel code obtain definitions for the printf family of functions through the inclusion of the standard stdio.h header.
2017-04-29kern/printk: rename to printfRichard Braun
The printk functions are close enough to the printf ones to bear the same names.
2017-03-04kern/task: improve task_infoRichard Braun
2017-03-04kern/{thread,turnstile}: implement priority inheritanceRichard Braun
The new turnstile module provides priority propagation capable sleep queues, tightly coupled with the scheduler, and can be used to implement synchronization facilities with priority inheritance.
2017-02-13kern/thread: minor change about scheduling class string representationRichard Braun
2017-02-08kern/thread: add wait channelsRichard Braun
2017-02-04Clean up compilationRichard Braun
Instead of mixing standard headers and internal redefinitions of standard types, completely rely on the compiler for what is guaranteed for a free standing environment. This results in the removal of kern/stddef.h and kern/stdint.h. The kern/types.h header is reintroduced for the different (and saner) purpose of defining types not specified in standard C, namely ssize_t for now.
2017-01-31kern/thread: make priority a generic thread propertyRichard Braun
2017-01-29kern/thread: implement thread_setschedulerRichard Braun
2016-12-09Force brackets around one-line conditional statementsRichard Braun
This change was done using astyle, with a few manual editing here and there.
2014-12-10kern/task: update call to kmem_cache_initRichard Braun
2014-09-16kern/task: make task_info report thread statesRichard Braun
2014-09-09kern/task: make task_info report scheduling propertiesRichard Braun
2014-01-02Declare variables as read mostly where appropriateRichard Braun
2013-06-03kern/task: include thread addresses in the outputRichard Braun
2013-05-16kern/task: fix task creationRichard Braun
The kernel task was inserted instead of the newly created task on task creation (!). Fix that dumb mistake. In addition, insert the new task at the end of the task list.
2013-05-15kern/list: rename list_insert to list_insert_headRichard Braun
This change increases clarity.
2013-04-15kern/task: new task_remove_thread functionRichard Braun
2013-03-06kern/task: minor info output changeRichard Braun
2012-12-18kern/task: create VM map for new tasksRichard Braun
2012-12-18kern/task: task creation and informationRichard Braun
2012-11-09Implement preliminary thread contextRichard Braun
Three new modules are added : - kern/task: Tasks are thread groups and resource containers for their threads. - kern/thread: The well known scheduling unit. - x86/tcb: The architecture specific thread control block. The kernel currently loads a single thread context on the main processor.