Commit graph

18576 commits

Author SHA1 Message Date
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
Andrei Emeltchenko
240a10b2df Add byteorder.h header for handling byte conversions
Add endian conversion functions needed for network protocols.
Currently Bluetooth needs sys_le16_to_cpu and sys_cpu_to_le16
to implement endian safe stack. Note that the OS is not guaranteed
to be endian safe generally.

Change-Id: If7faf9568e0f2b1817139a76d9b00888d5b7d76c
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:13:39 -05:00
Yonattan Louise
5b5f4eb948 Fix checkpatch issue - WARNING:LINE_SPACING
Adding a line after variable declaration in order to comply with
the defined coding style.

Change-Id: Id41af88404bd37227bfd59a2d71ce08d0d6ce005
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
2016-02-05 20:13:39 -05:00
Yonattan Louise
b5e560fa81 Fix checkpatch issue - WARNING:FUNCTION_ARGUMENTS
This commit modifies the function declaration to have the arguments
in the same line to the identifier of the function.

Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@linux.intel.com>
Change-Id: Ic7a2f19e353e4f3fa42dded09fa1c8f23bde2b2b
2016-02-05 20:13:39 -05:00
Yonattan Louise
29bd1c70ab Fix checkpatch issue - ERROR:POINTER_LOCATION
This commit changes the pointer's location in order to comply with
the defined coding style.

Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@linux.intel.com>
Change-Id: Ibcf1ef0e4fc53b0cb5286b36119e76d017f24cd9
2016-02-05 20:13:39 -05:00
Yonattan Louise
31dddb9e1b Add parameter to the reference of an extern function
This commit adds the parameter to the reference of the extern function in order to
avoid the checkpatch issue ERROR:FUNCTION_WITHOUT_ARGS.

Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@linux.intel.com>
Change-Id: I42c53314232622a8e2e615420584601ce9b85404
2016-02-05 20:13:39 -05:00
Yonattan Louise
6201e1e5a9 Fix checkpatch issue - ERROR:TRAILING_STATEMENTS
This commit fixes the coding style of the 'if', 'do', 'while' and 'for'
statements in order to comply with the defined coding style.

Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@linux.intel.com>
Change-Id: I70d002462db48f36b9589cdb229ba928f3f424b4
2016-02-05 20:13:39 -05:00
Yonattan Louise
46aad9be1d Fix checkpatch issue - WARNING:RETURN_VOID
This commit fix the return statement in a void function due to this is not useful.

Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@linux.intel.com>
Change-Id: Icae7892853ed1c6c56c18e0c0c8f8fd1610491ee
2016-02-05 20:13:39 -05:00
Yonattan Louise
d85179a0cb Fix spaces after #ifdef
This commit deletes the exceeded spaces after #ifdef declaration on the line that
the checkpatch script mark as having the SPACING error in order to complay with
the defined coding style.

The script used to perform this fixes was:

checkpatch_script="$VXMICRO_BASE/scripts/checkpatch.pl --mailback --no-tree -f --emacs --summary-file --show-types --ignore BRACES,PRINTK_WITHOUT_KERN_LEVEL,SPLIT_STRING --max-line-length=100 "

cd $VXMICRO_BASE;
for file in $(find ./ -name "*.[ch]" ! -path "./scripts/*" ! -path "./host/src/wrsconfig/*");
do
	for line in $(eval $checkpatch_script $file | grep "ERROR:SPACING: exactly one space required after that #ifdef" | cut -d":" -f2)
	do
		sed -i -r -e ''$line' { s/^#ifdef[ \t]*/#ifdef /g }' $file;
	done;
done;

Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Change-Id: Ic9bb67243f91fa3b5aca6288b306f9b4e8c816fe
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:13:33 -05:00
Yonattan Louise
f7df273f8c Fix spaces around parentheses
This commit deletes spaces after open parentheses '(' and spaces before
close paratheses ')'.

This modification were done with the following script:

checkpatch_script="$VXMICRO_BASE/scripts/checkpatch.pl --mailback --no-tree -f --emacs --summary-file --show-types --ignore BRACES,PRINTK_WITHOUT_KERN_LEVEL,SPLIT_STRING --max-line-length=100 "

cd $VXMICRO_BASE;
for file in $(find ./ -name "*.[ch]" ! -path "./scripts/*" ! -path "./host/src/wrsconfig/*");
do
	# fixing spaces after open parethesis
	for line in $(eval $checkpatch_script $file | grep "ERROR:SPACING: space prohibited after that open parenthesis '('" | cut -d":" -f2)
	do
		sed -i -r -e ''$line' { s/\([ \t]*/\(/g }' $file;
	done;

	# fixing spaces before close parethesis
	for line in $(eval $checkpatch_script $file | grep "ERROR:SPACING: space prohibited before that close parenthesis ')'" | cut -d":" -f2)
	do
		sed -i -r -e ''$line' { s/[ \t]*\)/\)/g }' $file;
	done;
