summaryrefslogtreecommitdiff
path: root/firmware/kernel/mrsw_lock.c (follow)
Commit message (Collapse)AuthorAge
* Add CPU mode asserts to kernel on blocking functions.Michael Sevakis2017-01-21
| | | | | | | | | This scourge finds it's way back in far too often. Right now, only defined for ARM. Have fun! Change-Id: Ib21be09ebf71dec10dc652a7a664779251f49644
* Base scheduler queues off linked lists and do cleanup/consolidationMichael Sevakis2014-08-16
| | | | | | | | | | | | | | | | | | | | | | | | | Abstracts threading from itself a bit, changes the way its queues are handled and does type hiding for that as well. Do alot here due to already required major brain surgery. Threads may now be on a run queue and a wait queue simultaneously so that the expired timer only has to wake the thread but not remove it from the wait queue which simplifies the implicit wake handling. List formats change for wait queues-- doubly-linked, not circular. Timeout queue is now singly-linked. The run queue is still circular as before. Adds a better thread slot allocator that may keep the slot marked as used regardless of the thread state. Assists in dumping special tasks that switch_thread was tasked to perform (blocking tasks). Deletes alot of code yet surprisingly, gets larger than expected. Well, I'm not not minding that for the time being-- omlettes and break a few eggs and all that. Change-Id: I0834d7bb16b2aecb2f63b58886eeda6ae4f29d59
* Do some kernel cleanupMichael Sevakis2014-08-08
| | | | | | | | | | | | | | | | | | | | * Seal away private thread and kernel definitions and declarations into the internal headers in order to better hide internal structure. * Add a thread-common.c file that keeps shared functions together. List functions aren't messed with since that's about to be changed to different ones. * It is necessary to modify some ARM/PP stuff since GCC was complaining about constant pool distance and I would rather not force dump it. Just bl the cache calls in the startup and exit code and let it use veneers if it must. * Clean up redundant #includes in relevant areas and reorganize them. * Expunge useless and dangerous stuff like remove_thread(). Change-Id: I6e22932fad61a9fac30fd1363c071074ee7ab382
* Fix some stuff for no priority andMichael Sevakis2014-08-06
| | | | | | | | | | thread_queue_wake() doesn't need the 2nd parameter. The original purpose for it never came to be. Non priority version mrsw_writer_wakeup_readers was left improperly finished. Get that back into line. Change-Id: Ic613a2479f3cc14dc7c761517670eb15178da9f5
* Oops. Somehow lost the track of the new files last push.Michael Sevakis2014-08-05
Change-Id: If3fad318bc2d620fa940de3f9595ff61024939df