Commit graph

19193 commits

Author SHA1 Message Date
Peter Mitsis
de00c105b9 Remove references to local objects in mailbox code
Concepts such as local objects suggest the existence of remote objects,
which implies a multi-node system.  Multi-node systems are not supported.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I0e6b1c34c35a0f68ad1ccfbf7d9c677ef8b8ae64
2016-02-05 20:13:41 -05:00
Peter Mitsis
fe4c22852a Formatting: adjust indentation in copypacket()
Fixes the level of indentation in the routine copypacket().

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: Id788a3a8ef211c9b75c67bd511fad4e624f58e5a
2016-02-05 20:13:41 -05:00
Peter Mitsis
7e0ee5ab3e Reorder routines in movedata.c
Reorders routines in movedata.c to eliminate the forward declarations.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I74bff9025f221d94688b51cef4cb7499ce61dd39
2016-02-05 20:13:41 -05:00
Peter Mitsis
3b70db2da3 Remove references to multi-node systems in movedata.c
Multi-node systems are not supported.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: If16ffde2bf18d8729bc7d16e558db146b042bb36
2016-02-05 20:13:41 -05:00
Peter Mitsis
6f39a8d627 Remove references to local and remote pools
The concept of 'local' and 'remote' pools only applies to multi-node systems.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I747d28c845174ca36c9788b7412f6fe5cc71f3f7
2016-02-05 20:13:41 -05:00
Peter Mitsis
4d8c717c69 Remove _task_mem_pool_move()
The routine _task_mem_pool_move() is only relevant to a multi-node system.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I191e43f24aa56159a4c4669ff135beceade56284
2016-02-05 20:13:41 -05:00
Peter Mitsis
7f5780a46c Remove task_mem_pool_moveXXX() routines from test_pool project
The task_mem_pool_moveXXX() routines are only relevant to multi-node systems.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I575c32a74b158c8b9b6ac6e1baef7b0e4f988270
2016-02-05 20:13:41 -05:00
Peter Mitsis
6a238004c0 Remove _task_mem_pool_move reference from footprint project
The routine _task_mem_pool_move() is only relevant to a multi-node system.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I1a97e2b87d29df7a1a63bcd6d8eea290382f3a7e
2016-02-05 20:13:41 -05:00
Peter Mitsis
d1c4f08765 Update irq locking/unlocking comments
Removes references to 'local' CPU from IRQ locking/unlocking comments.  On
a single node system, the CPU must by definition be local.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I56297f01db82a2ed798a7d6b5cabf4c04950d15e
2016-02-05 20:13:41 -05:00
Peter Mitsis
4b19f3c661 Remove references to SyncLocal
The SyncLocal symbol is not used.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I87c55b8869bbe447436f6e2ccf3d3652b50532ce
2016-02-05 20:13:40 -05:00
Dmitriy Korovkin
dd084a21a4 Fix benchmark projects makefiles to use proper configuration for i8253
Fix benchmark projects makefiles to use i8253 specific configuration
for only two variants of generic_pc BSP - pentium4 and minuteia, but
not for the whole BSP.

Change-Id: Iac89e29d2e26ee411d9c2d2fbcd3335c0e71fb06
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:13:40 -05:00
Dmitriy Korovkin
869582eb92 Remove PowerPC artefacts from test_fp_sharing test
PowerPC is not supported platform. It's components are to be removed.

Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:13:40 -05:00
Dmitriy Korovkin
7a3ee5e95e Rename driver header files according to naming standard
Change-Id: Ib384fd93c3d35abab1754b37d6464ff7dfe4a893
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:13:40 -05:00
Dmitriy Korovkin
f51049b81c Reorganization of time calculating macros
Move time calculation macros from application directory to kernel
directory, since it is used by a kernel component.
In order to follow namespace and naming conventions, convert
macros to SYS_CLOCK_HW_CYCLES_TO_NS* form.

Change-Id: I96e9149c399adc363aed5095ae82a1abc78d2977
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
2016-02-05 20:13:40 -05:00
Johan Hedberg
a789d4e97b nanokernel: Add scheduling context-independent API for starting fibers
When the exact scheduling context is not known it's convenient not to
have to spell out the context in the name of the *_fiber_start()
function. All of the fiber starting APIs map to the same _FiberStart()
implementation, so all we have to do is to declare another alias for
it.

Change-Id: Ic6862383422f89ad7dc4f401e76d610826163bb9
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:13:40 -05:00
Johan Hedberg
9599f21dfb nanokernel: Add scheduling context-independent API for semaphores
When the exact scheduling context is not known it's convenient to have
a wrapper API that uses context_type_get() to call the right function
at runtime.

