diff --git a/ChangeLog b/ChangeLog index a6ddf72..a5ac789 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2019-12-04 NIIBE Yutaka + + * chopstx-gnu-linux.c (chx_thread_start): Fix return value. + 2019-12-03 NIIBE Yutaka * rules.mk [ARCH=riscv32] (MCFLAGS, LDFLAGS): Define. diff --git a/NEWS b/NEWS index 77fe813..450c3dc 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,8 @@ NEWS - Noteworthy changes * Major changes in Chopstx 2.0 + Released 20??-??-?? + ** Remove support of CHOPSTX_PRIO_INHIBIT_PREEMPTION We used to have (an experimental) feature of higher priority of thread (>= CHOPSTX_PRIO_INHIBIT_PREEMPTION). The feature offered: When a @@ -17,6 +19,9 @@ to support a thread having such a special priority. chopstx_critical (void *func (*), *arg) Let run FUNC with ARG, under CPU scheduler lock (== no preemption). +** RISC-V MCU support +RISC-V support has been added. It's for the core named Bumblebee. + * Major changes in Chopstx 1.17 diff --git a/chopstx-gnu-linux.c b/chopstx-gnu-linux.c index ec5a3c3..2b03150 100644 --- a/chopstx-gnu-linux.c +++ b/chopstx-gnu-linux.c @@ -277,9 +277,11 @@ voluntary_context_switch (struct chx_thread *tp_next) static void __attribute__((__noreturn__)) chx_thread_start (voidfunc thread_entry, void *arg) { + void *ret; + chx_cpu_sched_unlock (); - thread_entry (arg); - chopstx_exit (0); + ret = thread_entry (arg); + chopstx_exit (ret); } static struct chx_thread *