done;

Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Change-Id: I4482fc50ec45542afa2e60c5f2fef4e75fb24dd3
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:13:22 -05:00
Yonattan Louise
16a2c5800d Fix function declarations on samples
This commit fixes the coding style of the function declarations and aligning
the open and close brackets and change the style of parameter's documentation.

Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Change-Id: I648d36eb29dafc7fcd87b8db01e682bea993e5d2
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:13:11 -05:00
Yonattan Louise
ef7e799909 Fix checkpatch issue - ERROR:ASSIGN_IN_IF
Assignment in if condition should be avoided. The source code is
restructured to have the assignment outside the if condition.

Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Change-Id: I9e3e1d069657d3ce9f54e1f4b4b74163c724a733
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:12:51 -05:00
Dan Kalowsky
adf4739424 Replacing _TimerStop with _timer_stop
Updating nano kernel functions to follow a consistent naming convention.
Part of that process is the removal of camelCase naming conventions for the
preferred_underscore_method.

Change accomplished with the following script:

#!/bin/bash
echo "Searching for ${1} to replace with ${2}"
find . -type f \( -iname \*.c -o -iname \*.h -o -iname \*.s -o -iname \*.kconf \) \
       -not \( -path host/src/genIdt -prune \) \   \
       -not \( -path host/src/gen_tables -prune \) \
       -print | xargs sed -i "s/"${1}"/"${2}"/g"

Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
2016-02-05 19:45:35 -05:00
Dan Kalowsky
d5e175231d Replacing _TimerStart with _timer_start
Updating nano kernel functions to follow a consistent naming convention.
Part of that process is the removal of camelCase naming conventions for the
preferred_underscore_method.

Change accomplished with the following script:

#!/bin/bash
echo "Searching for ${1} to replace with ${2}"
find . -type f \( -iname \*.c -o -iname \*.h -o -iname \*.s -o -iname \*.kconf \) \
       -not \( -path host/src/genIdt -prune \) \   \
       -not \( -path host/src/gen_tables -prune \) \
       -print | xargs sed -i "s/"${1}"/"${2}"/g"

Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
2016-02-05 19:45:35 -05:00
Dan Kalowsky
55af242704 Renaming nanoTimeInit to nano_time_init
Updating nano kernel functions to follow a consistent naming convention.
Part of that process is the removal of camelCase naming conventions for the
preferred_underscore_method.

Change accomplished with the following script:

#!/bin/bash
echo "Searching for ${1} to replace with ${2}"
find . -type f \( -iname \*.c -o -iname \*.h -o -iname \*.s -o -iname \*.kconf \) \
       -not \( -path host/src/genIdt -prune \) \   \
       -not \( -path host/src/gen_tables -prune \) \
       -print | xargs sed -i "s/"${1}"/"${2}"/g"

Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
2016-02-05 19:45:35 -05:00
Dan Kalowsky
2d5fa0198f Renaming _StackPop _stack_pop
Updating nano kernel functions to follow a consistent naming convention.
Part of that process is the removal of camelCase naming conventions for the
preferred_underscore_method.

Change accomplished with the following script:

#!/bin/bash
echo "Searching for ${1} to replace with ${2}"
find . -type f \( -iname \*.c -o -iname \*.h -o -iname \*.s -o -iname \*.kconf \) \
       -not \( -path host/src/genIdt -prune \) \   \
       -not \( -path host/src/gen_tables -prune \) \
       -print | xargs sed -i "s/"${1}"/"${2}"/g"

Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
2016-02-05 19:45:35 -05:00
Dan Kalowsky
ac412eb456 Renaming _StackPush _stack_push
Updating nano kernel functions to follow a consistent naming convention.
Part of that process is the removal of camelCase naming conventions for the
preferred_underscore_method.

Change accomplished with the following script:

#!/bin/bash
echo "Searching for ${1} to replace with ${2}"
find . -type f \( -iname \*.c -o -iname \*.h -o -iname \*.s -o -iname \*.kconf \) \
       -not \( -path host/src/genIdt -prune \) \   \
       -not \( -path host/src/gen_tables -prune \) \
       -print | xargs sed -i "s/"${1}"/"${2}"/g"

Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
2016-02-05 19:45:35 -05:00
Dan Kalowsky
36d2d09a6e Renaming _SemTake to _sem_take
Updating nano kernel functions to follow a consistent naming convention.
Part of that process is the removal of camelCase naming conventions for the
preferred_underscore_method.

Change accomplished with the following script:

#!/bin/bash
echo "Searching for ${1} to replace with ${2}"
find . -type f \( -iname \*.c -o -iname \*.h -o -iname \*.s -o -iname \*.kconf \) \
       -not \( -path host/src/genIdt -prune \) \   \
       -not \( -path host/src/gen_tables -prune \) \
       -print | xargs sed -i "s/"${1}"/"${2}"/g"

Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
2016-02-05 19:45:35 -05:00