unified/build: allow building the unified kernel

Added needed kconfig options. KERNEL_V2 selects MICROKERNEL to allow
middleware and application that differentiate between NANOKERNEL and
MICROKERNEL to run unmodified.

Build the unified/ kernel directory: do not touch the
nanokernel/microkernel directories.

Invoke sysgen for both microkernel and unified kernel. Only have sysgen
reference include/microkernel if building an original microkernel.

Change-Id: If74779146143434f7ee274bbef32d6c894b9f1a1
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
This commit is contained in:
Benjamin Walsh 2016-09-02 19:19:17 -04:00
parent 456c6daa9f
commit 7e6dacd65f
4 changed files with 21 additions and 4 deletions

View file

@ -16,6 +16,11 @@
# limitations under the License.
#
config KERNEL_V2
bool
prompt "Unified Kernel"
default n
choice
prompt "Kernel Type"
default MICROKERNEL
@ -203,9 +208,15 @@ endmenu
endmenu
if !KERNEL_V2
source "kernel/nanokernel/Kconfig"
endif
if MICROKERNEL
if KERNEL_V2
source "kernel/unified/Kconfig"
endif
if MICROKERNEL && !KERNEL_V2
source "kernel/microkernel/Kconfig"
endif
@ -267,7 +278,7 @@ config TICKLESS_IDLE
bool
prompt "Tickless idle"
default y
depends on MICROKERNEL || NANOKERNEL_TICKLESS_IDLE_SUPPORTED
depends on !KERNEL_V2 && (MICROKERNEL || NANOKERNEL_TICKLESS_IDLE_SUPPORTED)
help
This option suppresses periodic system clock interrupts whenever the
kernel becomes idle. This permits the system to remain in a power

View file

@ -1,2 +1,6 @@
ifeq ($(CONFIG_KERNEL_V2),y)
obj-y = unified/
else
obj-y = nanokernel/
obj-$(CONFIG_MICROKERNEL) += microkernel/
endif

View file

@ -1,2 +1,2 @@
obj-y = configs.o
obj-$(CONFIG_MICROKERNEL) += sysgen/
obj-$(CONFIG_MDEF) += sysgen/

View file

@ -1,4 +1,6 @@
ccflags-y += -I$(srctree)/include/microkernel
ifneq ($(CONFIG_KERNEL_V2),y)
ccflags-$(CONFIG_MICROKERNEL) += -I$(srctree)/include/microkernel
endif
ccflags-y += -I$(CURDIR)/misc/generated/sysgen
obj-y = kernel_main.o