1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

32 Commits

Author SHA1 Message Date
René Kijewski
677d690e2b core: introduce thread_yield_higher(), yield less
Fixes #1708.

Currently involuntary preemption causes the current thread not only to
yield for a higher prioritized thread, but all other threads of its own
priority class, too.

This PR adds the function `thread_yield_higher()`, which will yield the
current thread in favor of higher prioritized functions, but not for
threads of its own priority class.

Boards now need to implement `thread_yield_higher()` instead of
`thread_yield()`, but `COREIF_NG` boards are not affected in any way.

`thread_yield()` retains its old meaning: yield for every thread that
has the same or a higher priority.

This PR does not touch the occurrences of `thread_yield()` in the periph
drivers, because the author of this PR did not look into the logic of
the various driver implementations.
2014-10-24 00:09:56 +02:00
Hinnerk van Bruinehsen
9933dd0b78 cpu: arm/cortex-mX/atmega: use uintptr_t for sp cast 2014-09-14 02:34:04 +02:00
Ludwig Ortmann
3ca4f18479 doc: use lgplv2.1-short license header instead of lgpl-short-riot 2014-07-31 22:57:20 +02:00
René Kijewski
867246a09f Add argument to thread_create 2014-07-09 10:07:54 +02:00
Oleg Hahm
ef5ec344fd core: prefix API functions correctly
Also changed names for bitarithm functions and rename thread_pid to sched_active_pid.
2014-05-18 08:53:20 +02:00
Jan S
ba907471f3 fixed printf specifiers 2014-05-15 17:42:57 +02:00
Ludwig Ortmann
063a15ce9b Change reboot signature.
Change from `void reboot(void)` to `int reboot(int mode)`.
Move reboot definition to core, rename architecture implementations
from reboot to reboot_arch.
Declare reboot mode(s) in kernel.h, reboot_arch in kernel_internal.h
Currently only one reboot mode is handled, its use is enforced.

Rationale:
A reboot function is already defined in <unistd.h> on BSD systems.
(See: http://www.openbsd.org/cgi-bin/man.cgi?query=reboot&sektion=2)
This patch not only allows native to build sensibly on these systems
but also streamlines RIOTs compatability with existing software.
2014-03-10 11:14:27 +01:00
Kévin Roussel
f6d7910352 Added while(1) to ensure GCC valids NORETURN; fixed indentation 2014-02-14 16:33:47 +01:00
Kévin Roussel
c33087bdcd Implemented reboot() function for ARM-based MCUs 2014-02-14 11:56:18 +01:00
Martin
b4f36f4af9 added typecast for starck_start in arm_cpu to ensure correct calculation 2014-02-07 09:17:21 +01:00
Hauke Petersen
edcabf7cb6 Fixed a lot of comments by removing tabs and correcting format. 2013-12-16 14:00:33 +01:00
Hauke Petersen
3785fe956b Fixed doxygen comments, focused on file headers and group definitions 2013-12-16 14:00:24 +01:00
f85adf608f change my email address
kaspar.schleiser@fu-berlin.de will be obsoleted soon. Replace it with
kaspar@schleiser.de, which will (hopefully) stay.
2013-12-04 15:09:56 +01:00
Christian Mehlis
ff12887eae Merge pull request #380 from OlegHahm/fix_watchdog
initializes watchdog properly for MSB-A2
2013-12-03 03:17:43 -08:00
Oleg Hahm
749a24c515 initializes watchdog properly for MSB-A2
It the watchdog does not reset the WDMOD, BSL pin remains ignored.
2013-11-25 16:53:32 +01:00
Ludwig Ortmann
d6c213fb47 fix grammar in license header 2013-11-23 13:11:56 +01:00
Martin
63146190b3 fix changed prototype parameter 1 of thread_stack_init from void* to void(*)(void) 2013-08-09 12:19:03 +02:00
Oleg Hahm
22c668529d Merge branch 'oleg-master' into mymaster
Conflicts:
	cpu/Makefile.include
	cpu/arm_common/arm_cpu.c
2013-07-29 01:36:24 +02:00
Oleg Hahm
a2dff456f7 rebased from origin/master 2013-07-29 01:22:03 +02:00
Oleg Hahm
6297516371 restructured and fixed arm architecutre files 2013-07-24 23:53:38 +02:00
Oleg Hahm
19e4034ace Merge branch 'thomas-mc1322x'
Conflicts:
	Makefile.modules
	core/kernel_init.c
	core/thread.c
	cpu/arm_common/arm_cpu.c
	cpu/arm_common/syscalls.c
	cpu/lpc_common/hwtimer_cpu.c
	cpu/lpc_common/iap.c
	sys/include/transceiver.h
	sys/net/sixlowpan/sixlowip.c
	sys/net/sixlowpan/sixlowmac.c
	sys/net/sixlowpan/sixlowmac.h
	sys/net/sixlowpan/sixlowpan.c
	sys/transceiver/Makefile
	sys/transceiver/transceiver.c
2013-07-24 23:22:11 +02:00
Christian Mehlis
837bad38eb rename kernel_intern.h
german "intern" to english "internal"
2013-07-16 16:36:37 +02:00
Oliver Hahm
c8bee9e554 fixed coding style (space after most keywords) 2013-06-24 22:37:35 +02:00
Oliver Hahm
5d70656343 fixed coding conventions (mostly by astyle) 2013-06-21 03:52:57 +02:00
Oliver Hahm
0d6d8390c0 * updated copyright and license headers in various files 2013-06-18 17:21:38 +02:00
Oliver Hahm
9556ca3e7c * split up syscalls in arm and lpc specific code 2013-04-02 02:04:19 +02:00
Oliver Hahm
f13ef5f500 * restructured cpu folder to distinguish between arm and lpc common files 2013-04-01 00:18:07 +02:00
Oliver Hahm
ad0b7a852d * convert to coding conventions 2013-03-31 20:48:49 +02:00
Benjamin Valentin
15d6070ad6 fix bug introduced by 7cef6c4655
stack_start used to be stack_start + stack_size, so re-setting stk to stack_start would set the pointer to the *end* of the stack instead of the beginning.
2013-03-19 16:57:32 +01:00
Oliver Hahm
7cef6c4655 * adapted thread_stack_init() for ARM and msp430 to the new prototype introduced by bd5b46628f 2013-03-13 16:49:23 +01:00
1e238e4131 * massive name changes 2010-10-28 11:29:03 +02:00
91ae1eb6fd * import from old firekernel repository 2010-09-22 15:10:42 +02:00