The previous implementation would read one byte past both buffers if
the buffers were equal. Make sure the pointers are not incremented
past the last byte. Also ensure that comparing zero bytes always
returns 0.
Change-Id: I5ef25d6bd2f7417b60102dc1c2602d8b23c4c1bc
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Add a memcmp implementation that may be used in various parts of the
operating system.
Change-Id: I784bdcb26b924b2513ecd0b3ce1898195453f755
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
The variable task_irq_object is global because the test_task_irq project
needed to access it. That data should only be accessed through the API.
To make the variable local, break that dependency to the test project
and restrict the access to the variable.
Change-Id: I1ccb21625d456714a038e0374d124b42aa72e577
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
This commit fixes the calling of the function
_sys_clock_tick_announce from the x86 lo-apic timer.
This call was used wrongly, using the old convention:
__sys_clock_tick_announce
Change-Id: I5417efe1efcb94925bd4bebbb3b91b491349c26e
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Fixing the folling whitespace issues:
- SPACE_BEFORE_TAB : We should not use white spaces before tabs to alignment.
- TRAILING_WHITESPACE : Lines should not end with a white space.
- QUOTED_WHITESPACE_BEFORE_NEWLINE : Removing unnecessary whitespace before a quoted newline.
Change-Id: I024e8d39164c5e5e9d8370f3499d21b49147feee
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
The 'else' statement should be in the same line that the
close brace of the 'if' statement. E.g.:
if (condition) {
do_this();
do_that();
} else {
otherwise();
}
This commit fixed this kind of error using the following script:
#!/bin/bash
for file in $(find ./ -name "*.[ch]" ! -path "./scripts/*" ! -path "./host/src/wrsconfig/*");
do
if [ ! -h $file ];
then
sed -i '/^[ \t]*}$/ {
:review_next_one_too
N
s/^\(.*\)\n[ \t]*else/\1 else/
/}$/ b review_next_one_too
}' $file;
fi;
done
Change-Id: I7e811a572d735fa08e84850055ebbde29eb10e8d
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
There should be a whitespace between the 'if', 'for' and 'while' statements
and the open brace. this commit fix this kind of error.
Change-Id: I4bae17d98f8ec8b698d40253a9a4c873111a8904
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
These symbols are no longer part of the microkernel's public API.
Change-Id: I0dfa32af02cfa71fb31997b9bcdac60208d93888
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
The generated file now takes advantage of the fact that including
vxmicro.h automatically includes the microkernel's public APIs.
Change-Id: I17879b8f209c67ad159405aca16770af8e099fb0
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Sysgen no longer needs to generate two different include files
containing the various definitions available to applications.
Note: This consolidation also eliminates the generation of
an obsoleted symbol of the form NODEx.
Change-Id: Idf28efba95193037d04603498e9e956638027ed9
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Now declares task entry points in the generated kernel_main.c,
which is the only place that needs to know about them.
Change-Id: Ifa2ebf64ced26e71387d6fd8350893205d6961a0
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
There is no longer a reason to expose information about the
internels of the microkernel's event subsystem to application
files.
Note: The one sample project that tests event processing now
explicitly declares any non-public event APIs in requires.
Change-Id: I4c3f85a7b0bc485713c21424a923102b4f400ced
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Line's length should be shorten than 100 characters. This commit
fixes these lines separating them into two parts.
Change-Id: Ic68c9086866cd778187aa1465470acc0485e2271
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Some checkpatch issues were solved by scripts leaving other problems
such as alignment and indentation issues. In order to comply with the
defined coding style the following fixes were made:
- Fixed the function declaration moving the parameters' comments above
the function in accordance to the doxygen format.
- Fixed functions' opening and closing brackets. These brackets should
not be indented.
- Fixed the 'if', 'for' and 'while' statements adding the brackets
around the sentence.
- Fixed comments' alignment.
- Fixed indentation.
The work was done manually and submitted as one commit. I didn't
separate these changes in different commits because they were fixed all
at once. Basically, all errors were fixed in every file at once.
Change-Id: Icc94a10bfd2cff82007ce60df23b2ccd4c30268d
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
This commit fixes the issue marked as SPACING by the checkpatch script
deleting the whitespaces between the function name and the open parenthesis.
Change-Id: I972b1646904bf6e1131263f94ab5024a528ae07d
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Avoid hard-coded absolute paths.
Assume gcc and ar will be found using $PATH.
Change-Id: Ie7bd7d262a56a20741c8b3e5c1d0d600d8a1b60d
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
The ARCv2 will provide support for nanokernel tickless idle.
The other architectures still have the MICROKERNEL dependency by having
the APM menu depend on MICROKERNEL.
Change-Id: Ib8e550bb9515b332311b122751f534f69155cef5
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
TICKLESS_IDLE_THRESH depends on TICKLESS_IDLE, which depends on
ADVANCED_POWER_MANAGEMENT, which itself already depends on MICROKERNEL.
There is thus no point in having TICKLESS_IDLE_THRESH depend on
MICROKERNEL.
Change-Id: I71daeee5fe0766f40ba56d499c48cc5a0dda561c
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Replace duplicate code and will allow for further cleanup by possibly
consolidating micro/nano code that is currently guarded by preprocessor
conditionals.
Change-Id: I9aa9966c581244646b6ea317ef8b51fef9054dd4
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
The gain is two-fold:
- Removes the need of preprocessor conditionals in the timer drivers'
ISRs.
- Allows removing the duplication of the 'tick announce' code across
all timer drivers.
Change-Id: I6078a0b00a833c1d1ca76474987c3214a0c05f7b
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
The correct call is nano_isr_lifo_put, but they are aliases of each
other, so that never caused an issue at runtime.
Change-Id: Ibec8e6d3377133e5e67589c5a3ad1b8fb3cc652c
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Changes due to the different SDK package layout.
All needed settings are derived from the following environment
variables:
export VXMICRO_TOOL=gcc
export VXMICRO_GCC_VARIANT=yocto
export YOCTO_SDK_INSTALL_DIR=<toolchain dir>
sdk_host_tools=${YOCTO_SDK_INSTALL_DIR}/sysroots/i686-pokysdk-linux/usr/bin
export PATH=${sdk_host_tools}:${PATH}
Change-Id: I358b0b55b552d639bb2a2c2a54f2bef5e5099316
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
These APIs no longer serve a useful purpose; there removal helps
reduce microkernel-related "pollution" of nanokernel files.
Change-Id: I3fb1df1feb47abf1b3e57656175ba6c80e191932
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Makes various nanokernel file names more accurately reflect their
actual roles, and improves consistency with other naming conventions.
Change-Id: Ibea5a66a8d66c4e41810d6b3d70b4c459a3848a8
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
There is no need to have code to set fields of _nanokernel to zero,
since the variable is zeroed out during BSS initialization.
Change-Id: I338369511d8b0bcc2fb2b6104acdd281dac9a926
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
1) Revises name of background/idle task stack area to make it
more meaningful.
2) Converts a routine to be non-global since it isn't used elsewhere,
and renames it to remove an unneeded leading underscore.
3) Updates and enhances comments to better reflect the current
operation of nanokernel initialization.
Change-Id: Ibff7703562d1a9585dc2022741a6f0acb90c0a78
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
No longer passes arguments to _nano_init() that aren't needed.
Note: Also eliminates duplicate declarations of _nano_init()
that are obsolete.
Change-Id: I36ddfc9ceb18e3e5d6942a23574e38c1dfd3eb65
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Moves all nanokernel initialization code into a single file, since
they are all conceptually related.
Change-Id: Icd4e8572756fdcef7d0b965224ae00824e748a0a
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Moves all general purpose context manipulation routines into a
single nanokernel file, since they are all conceptually related.
(This also eliminates the anomaly of having APIs that could be
used with a task in a fiber-specific file.)
Change-Id: Idb862175e8795962dd78d31b66151f7b14936df0
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Ensures that the microkernel's command stack has at least one element
at project configuration time, rather than at project build time.
Change-Id: I74f10bcb0d0275854801b50d5160fc85fb911250
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Using 'python' instead of 'gawk' for the 'truesize' has several advantages:
- more people understand python than gawk
- python script is easier to maintain
- lessens the number of tools on which the product depends
Change-Id: If6780b530e28867d89939e09b81b153a960004b2
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Renaming the "scp" and "scs" sections to ".scp" and ".scs" respectively
signals the "truesize" tool to ignore them as they occupy neither normal ROM
nor normal RAM space.
Change-Id: Ic22013965b20d0c14e08d4d0332f2b7d028d10d9
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Similar to PACK_STRUCT it provide safe access to possible unaligned data
but it is much more convenient to use with non-struct types since all
one need to do is add a cast e.g. UNALIGNED_GET((uint16_t *) data).
Change-Id: I46402bdf1dd13081fe340a7214a84750a6cf04d2
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This will allow us to start adding content and structure.
To generate documentation you will need to install both
- sphinx
- breathe
go into the doc directory and run:
$ make doxy html
No content has been submitted here, only a few placeholders.
Change-Id: Ifc3617aee8f7d45fa4e4a494ff0a1ab71516af06
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Use scan functionality by simple app that starts LE scan
and in a while stops it.
It uses basic HCI scan interface prepared for
supporting LE central role feature.
Change-Id: Idcde4c742290d46931ab86522e51b0fc547a2d42
Signed-off-by: Arkadiusz Lichwa <arkadiusz.lichwa@tieto.com>
The codestyle is to use lower case for hexadecimal values.
Change-Id: I0e73cdf6d8ff4b48e6cb814f705193c65a01d14a
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
This changes order of Write Command definitions so it is consistent with
the opcode value.
Change-Id: Ie0eaaaec75d7b17d2da62a6c930ec56d1e666253
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
The code should always warn about unkown PDUs since it could be causing
unexpected behavior or that something is missing.
Change-Id: Idc608ca221c5ff6e440f90fa24c2cd6a3e6437fc
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Even one-line loops & branches should have braces.
Change-Id: Ie82e4dce1b7a2c9181f631b20d6532f1866c1197
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Unknown SMP PDUs may be a bad thing so upgrade the respective log from
debug to a warning.
Change-Id: I05072dcbedb071ff968dd9ddfb075770110b5853
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
There are valid cases where we wont have handlers for unknown L2CAP
PDUS. Therefore, convert these logs from error to warnings.
Change-Id: I309b8074f9ef883ce981a4a2fbc6ab8421fda62a
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
The unhandled opcodes and events are not really errors since we don't
need general handlers for everything. For events its good to have a
warning but for completed commands the cmd_send_sync() API means we
don't need generic handlers for everything.
Change-Id: Ie580189f3e6d69ef10d10e6c6080d5e983c08e8e
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Add missing newline character to debug log.
Change-Id: Ic78ae2587d8f48b1af9754f1484350e94039f6f7
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
We want to be able to do fine-grained enabling of debug logs for the
various Bluetooth sub-modules. They all default to 'n' so an app
writer would need to go and enable the specific ones that they're
interested in.
Change-Id: I17105adf133d441dfc811bdd66a00be015813679
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Move UART debug config option after UART driver configuration and make
it depends on it.
Change-Id: I23dc8a4a43aa6dee0bb5266cd1f84a00e811db1d
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>