This commit enables the outdir directory.
Kbuild output files will be generated at the outdir directory
inside the project directory.
Change-Id: Icec04aca1753326c9d50dea20c71850c1d8c3dd0
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
This commit adds changes to the shell scripts to add
compatibility with bash and dash shells.
Change-Id: I7831eba24afca2211cd58aab996dee13a02207f3
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Right now we are building minimal libc as an archive (lib.a)
and do not need to link against -lc -lm in that case.
Link against libc/libm only when using an external libc.
Change-Id: I1af0eaf5c059bd5f0c8c16cda28114c6dc10b156
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This options allows us to link against newlib instead of the
integrated minimal c library.
Change-Id: I20990354d74c08f2f6348f0aeea452b8f0f4c8e9
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This allows a toolchain to define the auxiliary libraries in
scripts/Makefile.toolchain.{variant} with more flexibility.
Change-Id: Iaae9c7613ddcbcc8376b7e756aa4b675db680737
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit adds the variable LDLIBS_TOOLCHAIN that, by default,
add the gcc static library to the link command.
This variable can be overriden as an environmental variable or as a make
parameter to allow the use of different toolchains different from gcc.
Change-Id: Id9d6c8621a7dc8feebdf377c115564701fb7652b
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
awk is causing issues on the ci infrastructure, some
options used here are not supported on ci hosts.
Change-Id: Iabd5dd37b6464e093d3f91188128ef85a9fc6df5
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
To use this, export the following:
export VXMICRO_GCC_VARIANT=yocto # for yocto
export VXMICRO_GCC_VARIANT=xtools # for crosstool-ng
export YOCTO_SDK_INSTALL_DIR=/opt/poky-tm/1.8
or
export XTOOLS_TOOLCHAIN_PATH=/opt/crosstool-ng
Change-Id: I9cd6062ecc32047d1582aad46209f4232e0e31f6
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit reverts the removal of bluetooth tests.
Change-Id: Id84bb6b61da1fd8b617059be2b1617a6dacf2af9
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
This commit allows the following:
lib-y will create external directories, when building with
the O=<external/directory>option.
Originally in Kbuild, only obj-y dependencies were subject to
directory creation when builded in an external directory.
This change allow Kbuild to completely build in external
directories, including libc.a.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: If6c2bc77b2c00ce199df87a08f86e366f929ac08
This commit changes the way libc is built.
Instead of building a hierarchy of objects linked into the
microkernel, libc minimal is built as a static library and
linked against the microkernel binary.
The location of the libc is configurable with the variable
KLIBC_DIR. This gives the flexibility to build against a
different libc other than minimal.
Change-Id: I9c0b6a684a9f3b407861aa387727c45eceb269c4
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Make the script work with the first set of testcases.
Works continues as we fix more samples.
Change-Id: I48b77781fc162971a1ef83bed32c02c2b08f81d7
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit adds the gcc library to the linker process
of Kbuild.
Change-Id: Ic237dedc7b28dae020e4778c9b373ac650e31bad
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
This commit includes the genIdt tool as part of the kconfig
basic tools. Now the genIdt tool is built automatically as
part of the whole kernel project.
Change-Id: I45110a7c564c59d7a6684d868ccc377cbd6ef1c4
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
This commit allows to select a VPFile outside the working directory.
This change is needed for sanity checks.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Ia6f1e334c0a5274c4029197e5f64aaa4c236f9f0
This commit removes from the Kconfig system the
SECTION_GARBAGE_COLLECTION kconfig symbols and sets the
SECTION_GC_FLAG flag permanently on the compilation options.
Change-Id: Iec070613d85afa697c62d6cbc54cc146cffcab27
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
This commit fixes the issue that the iSSE_FP_MATH flags was
not being added during the build process.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I0702e8b317fde1858e90145efaa470146ad5a416
This commit fixes the issue that ALIGN_STACK_FLAG was not being
added to the build process.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Iced7700b51da4c5b04181affca2f2ca090987371
This commit fixes the issue that ISA_FLAG was not being
added during the build process.
Change-Id: I780c8dbae8912ee8e159827cb24a5700432898d2
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Start with a new linker file every time we run make. Otherwise
we fail.
Change-Id: I3abe9c203dcfe8710e6c4946662959bfeb6a6bc9
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit adds support for the qemu target.
This target will generate the kernel binary and will
launch a qemu instance running the binary.
Currently, only the x86 generic pc and the arm tilm3s6965
BSPs are supported with emulation.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I9e71d3ce2fba98572830475a2e15e3fceb0216b4
This commit changes the name of the output files.
The output names tinymountain.* have been changed to
microkernel.* and nanokernel.*.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Ia73daa35bb8e44972065af3a217bf87335169dac
This commit add support to the Kbuild system for the
NUM_TASK_PRIORITIES Kconfig symbol and the corresponding sysgen
parameter.
Change-Id: I6b035437c86d62f72c25d696d18182a7b0448e8f
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
This commit allows the Kbuild system to specify the
Cortex processor as a toolchain link parameter by
reading the kconfig configuration options.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I29296fb255810b6bc5e14637c9000e054ac5deb2
This commit fixes issues to allow build on ARM architecture.
- It fixes the include paths in Makefiles.
- It fixes the include path for the offsets.c compilation.
- It fixes the linker command. This changes is needed because gcc
ARM cross-compiler does not accept an AT() command without
specifing an address explicitly. This corner case appears
on ARM architectures when XIP is disabled.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Ief8b53c4cc154abba7b7827121ec5a56f62b7b26
This commit removes the Kconfig symbol KERNEL_DIR.
The symbols was no longer needed because sysgen is only
used on microkernel architectures and the value of
KERNEL_DIR is always "ukernel", therefore it is redundant.
Change-Id: I5e38dd431c5b6f7586e8b25aea330632e96f581f
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
This commit substitutes references to the linux string in variable
names.
It changes the LINUX prefix and uses the TIMO prefix (short for
tiny mountain)
It changes the vmlinux prefix for tinymountain prefix.
It preserves linux references found in licenses, comments giving
credits and from scripts that are not supported by the current build
system yet, like rpm generation.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Id17d8d12161f00e2a2ff38f218cdb6c5afd169c0
This commit is adding the linking process.
-Creates linker command files.
-Creates IDT tables.
-Creates final ELF file.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I3ce92868b00957fdc24a361cc419e3548f475cc3
This commit adds all Kbuild CFLAGS to build the kernel binary.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Ia4ca1b71b4e68c4515c428147a8814ca983bb541
This commit organizes the different directories listed in the
root Makefile. Each directory hold a root Makefile describing
libraries and object bundles that will be linked together as
the kernel binary.
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I4af16114598ad985dfb4faac68e82dc73b1b6cc5