Commit graph

19193 commits

Author SHA1 Message Date
Juan Manuel Cruz
0b7946ba73 Kbuild: Additions to Makefile.inc
This commit adds the following features to Makefile.inc:
 - The location of the project (PROJECT_BASE) can be specified
   as a parameter.
 - BSP and KERNEL_TYPE parameters can be used to specify a default
   configuration.
 - The default configuration is created everytime the target all
   and qemu are invoked.
 - initconfig target creates a default configuration.
 - The name of the file for the configuration snippet can now be
   selected using the parameter CONF_OVERLAY.
 - The clean target is able to remove generated files even if a
   different PROJECT_BASE is defined.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Iabd8469465f57c222972f326fe997be58fb87f41
2016-02-05 20:14:07 -05:00
Juan Manuel Cruz
f44f5e7b98 Kbuild: Makefiles for the benchmark tests.
This commit adds all the Makefiles needed to integrate the benchmark
testing in the Kbuild system.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I7b29cf7839e95b94acc27a45677a067ca5a0c00d
2016-02-05 20:14:07 -05:00
Anas Nashif
7245689be3 Kbuild: adapt Makefile/Kconfig to microk.c rename
Change-Id: I1a111799b64dfc440d4fc8f1278e99450fec105e

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:07 -05:00
Anas Nashif
bb38b8816d Kbuild: adapt Makefile/Kconfig to microkernel/timer removal
Change-Id: I602015a1065f704907895d83cd0afb52646fdf5d
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:07 -05:00
Anas Nashif
52deec0712 Kbuild: adapt Makefile/Kconfig to microkernel/movedata removal
Change-Id: I802a0716b1e7871c70d8c87b3c73d8d23cf114a9
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:07 -05:00
Anas Nashif
8140e068f2 Kbuild: adapt Makefile/Kconfig to microkernel/core removal
Change-Id: I816098358cf7c655d32a37c52d08d0b14760a48c

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
b805752dea Kbuild: power.c was eliminated
Change-Id: Id16ec0dd2f1758f9d5278b8d6a00cd38dec0bc28

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
144e8ce330 renamed include file absSym.h -> abs_sym.h
Change-Id: I8500ee9d63b0048486e49268de3680fd6a3e1ef3

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
892857cd2c Kbuild: VPFile can be selected from outside the working directory.
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
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
5a9d51850d Kbuild. Fix for timer hpet build on quark BSP.
This commit fixes the include path for the hpet timer build
for quark BSP.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I38345e1ec46e3c3684e1f5ecded8114ad58b5443
2016-02-05 20:14:06 -05:00
Anas Nashif
fd5090aca4 Kbuild: adapt Makefile/Kconfig to kernel/common/ removal
Change-Id: I6e9c17b51034dbf1ab93af0234334a3626c25166

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
f749794bce Kbuild: adapt Makefile/Kconfig to task/ removal
Change-Id: I3032909d625c40e6cbbc03e3b4311df9be0c899c
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
88950af663 Kbuild: adapt Makefile/Kconfig to core/ removal
Change-Id: I96f8a1798e8d84a4876bcb59f5b93ec134e9a233
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
3a4073dc96 LDFLAGS: be compatible with legacy build system
Change-Id: I447afbe63a9a2e5210768ece5ef8ef750956e66a

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
42f0970b0a remove linux firmware targets
Change-Id: I2bc4ab7220e7b6b200801e440a2490822c2481c6
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
c31a8cca66 remove linux firmware Makefile
Change-Id: I9bbefb5696864e9567d91190ef388e4cb4e730d3
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
de26d969f8 remove linux firmware target documentation
Change-Id: I145cdbe0ba24b95887c4eaa08b3dbad36d0db861
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
b7255f7fd1 remove linux firmware hooks
Change-Id: I847a0aea915b960b2ec9e993267cc9a4c64e5f4e
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
16a85c958d hello_world: Use kbuild Makefile
Change-Id: I7a9cf5cc133ab6ccbcd8b3ef32cf01e6b2f05c60

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
ae2228c954 philosophers: Use kbuild Makefile
Change-Id: I9db2755d515cc36dab2704a9b5dcf95358d2527a

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
4ed8df8c5a Update defconfig for x86
Change-Id: I482859501de28c115e25f8cb36a7b31b044f82d8

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
afbc7026ea Update defconfig for ARM
Change-Id: I9fd8358f895edc7ae3040d1c131891f64f6929a1

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
6327f45f25 run defconfig if we have no .config
Change-Id: Ic9f3eb3736721bed3434f934081704343f4d17f1

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
c615855ab9 Makefile: run mergeconfig only when needed
Change-Id: Ic080c1c974fde413e5f10247d130b40904838e09
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
e44e7ec742 mergeconfig by default
When running make in an application, always run mergeconfig

