An application-supplied main() routine is now considered to be
essential to system operation. Thus, if main() experiences an
error that aborts the main thread a fatal system error is raised.
Note: If main() completes its work and does a standard return-
to-caller the main thread terminates normally.
Change-Id: Icc9499f13578299244a856a246ad2a7d34a72f54
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
This routine is non-existent. (Fix for ZEP-1240)
Change-Id: I85a538037aac000207f5f01414fb53810691d349
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Symbols now use the K_ prefix which is now standard for the
unified kernel. Legacy support for these symbols is retained
to allow existing applications to build successfully.
Change-Id: I3ff12c96f729b535eecc940502892cbaa52526b6
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Alert section now covers the count limit argument, which was
recently added.
[Part of fix to ZEP-1186]
Change-Id: I8943f42cddf7d39b3e66d02b615c895835bca472
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Adds standard prefix to symbolic option that flags a thread
as essential to system operation.
Change-Id: Ia904a81ce343fdd1cd44caaaeae641d822777f9b
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Note that a new section will be created to discuss workqueues,
including the system workqueue.
Change-Id: I921511f117acb07768619418539bef5b6a2a0a72
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Semaphore groups are not supported by the unified kernel (other than
via the legacy APIs).
A select() or poll() type mechanism may be introduced in the future
to provide a more general capability for a thread to wait on multiple
kernel objects simultaneously.
Change-Id: I6cdf773ecb5954bd1b9a5caa9ca5cc29b2932d9a
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Adds thread option information. Corrects and enhances information
about the thread's stack area and the spawning of threads.
Change-Id: I881bc448abf0962599eff9c7d32f3760625b3c37
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Fifo section now mentions the existence of this capability, and
notes the associated APIs. (Including an example of using the APIs
is not done, since the amount of code needed to show the creation
of the list of data items is significant, and is likely of little
interest to most users.)
Change-Id: I0485cb7d6a35df48a5eab7f6e7a751ddf403625b
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Event is such an overloaded and generic term (event logger, *kernel*
event logger, "protocol" events in other subsystems, etc.), that it is
confusing for the name an object. Events are kinda like signals, but not
exactly, so we chose not to name them 'signals' to prevent further
confusion. "Alerts" felt like a good fit, since they are used to "alert"
an application that something of significance should be addressed and
because an "alert handler" can be proactively registered with an alert.
Change-Id: Ibfeb5eaf0e6e62702ac3fec281d17f8a63145fa1
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
This better aligns with the actual functionality of the object.
Change-Id: I70abf54f994e92abd7367251089ea4f735d273fe
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
- replace instances of 'task' and 'fiber' with 'coop' and 'preempt'
thread
- remove reference to task monitor and task transition logging, since
this is a concept that is irrelevent in the unified kernel.
Change-Id: I31eef8d7894c45183f6a13cc3fdaa2e6214e8da3
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Aligns the APIs for defining a thread at compile time and for
spawning a thread at run time.
Change-Id: Ic5df450cbe4d0eb562fb4a608f1ac5a8a7cb4b96
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Ring buffer section now resides under "other" topic, since the
ring buffer type is a general purpose type (like the singly and
doubly linked list types), rather than a kernel-specific type.
Enhances ring buffer section to improve content and improve
consistency with the form used elsewhere in the Kernel Primer.
Also corrects a minor error in the ring buffer API documentation.
Change-Id: Icaa8661524f80e31f173adee859844cadb38967f
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Revises documentation for the kernel clocks to align it
with the actual behavior of the unified kernel.
Revises documentation for the kernel timer object type
to provide users with a more compact and intuitive API
that supports (directly or indirectly) the capabilities
of the now defunct microkernel timer and nanokernel
timer object types.
Note: A separate commit will be used to implement the
revised timer API described here.
Change-Id: Ifa4306c76e1c3e2aab1c0b55031df4179ac2a6b9
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
- Reorders parameters where necessary
- Adds alignment parameter to K_MSGQ_DEFINE() for buffer alignment
- Renames parameters where necessary so they are more intuitive
Change-Id: I0b53105c04109127897bf4790e6908082f82da4e
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
- Renames to K_MEM_POOL_DEFINE() for consistency
- Adds alignment parameter to align the pool buffer.
Jira: ZEP-926
Change-Id: I6cf0a1ce45c3a0fc5f0675047d8928659df1e75e
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
- Reorders parameters where necessary
- Adds alignment parameter to K_PIPE_DEFINE()
- Renames parameters where necessary so they are sync'd
between header and source files
Change-Id: I4f2367abc28aff646cc90beb9f08bb266e143b0c
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Also tweaks the memory maps section so that the two sections
are laid out in a similar manner.
Change-Id: I3abd69dd7e6c65cd1d6a4f12b3b14aa1b166ca5b
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>