Change-Id: I02b2ac9039519468f5501571243426a6a57ffc4d
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:13:40 -05:00
Johan Hedberg
68224c1c69 nanokernel: Add scheduling context-independent APIs for nano_fifo
When the exact scheduling context is not known it's convenient to have
a wrapper API that uses context_type_get() to call the right function
at runtime.

Change-Id: Ie72a4b78d53f664575c1d9dfeace52b53d018850
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
4baf0f0e15 sysgen: Detect invalid number of arguments for keywords
Now terminates process with an error message if there is a mismatch
between a keyword and the expected number of arguments that follow it.

Change-Id: Ib1902161937cae482e52be449c89789f8ff816a5
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
d00b802a6d sysgen: Terminate build when error detected
System generator now terminates with a non-zero exit code when
it detects an error, allowing the build system to detect the failure
and terminate the build.

Note: Sysgen only detects invalid keywords at this time. It would be
nice if it also detected other syntax and semantic errors.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
5b76cee54e sysgen: Improve readability of kernel_main.c
Adds blank lines to kernel_main.c output file in places where
unrelated variables were juxtaposed. Also suppresses an unwanted
blank line that occurred when no project-specific events were
defined.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
4cb503d165 sysgen: Standardize output file header creation routine naming
Makes the generation of kernel_main.c more consistent with the
generation of the other two output files.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
3cddec6551 sysgen: Standardize newline creation in output files
The routine that appends data to kernel_main.c no longer adds
a newline character, similar to what is done during the generation
of microkernel_objs.h and vxmicro.h.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
04012be07c sysgen: Relocate code for processing output directory name
Reworks output directory name processing so that it is invoked
at the bottom of the file, just like the rest of the program's
mainline. (It's previous location wasn't incorrect, but it could
be easily overlooked.)

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
779932139c sysgen: Improve location of functions and global variables
Relocates a handful of functions and global variables that were
located in places that were logically inconsistent with most other
functions and variables.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
ed9499e83f sysgen: Enhancements to comments
Adds, removes, and revises various comments to make it easier
to figure out what is going on.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
fc86999380 sysgen: Cosmetic changes to achieve PEP 8 conformance
Makes cosmetic changes to address all issues reported by
the pep8 Python programming style tool.

Note: All future changes to sysgen should be run against pep8
to ensure no new issues are introduced.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
2801be129a Eliminate _nano_start()
The helper function _nano_start() is no longer required (due to the
recent relocation of boot banner and kernel build timestamp code),
so the kernel's initialization code calls _nano_fiber_swap() directly.

Change-Id: I06b9f473715afbfbdd4105b0def3445f1b2e3583
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
5555bcff31 Relocate boot banner and kernel build timestamp handling
Moves boot banner and kernel build timestamp code to the kernel's
main initialization routine, since it doesn't really belong in a
generic fiber-processing file.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:40 -05:00
Peter Mitsis
68637b0fdc Remove K_memcpyrpl()
The K_memcpyrpl() routine is not applicable to a single node system.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: Ia778a6fc43e390a6c0478d641c206d2423a93c27
2016-02-05 20:13:40 -05:00
Peter Mitsis
4a413fc424 Remove K_memcpyreq()
The K_memcpyreq() routine is not applicable to a single node system.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I6cdc056f4575099a8838f0bcf32e87479295452d
2016-02-05 20:13:40 -05:00
Peter Mitsis
26d6f89d3b Remove K_remreply()
The K_remreply() routine is not applicable to a single node system.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I0e99a9db077d5625c981ed219461efa7c955072e
2016-02-05 20:13:40 -05:00
Peter Mitsis
6c4c59c75c Remove references to boot ports
Boot ports are not applicable to single node systems.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I3512a5a0e2a2ba35d4e73a00d8329d301f2bd637
2016-02-05 20:13:40 -05:00
Peter Mitsis
b52882f540 Minimize k_boot.h's header file inclusion
The header file k_boot.h does not need everything that "k_types.h" drags in.
It only needs "stdint.h" for the uint32_t type.  This has an immediate impact
on "flashboot.c" as it was improperly relying upon the extra items that
"k_boot.h" dragged in.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: Ib8bfbec52a1198846295d549091dc30bf041d97a
2016-02-05 20:13:40 -05:00
Peter Mitsis
ae0639c73d Remove multi-node related symbols from k_boot.h
Multi-node systems are not supported.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: Ic08f2e2cd69fb9db346d2282ddefa206f662fcad
2016-02-05 20:13:40 -05:00
Peter Mitsis
dac410fea5 Remove file netload.c
The file netload.c is for multi-node systems only.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I612ccb5552d7781f9a06e1b4db3dce97cf99f91a
2016-02-05 20:13:40 -05:00
Peter Mitsis
ee8213a6e0 Remove references to NODEx.c
"NODEx.c" is no longer used.  The correct file is "kernel_main.c".

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I62523b9181a446097ef3bd278553e097183ed307
2016-02-05 20:13:40 -05:00
Sarah Sharp
030d59ce4b Clarify set_state_bit: rename variables, add comments.
Rename local variables to provide more clarity and improve readability:
 - X -> task_ptr
 - f_old -> old_state_bits
 - f_new -> new_state_bits
 - H -> task_queue
 - Y -> cur_task

