Zephyr uses python 2.7 by default. Phython3 is breaking windows build.
Change-Id: Id0fdbdce89d63f51a0625f5d1f2f45584ecd4023
Signed-off-by: Sonia Leon Bautista <sonia.leon.bautista@intel.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>
Allows unified kernel to support legacy microkernel applications
that use private tasks.
Also renames the unified kernel macro for defining a thread
to be consistent with the naming used for defining other kernel
objects.
Change-Id: I667d87056138c45c291dd848344e4051bf9fd1ff
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
This misfeature can crop up at development time as the linker scripts
are modified, not just as a regression in known tests (c.f. ZEP-955).
So it makes more sense to put it in a check_link_map script inovked
for every build. Remove it from sanitycheck.
Change-Id: I9c2f47a26a3bc03170b895545476350341e91170
Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
Oops, turns out that we don't require perl in all our build
environments. Rewrite this script (it's tiny) in Python. Exactly the
same logic.
Change-Id: Icbf4b36ef0b18fca94d54fc7fe5e47343c55c669
Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
Building samples or running sanitycheck script fails with
the following error using python 3:
Using /home/xekarfwtos/projects/zephyr as source for kernel
GEN ./Makefile
CHK include/generated/version.h
HOSTCC scripts/basic/fixdep
HOSTCC scripts/gen_idt/version.o
HOSTCC scripts/gen_idt/gen_idt.o
HOSTLD scripts/gen_idt/gen_idt
HOSTCC scripts/gen_offset_header/gen_offset_header.o
HOSTLD scripts/gen_offset_header/gen_offset_header
CHK misc/generated/configs.c
CHK include/generated/offsets.h
CHK misc/generated/sysgen/prj.mdef
UPD misc/generated/sysgen/prj.mdef
File "/home/xekarfwtos/projects/zephyr/scripts/sysgen", line 687
kernel_main_c_out("K_MSGQ_DEFINE(_k_fifo_obj_%s, %s, %s);\n" %
^
TabError: inconsistent use of tabs and spaces in indentation
This patch fixes the indentation inconsistency allowing building
using python 3.
Change-Id: I51bda9452e7ff97fe9f07544927d76ce981700d1
Signed-off-by: Yannis Damigos <giannis.damigos@gmail.com>
There are demons hiding in binutils with regard to the size of the
data section that needs to be copied in XIP platforms. It's easy to
mess up and get a mismatch between the linker data output and the
runtime addresses. Add a cheap check to discover this early when it
occurs.
Jira: ZEP-955
Change-Id: If1c61fe8712221c6450b5b89f5f8af006b41b3fe
Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
If the -C flag is given to sanitycheck, generate gcov files for unit
tests and render them with lcov.
Signed-off-by: Jaakko Hannikainen <jaakko.hannikainen@intel.com>
Change-Id: Ic25eae6a3cfc2c45595bd6aa235df2c483aaf6ec
This commit allows building tests using the ztest framework without
including Zephyr. This can be used to enable unit testing single
functions, even static ones.
Origin: Original
Change-Id: Ib7e84f4bd9bbbf158b9a19edaf6540f28e47259f
Signed-off-by: Jaakko Hannikainen <jaakko.hannikainen@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Point to a new wiki page for the documentation. The old page can be removed
once this patch is committed.
Change-Id: I2b031bfffe10ec24c41c58d0754f2b14d95f5e53
Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
Due to the memory pool structure only static declaration of
memory pool is possible.
Change-Id: I4797ed88fd2ac3b7812ff26e552e1745611c4575
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
This header has a bunch of data structure definitions and macros useful
for manipulating segment descriptors on X86. The old IDT_ENTRY defintion
is removed in favor of the new 'struct segment_descriptor' which can be
used for all segment descriptor types and not just IRQ gates.
We also add some inline helper functions for examining segment registers,
descriptor tables, and doing far jumps/calls.
Change-Id: I640879073afa9765d2a214c3fb3c3305fef94b5e
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Not every environment has $ZEPHYR_BASE/scripts/ in the PATH, which can
cause conflicts (eg: the test environment doesn't define it to
simplify the build instructions).
Using vercomp as $ZEPHYR_BASE/scripts/vercomp, we remove this
requirement.
Change-Id: I8c390f905907f42d1ba2b4d1378e188705164e13
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Error out when old SDK versions are being used.
Jira: ZEP-584
Change-Id: If3515f38cc75d8a378614ef77d8946ba2d9ab28d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
In 1.0 you could set only one callback on the whole gpio controller. It
was impossible for another sub-system to add another callback, without
overwritting an existing one.
Such API has been obsolete for a long time and no one is using it
anymore. Thus removing it entirely.
Change-Id: I6a17fd99373dc6cef1fa2ebb421e992412d5015e
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Summary of what this includes:
initialization:
Copy from nano_init.c, with the following changes:
- the main thread is the continuation of the init thread, but an idle
thread is created as well
- _main() initializes threads in groups and starts the EXE group
- the ready queues are initialized
- the main thread is marked as non-essential once the system init is
done
- a weak main() symbol is provided if the application does not provide a
main() function
scheduler:
Not an exhaustive list, but basically provide primitives for:
- adding/removing a thread to/from a wait queue
- adding/removing a thread to/from the ready queue
- marking thread as ready
- locking/unlocking the scheduler
- instead of locking interrupts
- getting/setting thread priority
- checking what state (coop/preempt) a thread is currenlty running in
- rescheduling threads
- finding what thread is the next to run
- yielding/sleeping/aborting sleep
- finding the current thread
threads:
- Add operationns on threads, such as creating and starting them.
standardized handling of kernel object return codes:
- Kernel objects now cause _Swap() to return the following values:
0 => operation successful
-EAGAIN => operation timed out
-Exxxxx => operation failed for another reason
- The thread's swap_data field can be used to return any additional
information required to complete the operation, such as the actual
result of a successful operation.
timeouts:
- same as nano timeouts, renamed to simply 'timeouts'
- the kernel is still tick-based, but objects take timeout values in
ms for forward compatibility with a tickless kernel.
semaphores:
- Port of the nanokernel semaphores, which have the same basic behaviour
as the microkernel ones. Semaphore groups are not yet implemented.
- These semaphores are enhanced in that they accept an initial count and a
count limit. This allows configuring them as binary semaphores, and also
provisioning them without having to "give" the semaphore multiple times
before using them.
mutexes:
- Straight port of the microkernel mutexes. An init function is added to
allow defining them at runtime.
pipes:
- straight port
timers:
- amalgamation of nano and micro timers, with all functionalities
intact.
events:
- re-implementation, using semaphores and workqueues.
mailboxes:
- straight port
message queues:
- straight port of microkernel FIFOs
memory maps:
- straight port
workqueues:
- Basically, have all APIs follow the k_ naming rule, and use the _timeout
subsystem from the unified kernel directory, and not the _nano_timeout
one.
stacks:
- Port of the nanokernel stacks. They can now have multiple threads
pending on them and threads can wait with a timeout.
LIFOs:
- Straight port of the nanokernel LIFOs.
FIFOs:
- Straight port of the nanokernel FIFOs.
Work by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
Peter Mitsis <peter.mitsis@windriver.com>
Allan Stephens <allan.stephens@windriver.com>
Benjamin Walsh <benjamin.walsh@windriver.com>
Change-Id: Id3cadb3694484ab2ca467889cfb029be3cd3a7d6
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Needs to sort out differences between microkernel and unified MDEF
syntax.
Change-Id: I8f7cb192bdd90c0f9c40593cfbd0aa86b12c7c74
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Cleaner than positional parameters, easier to add new arguments.
Change-Id: I30e85f7b2643775c1006564d18da115599688e88
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
On systems with fixed IRQ-to-vector mapping (like Quark D2000),
if multiple drivers tried to use the same IRQ line, gen_idt would
report an IDT vector collision rather than multiple IRQ line collision,
which is much less intuitive.
Move the IRQ line validation to before the vector validation to report
an easier to understand error.
Change-Id: I3930d8df38391e4708db5486e4bd4527d33c4cce
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
QEMU_BIN_PATH is frequently set to pick up qemu binaries from "obvious"
places such as /usr/bin or /usr/local/bin. Neither of these values will
be correct for all users and both directories would typically be found
in the user's PATH. Much better to make QEMU_BIN_PATH optional and picking
up qemu via PATH instead.
Tested with ZEPHYR_GCC_VARIANT={zephyr|xtools}.
Change-Id: I1acfc5b12341c6d330a3e9e90b0ab5bde29e2e4f
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Cc: Andrew Boie <andrew.p.boie@intel.com>
This value is unused; it will be overridden by the main Makefile before it
is used. This is for the best since the value is also broken. Remove it.
Change-Id: Ibc5aae3f9967eb2b26a482425c3bbbaf44c0e2bb
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
crosstool-ng toolchains are relocatable so, while the assumption it will
live in $(XTOOLS_TOOLCHAIN_PATH)/$(CROSS_COMPILE_TARGET) is a reasonable
default, it is useful to have to an quick and easy way to override that.
Reusing CROSS_COMPILE works well for this; it allows
ZEPHYR_GCC_VARIANT=xtools to set up the compiler and linker flags
without being too opinionated about anything else.
Change-Id: I6edd97a3753f2a917a34f723273416f76caa647a
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
Currently several of the variables in the CROSS_COMPILE_... family
are repeated for each architecture despite the content of the variable
being the same in all cases. Fix this.
Change-Id: Ib40eca67926e22050a366e7b349331deaa7dd954
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
The old __CYGWIN32__ does not work with the 64-bit version
of Cygiwn. Using __CYGWIN__ instead allows us to build
gen_idt.c under 64-bit Cygwin.
Change-Id: I6590767153e929764f0b448f74bb8e3f2e593a6a
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
On OS X (macOS), "make menuconfig" fails with missing
linker symbols. By specifying the "-l" linker options
with the menu, panel and ncurses libraries directly if
the autodetection fails, it builds and links properly.
Note that this might denote a problem with
"check-lxdialog.sh".
Change-Id: Ib2721646cc01c3e977911d8e6d0c8303dcedbc58
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
In some cases, particularly when developing experimental features, it is
useful to be able to pass parameters to 'make' globally for all
sanity checks.
Change-Id: I19eddf222a74064cf6f22ec641fa6b4ff72992e7
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
The Zephyr documentation states that the ARM GCC embedded toolchain is
supported for ARM platforms so lets add a reference to allow sanitycheck
to build with this configuration. This patch fixes 4b554baa87
("sanitycheck: support for multiple toolchain").
Change-Id: I5578a3c78432219e2ba4d7393899d54c818c5c17
Signed-off-by: Tyler Baker <tyler.baker@linaro.org>
If defconfig files exist under boards/ that don't correspond to
the set of platforms defined in the .ini files under
scripts/sanity_chk/arches, complain about this. We should be at
least compiling all our supported platforms in CI runs.
At the moment it flags 5 boards. Future patches should either add
these boards to the appropriate arch .ini files or remove them
from the kernel.
Change-Id: Id825d6c6bd32089d9f1bead11bc0765685e3771a
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Since the root Makefile already provides a HOST_OS
environment variable that is exported by using uname,
make use of it in the Kconfig Makefile.
Change-Id: I13655a5295bbcd9f2fdfa8b6309634c1ab143f70
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Added support for multiple toolchain usage.
Every arch contains a list of supported toolchain.
Each board can override the supported toolchain list.
If the board is not supported in the current toolchain,
will be discarded.
The current toolchain is defined by ZEPHYR_GCC_VARIANT.
Added support for toolchain ISSM and ZEPHYR.
Change-Id: I31e9b39ba01f6e9bdc4557702428cd09e05f492a
Jira: ZEP-592
Signed-off-by: Javier B Perez <javier.b.perez.hernandez@intel.com>
Added support in the sanitycheck to use env variable
value in the filter.
Change-Id: I76388dc04557dcd31e651d23ae8edf96a8fe2474
Jira: ZEP-592
Signed-off-by: Javier B Perez <javier.b.perez.hernandez@intel.com>
Using git clone with git: protocol requires proxy settings
that can be a problem that doesn't happen with http: protocol
Change-Id: I4c02289f5c15494c31d4cca0849bf3093b602125
Signed-off-by: David B. Kinder <david.b.kinder@intel.com>
The per-platform blocks were just specifying defaults and didn't
need to exist.
Change-Id: I9f4c7db4cd16417d5a2c172c3f850f7758dcbd00
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Sanity check script was not handling non utf-8 characters as a result
it crashed and didn't kill qemu and test used to hang.
Now tests fail upon untranslatable bytes.
JIRA: ZEP-673
Change-Id: I885a185e0481083501fce15cd51412bfdd26a7d7
Signed-off-by: Genaro Saucedo Tejada <genaro.saucedo.tejada@intel.com>
This reverts commit d73a9bb9c6.
The patch was intended for 1.6.0 release.
Change-Id: Id42058b746a3d2a54e4b1a2983eb58bd10b1ed40
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Current code tests treats "" (quotes included) as an empty value for that
varible (as coming from Kconfig). However, that file also used to
integrate with build systems for 3rd-party components, e.g. as examplified
by samples/static_lib, and in that case it will be just an empty string.
So, first strip surrounding quotes, then test for empty string.
samples/static_lib: Update for recent Makefile.toolchain.zephyr changes.
Makefile.toolchain.zephyr is 2-pass now, so needs to be included twice.
ARCH needs to be defined *before* including it. Otherwise, just used
CROSS_COMPILE and TOOLCHAIN_CFLAGS set by it.
Change-Id: I56e963d0d107c77390395682d60400cf6ca62337
Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
Flashing issues have been resolved. The build system support for
flashing and debugging has been changed back to UFM scenario.
XIP and reset vector no longer disabled. Wiki documentation updated.
Change-Id: Iffe326485c20808dabc1e19e0b18b7b60a83d797
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
sanitycheck is set up to error out on any compiler warnings.
However in the case of deprecated APIs, we may feel compelled
to still test them while they remain in-tree. Don't fail the
build if deprecated APIs are used during sanity runs.
Change-Id: Ic3196896689706d308117e693ab720713d67d698
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Simplify setting of CROSS_COMPILE to just a single line.
Change-Id: I6bb00b404b23011e93897c7cb4a882f2f043c973
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Several Zephyr SDK toolchains support multilibs.
Instead of hard-coding locations of the libraries, the proper/cleanest way
is to query the GCC compiler for the locations of libgcc and libc.
However, in order to do this, we need to ensure a certain order of
initialization in the Makefile:
1. Determine CROSS_COMPILE.
We cannot determine LIB_INCLUDE_DIR, TOOLCHAIN_CFLAGS yet, as we don't
know the KBUILD_CFLAGS yet.
2. Calculate KBUILD_CFLAGS using CROSS_COMPILE
KBUILD_CFLAGS often need the compiler to validate options, i.e:
KBUILD_CFLAGS += $(call cc-option,-mabi=aapcs -mthumb -mcpu=cortex-m0)
However, LIB_INCLUDE_DIR, TOOLCHAIN_CFLAGS should not be needed for this
3. Finally, using CROSS_COMPILE and KBUILD_CFLAGS determine LIB_INCLUDE_DIR,
TOOLCHAIN_CFLAGS by querying GCC using -print-libgcc-file-name and
-print-multi-directory command line options.
This change should only affect Zephyr SDK toolchains, all other toolchains
are expected to function as before.
Change-Id: I27b460d46fe65d05fcb8bafb51cd6b3deba275ed
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Previously, gen_idt's code had to be modified to get this information.
We now print it by default when building with V=1
Change-Id: I31bd6c5b851d6280ebcedaab97bd02b8331a2f24
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
checkConfig script scans all '*.c', '*.h' and '*.S' looking for all
kconfig items used into the Zephyr Code and validates if they are
defined into any '*.kconfig' file.
to execute script use:
*to run with default values:
$ checkconfig.py
*to run and get complete log of all symbols used:
$ checkconfig.py -c
*to run from a diferent subdirectory, not zephyr base, like
drivers/grove
$ checkconfig.py -s drivers/grove
*to run and exclude some directories for verification:
$checkconfig.py -e drivers
*to get more help about how to run script:
$checkconfig.py --help
Change-Id: Ia8ddda8b560305eb73224c55645729a40fcb5863
Signed-off-by: Sonia Leon Bautista <sonia.leon.bautista@intel.com>
With this fix now we can use the ISSM standlone toolchain [1] through
ZEPHYR_GCC_VARIANT=issm and ISSM_INSTALLATION_PATH=/path/to/toolchain
variables only, without the need of setting IA_VERSION and ARC_VERSION
always. These are always the same for a given toolchain release.
This is also a way for us to document the currently supported (and
tested) toolchain version.
Tested on Linux only.
[1]
https://software.intel.com/en-us/articles/issm-toolchain-only-download
Change-Id: I6fba8ea9564b2080bd73b627bc7150863401f18d
Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
Utilize the gcc -print-libgcc-file-name to determine the path to
libgcc.a. Using this also resolve issues if we are building with
floating point and the various ABIs to pickup the right lib.
We can also simply a few Makefiles and remove the need to export
_CROSS_COMPILE_arm_isa.
Change-Id: I293394c921c18fa4984173ba51825d6f9a333697
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Some tests individually enable assertions; this forces them on
for all tests. Intended for use with daily builds. Disregard
footprint or benchmark data with this enabled.
Change-Id: I7a0822432d5cab7f3ab0767faf214fde536cd68e
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
For both of these, we send the .elf binary over the JTAG and it gets
written directly into SRAM. The CPU boots the image from the entry
point (__start).
This does not provision the kernel onto device's User Flash Memory
(UFM). Implementation of this is still in progress see ZEP-273.
Change-Id: Iae8188a21e4a3eecfda0f4f0bb220c0607d719cb
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Does renaming of variables and comments to conform to the
"block set" and "quad-block" terminology now used by the kernel's
memory pool code. (Note: This renaming also includes names of
some variables generated by sysgen.)
Change-Id: I8e04cb1ee9ca83daddb487b477da7dd2e1004fd8
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Revises the names of 2 types to make them better reflect the
data structures they represent, namely:
- block set: a collection of memory pool blocks of a given size
- quad-block: four contiguous memory pool blocks of a given size
Change-Id: I3e424586e97157eea185fba6836e2e89d10d9cd6
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Eliminates the memory pool field indicating the size of the
pool's memory buffer, since it isn't used anywhere.
(Anyway, it could be computed by multiplying the maximum
block size by the number of maximum-sized blocks.)
Change-Id: Ia11554bdc2b246a1ba0ea33f05c5e6ce6a32ca13
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Eliminates memory pool field associated with a capability that was
never implemented. (This field was initialized, but never subsequently
referenced.)
Change-Id: I58cf8c4bb846a66b4c8754654ffc3ff55abcff7f
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
It's not clear why this was forced in the first place.
Change-Id: I95c5e21ac0861a7b224ac9715bc5691c97922fe4
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
We no longer assume pointer sizes are the same between host and
target, and use stdint defintions to size things.
Change-Id: Ie4dc41c60d62931fdb3d1764ade01c16a64d0b54
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Pushing this to see what fails as its a similar fix to the one Flavio
pushed. Yet in local building with sanitytest not seeing any issues
Change-Id: If42c13b0c1827fe89fb332ac6c40a14a76553330
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
This is is a proposal to have a system to filter the output of the
build (compilation, documentation, sanity check and runtime tests)
that eliminates known issues so that whoever sees the output of the
tree can note new issues being added without having to dive on
existing, known ones.
Most common user of this will be the continuous integration system, to
decide what is shown to gerrit as feedback to the user who submitted a
change.
The rationale behind having it in the tree is that if somebody submits
code that introduces a false positive (due to tool limitations) or as
an accepted (normally minor) issue to be fixed later, it can also
submit a "filter" for it without breaking CI.
For example, consider the documentation workaround in include/uart.h
(that will be reverted when this is done):
diff --git a/include/uart.h b/include/uart.h
index a30b211..178bd5e 100644
--- a/include/uart.h
+++ b/include/uart.h
@@ -97,7 +97,7 @@ typedef void (*uart_irq_config_func_t)(struct device *port);
* @param sys_clk_freq System clock frequency in Hz
*/
struct uart_device_config {
- union __unnamed_workaround__ {
+ union {
uint32_t port;
uint8_t *base;
uint32_t regs;
This introduces a harmless warning in the documentation compilation
process due to a limitation in the tools that will be fixed in future
releases. In the meantime, as they accumulate, it makes more difficult
for people to know if *they* introduced any other warnings (or
errors). The configuration in .known-issues/doc/uart.conf matches that
warning and filters it out (and only that), with enough regex glue to work
around subtle context changes (like line numbers).
The implementation is a Python script that can take the build output
and remove what is being told to ignore by a list of configuration
files, each of which contains a list of single/multiline Python
regular expressions.
Addition of said exceptions is caught by CI: it will trigger a
maintainer being included as a reviewer because the as directed by the
entry for the .known-issues in the MAINTAINERS file.
Change-Id: I7939e0726f2c505481592c3a7f5f40fa3e9c62fd
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Fixed resources leak in pTable when the lseek command
fails.
Change-Id: I414276399b0d0ca3dee0c18d307ccc2035d66198
Signed-off-by: Javier B Perez <javier.b.perez.hernandez@intel.com>
checkpatch warns about kconfig lines that contains spaces
instead of tabs.
Change-Id: I60aa74072ce424f21db64a7df0804d7d4cbe315b
Jira: ZEP-427
Signed-off-by: Javier B Perez <javier.b.perez.hernandez@intel.com>
We will require 6 variables to be defined by SOC-specific
linker script; these values in turn can be pulled from
defines in layout.h.
To help position code correctly we define two new ELF sections
for this arch, 'reset' and 'exceptions'.
Change-Id: Idffbd53895945b7d0ec0aac281e5bf7c85b4b2c2
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
For the moment, NIOS2_CPU_SOF must be set with the path to the
CPU configuration. We are checking with Altera on whether we
can directly check in the binary to the source tree.
These scripts depend on tools provided by the Altera Quartus
Prime Lite Edition. This is available for free but requires
registration on Altera's website to obtain.
Change-Id: Ia6cb6c9e43c3e141807a887cb25c47b370a7d8e9
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
We need to expose the path to the newlib headers that are part of the
ARM embedded gcc at ${GCCARMEMB_TOOLCHAIN_PATH}/arm-none-eabi/include
otherwise we get build errors like when trying to use newlib:
lib/libc/newlib/libc-hooks.c:17:19: fatal error: errno.h: No such file or directory
Change-Id: Iedce526d23e54e54b9cefdfa6ca176fe12ed8090
Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Similar to '==' but compiles the RHS into a regular expression
and attempts to match whatever is in the environment against it.
Change-Id: I7a03452ef88d067b62661d14dc6f42273de436fa
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
for GCC ARM Embedded
When compiling and linking Zephyr with GCC ARM Embedded,
the path to the libraries to be linked needs to be provided
explicitely for the correct variant to be linked in.
JIRA: ZEP-377
Change-Id: I745aa45c7dde12f1cc5c8ea4380b904e086ed94d
Signed-off-by: Carles Cufi <carles.cufi@nordicsemi.no>
Still WIP. Give statistics on memory/flash usage.
Run:
make BOARD=<board> ram_report
or
make BOARD=<board> rom_report
Change-Id: I6b0aee09b89275e12f1cde863d2c0f5b8dfd0409
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Microkernel on ARC works fine, was missing some declarations in the
linker file.
Also enable testing of microkernel with ARC and disable tests where
ARC is not supported yet.
Jira: ZEP-396
Change-Id: I2ac7b8dc0bea22f5d2e24832d9e3afad8df9f580
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
when importing code from external sources, we do not want to fail
on checkpatch and want to run full sanity checks.
Using --exclude <dir> we should be able to exclude a list of well
defined locations in the tree that carry sources from other projects
with other styles.
Change-Id: I7d321e85eed6bc37d5c6879ae88e21d20028a433
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
For xtools, add sysroot also to include search path.
Change-Id: I72d37c54eb7f3693d3a207a35802b29b150c84f1
Signed-off-by: Sakari Poussa <sakari.poussa@intel.com>
There seems to be no way to configure it, so I've just removed the code.
Change-Id: I35341e8afc0bdfa8b953b833cfb0eecf05b81c16
Signed-off-by: Vlad Dogaru <vlad.dogaru@intel.com>
The old 'config_whitelist' directive in testcase.ini has been removed.
We use the new expr_parser module to parse a 'filter' directive which
is a boolean expression. This gives a great deal more flexibility
in how tests can be filtered.
To keep the tree bisectable, use of config_whitelist in testcase.ini
converted to the new expression language.
Change-Id: I0617319818c5559c0f0569d2fa73d09b681cac51
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Sanitycheck will use this to allow for much more expressive
conditions when filtering test cases based on defconfig values.
Origin: Original code
Change-Id: Icb650a2aa383699e4f2e18f66e853279c02b50e5
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
The handler of the microkernel events are not declared properly.
This causes the public event objects to complain about
undefined functions. Fix this by declaring the function
before using it.
JIRA: ZEP-85
Change-Id: I68afe777bad66e010c92e637806a48911b2f52f4
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Directory layout per SDK 0.8 structure. Using toplevel libs for
now.
Change-Id: I7852a9def09fb0a5f0a6e496249d2ebb86720d8f
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Instead of defining the output format in the toolchain environment
setup, define this per SoC that supports the ABI.
This will allow us to directly referencing an installed toolchain
without the need for declaring ZEPHYR_GCC_VARIANT
Change-Id: Icd1a7a21acbf075a51854fb2ebb3ef06788ce9b5
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
It allows to silently ignore non-existent files.
When using wildcards in Kconfig source files
(e.g. source folder/*/Kconfig), it is possible to refer files
that does not exist. In the previous example, it is possible
that Kconfig files do not exist in one of the folder's
subfolders and it is not a requirement for the file to exist
in each one of the subfolders.
Additionally, it fixes an issue for wildcards in the file name.
If the name contains a wildcard, Kconfig should iterate
over each file included in the wildcard
(e.g source folder/myKconfig.*)
Jira: ZEP-177
Change-Id: I5aa192ca1e2df83461b12a86fe29a98cd95c4256
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@intel.com>
Many sub-systems might require to set a callback on different pins.
Thus enabling it via changing the API.
It is also possible to retrieve private-data in the callback handler
using CONTAINER_OF() macro (include/misc/util.h).
Former API is still available, and is emulated through the new one.
Using both should not be a problem as it's using new API calls.
However, it's now better to start using the new API.
Change-Id: Id16594202905976cc524775d1cd3592b54a84514
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
generates lots of false postives, so make it warn only.
Change-Id: I0b2fedc564c29bff32f7c48702a9ad54a969650b
Signed-off-by: Anas Nashif <anas.nashif@intel.com>