Change-Id: I811f56a0c3388cb64f6c4aa57c6b83d88f568b68
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
6eb4dbd3a4 philosophers: Use kbuild Makefile
Change-Id: I0bc2158e0b936a3e33674ffe0f4a45018a7be3ed

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Anas Nashif
7e04b5b6d3 hello_world: Use kbuild Makefile
Change-Id: I0365e9efcefa8698e4301f81036cb247c6e279c9

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
35591e5c07 Kbuild: Update on defconfig arm files.
This commit update the defconfig files for the arm
architecture with additional Kconfig symbols.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Ib9bbde65ae333387cebf63949b7a2e9275489f35
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
027163c3f8 Kbuild: Update on defconfig x86 files.
This commit update the defconfig files for the x86
architecture with additional Kconfig symbols.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Iacf0a47f832b7e8ed688f74276d94b4a2a9da3f8
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
6e666cf28a Kbuild: Removes the SECTION_GARBAGE_COLLECTION ksymbol.
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>
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
9e4b2bb18e Kbuild: New mergeconfig target.
This commit adds the mergeconfig target.
The mergeconfig target merges the current .config file with the
prj_<ARCH>.conf configuration file and updates the current
configuration of the project.

Change-Id: Ia7112147ffbc033d7860369241188af13b53b334
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
b25405283f Kbuild: CPU_MIGHT_SUPPORT_CLFLUSH ksymbol is hidden.
This commit sets the default value to n and hides the edition
of the Kconfig symbol CPU_MIGHT_SUPPORT_CLFLUSH.
This symbols is not used at the moment in the original build system
nor Kbuild.
We preserve the symbol if needed for a future use.

Change-Id: I0b1d0413cc479e27cea0e9f04929b1792d6e3200
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
6aac05214a Kbuild: Removes the COMMAND_PACKET ksymbol.
This commit removes the COMMAND PACKET kconfig symbol and
leaves the command packet service permanently in the build
process.

Change-Id: I814bb7f2f1a868490c1d0cc8d5cbea87bb39005c
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
732f1327d3 Kbuild: Philosophers makefile fix.
This commit fixes an issue with the Makefile describing the
philosophers demo.

Change-Id: I5502e207aa5d87c04e58daa2d391e2d89ba91a67
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
339efe209c Kbuild: Remove ks_moved file from Makefile.
This commit updates the Kbuild to the last change in the tree.
ks_moved.c file was removed from the system.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Ice4f1ec4f3629825640718e760ba025f68ad6355
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
c818cd288c Kbuild: Additional Kconfig symbols.
This commit adds the following Kconfig symbols:
 - INIT_STACKS
 - UART_INTERRUPT_DRIVEN
 - CONSOLE_HANDLER
 - BUILD_TIMESTAMP
 - TICKLESS_KERNEL
 - CONTEXT_CUSTOM_DATA

Change-Id: Id96a7e759c8beac73f27193df07b5c7562379b2f
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
068ebc0529 Kbuild: Root Makefile issue.
KBUILD_CFLAGS line was broken because a breakline was missing.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I47a36f89d7cd589c71ce0bfb9a6d346a12202f43
2016-02-05 20:14:06 -05:00
Juan Manuel Cruz
95d71c50c4 Kbuild: New default x86 standard BSP.
This commit adds the pentium BSP as the new x86 standard BSP
at the configuration menu.

Change-Id: I8bc337df90fe527a557f68a3712f5d3d00837081
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz
721b9df9d1 Kbuild: Fix board.h include issue on pentium BSP.
This commit fixes an issue with the inclusion path for the
board.h file for the pentium BSP.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I28172f8071b907aa61660ec8b8009e83cb2aa5ea
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz
71c7083ae0 Kbuild: iSSE_FP_MATH flag fix.
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
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz
06b41d1ace KBuild: ALIGN_STACK_FLAG fix.
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
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz
fbc5956ade Kbuild: ISA_FLAG Fix
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>
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz
f8fedaa134 Kbuild: Eliminate CFLAGs that are not needed.
This commit removes several CFLAGS inherited from Linux Kconfig
that are not used in the current build system.

 - The option fno-delete-null-pointer-checks is not used.
 - O2 is not a default option and the symbol
   CONFIG_CC_OPTIMIZE_FOR_SIZE is not supported.
 - The option allow-store-data-races=0 is not used.
 - The fno-stack-protector was being added twice and is not
   a default parameter.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: I3791d995638dea50796f041e558a39d5aa7e88f6
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz
4d8c725ebd Kbuild: External CFLAGS.
This commit add the following changes to the internal CFLAGS:

 - DEFAULTFLAGS is adjusted to only hold the Os option by default.
 - CONFIG_COMPILER_OPT is a Kbuild symbols that is included
   in the CFLAGS.

Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Change-Id: Ie78fe00c8d9b05f5d0361357267f08d978006427
2016-02-05 20:14:05 -05:00
Anas Nashif
88131c8176 Make sure we start with a new *.lnk file
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>
2016-02-05 20:14:05 -05:00
Anas Nashif
39cb1ae28c Run qemu with right kernel
We use the microkernel/nanokernel naming convention,
so run qemu with the right file.

Change-Id: I6cedf34f85693d6026c450904e1ce72c435baa06
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz
e7de0f65b4 Kbuild: QEMU target.
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
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz
1c8f5a75e7 Kbuild: Standard output file names.
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
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz
4ca3a4a515 Kbuild: Adaptation to the location change of driver headers.
This commit adaptes the Kbuild system to the change of location of
the header files for drivers.
Old location: driver/
New location: include/driver/

Change-Id: Ic49d373149ee44d781419c5c68e59408c8ef1c11
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
2016-02-05 20:14:05 -05:00
Juan Manuel Cruz
622e273d08 Kbuild: Sysgen support for NUM_TASK_PRIORITIES
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>
2016-02-05 20:14:05 -05:00