Add comments to clarify what this function actually does without needing
to open two additional files (include/microkernel/k_struct.h and
kernel/microkernel/core/global.c).

This function is called when a task needs to be marked as not runnable.
A task can be not runnable for a variety of reasons, which are tracked
in a bitmask defined in kernel/microkernel/include/minik.h.

Tasks that are runnable are stored in a global array, K_PrioList, that
contains a list for each task priority level.  Tasks that have
transitioned to not being runnable will be removed from their priority
list by this function.

Change-Id: I07a1180e75e30cdef472c5f77638fc5971ddbaeb
Signed-off-by: Sarah Sharp <sarah.a.sharp@intel.com>
2016-02-05 20:13:40 -05:00
Peter Mitsis
4c37b6b726 Remove comment referencing NODEx.c
The file NODEx.c is obsolete; it has been replaced with kernel_main.c.
Even if it the comment contents were fixed, it would offer no value.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:13:40 -05:00
Peter Mitsis
77cff87e42 Remove useless comment
There is no point to having a comment reference the old hard-coded
maximum number of events.  The maximum number of events is by
definition 'K_max_eventnr'.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:13:40 -05:00
Peter Mitsis
880c109f20 Remove references to deprecated W/WT naming convention
The W/WT naming convention is not used anymore.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:13:40 -05:00
Peter Mitsis
316ec830b4 Rename KSCALL_BENCH to MICROKERNEL_CALL_BENCH
The name of the macro "KSCALL_BENCH" contains a reference to a deprecated
naming convention.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:13:40 -05:00
Peter Mitsis
2148d3af81 Remove references to unsupported stdlib functionality
"Unsupported stdlib" functionality is not relevant to the current "minimal"
libc implementation.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:13:40 -05:00
Peter Mitsis
4f9c061f63 Remove reference to DINKUM in samples/libc/README
The Dinkumware libc implementation is not supported.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:13:40 -05:00
Allan Stephens
f2c2a7bc7d Eliminate unneeded NO_EXE task group in sample projects
Several sample project tasks that are not to be automatically
started now indicate this by simply specifying an empty task
group list, rather than by defining and using a new task group.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
2016-02-05 20:13:39 -05:00
Peter Mitsis
941cab98b0 Replace use of OFFSET with stddef's offsetof
Instances of the custom OFFSET() macro are replaced with the standard
offsetof() macro from stddef.h to reduce code duplication.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:13:39 -05:00
Peter Mitsis
3f44105695 Remove PHYS_ADDR_xxx macros
The PHYS_ADDR_xxx macros are no longer used.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:13:39 -05:00
Peter Mitsis
6f3aebe910 Renumber x86 fatal error codes
Makes the _NANO_ERR_xxx error code values continuous.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: Iec0a5d0d6c54a94511a20608ba59626148baaca4
2016-02-05 20:13:39 -05:00
Peter Mitsis
c26a2e8147 Fix definition of 'offsetof'
The definition of 'offsetof' must cast NULL to (type *), not (type).

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:13:39 -05:00
Peter Mitsis
b5d65fa442 Remove VIRT_ADDR_xxx macros
The VIRT_ADDR_xxx macros are no longer used.

Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:13:39 -05:00
Andrei Emeltchenko
cee6aaeff7 build: Add QEMU extra flag to be defined in apps
We want to provide to Qemu extra flags such as extra '-serial'
parameter. If we extend vQEMU_FLAGS then serial device goes to wrong
UART since first '-serial ${iQEMU_CONSOLE}' is already defined. The
order of UARTs does matter.

Change-Id: I6cd9cc84898a858e73d13297c27eeeac28010d9e
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:13:39 -05:00