Specify Yocto SDK qemu and qemu Bios locations.
If the environment is initialized with:
export VXMICRO_QEMU=yocto
then the settings from the file
make/target/run/defs.qemu.custom.yocto
will be used.
Change-Id: I537f07f55461fcbadfbfe8af3a4639068587e056
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
If not specified, some GCC variants may default to -march=armv5.
Change-Id: Ieb97591195b00fea3c7602df554c0d89164be19e
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Use the linker to link instead of the compiler. As a direct consequence,
the makefile variable ${vLD_K} is no longer required and is replaced with
${vLD}.
Also note that this requires the addition of defs.exec arm variants for "otc"
and "xtools". These files are needed so that the linker knows where to find
"libgcc.a". (Previously when linking using the compiler, the compiler knew
where to find "libgcc.a".)
Change-Id: I0888a51f63687068336fa591863469342a56215d
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Fixes a comment to reference the correct variant in a makefile fragment.
Change-Id: I5c021ed7a727dcddb3f1561e98d78b628e952e39
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Not only is __start is a neutral label, but using a common entry point for all
architectures allows the entry point to be hoisted out of the linker script and
specified by the build system.
Change-Id: Ibcbb11a40ff964e0fc3c90afcfe231746071b040
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Prepends a 'v' to the toolchain executable makefile variables. Thus ...
CC becomes vCC,
CPP becomes vCPP,
...
This is done to allow a variant to override the toolchain's naming convention
as not all variants of a toolchain follow the same naming convention.
Change-Id: I917b7b82b6911cd6b2fbd063ffd4d7f3719b4dfa
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Keys off variations of "ICC" to remove references to the Intel C Compiler as
it is not supported.
Change-Id: I09f67880b39839982ed1c450e564c274440628a5
Signed-off-by: Peter Mitsis <peter.mitsis@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>
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>
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>
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>
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>
For debugging buffer access related issues it's convenient to be able
to enable logs and extra checks specifically for the buffer related
code.
Change-Id: Ibb87d344809d2bcada10a22b16a23e6556f4ae79
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
The revised option name more accurately describes its purpose, and
avoids potential confusion with the microkernel's tickless idle
capability. Also, inverting the "polarity" of the option means that
conditional code that references it does not have to use negative
logic, which make the code easier to comprehend.
Change-Id: I0c6f82f077a87a28544048d214efa7020939e566
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Updating global variable's name to follow a consistent naming convention.
Change accomplished with the following script:
#!/bin/bash
echo "Searching for ${1} to replace with ${2}"
find ./ \( -name "*.[chs]" -o -name "sysgen.py" -o -name "*.kconf" -o -name "*.arch" \) \
! -path "./host/src/genIdt/*" \
! -path "*/outdir/*" | xargs sed -i 's/\b'${1}'\b/'${2}'/g';
Change-Id: I42d80495508656c8476b5538fbd4af7a7569e8d6
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Updating global variable's name to follow a consistent naming convention.
Change accomplished with the following script:
#!/bin/bash
echo "Searching for ${1} to replace with ${2}"
find ./ \( -name "*.[chs]" -o -name "sysgen.py" -o -name "*.kconf" -o -name "*.arch" \) \
! -path "./host/src/genIdt/*" \
! -path "*/outdir/*" | xargs sed -i 's/\b'${1}'\b/'${2}'/g';
Change-Id: Id3f9096f28a1bf98035c6a531cd8d2dc66e6448a
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
These options are no longer required as malloc-type support has
been previously eliminated.
Change-Id: I93fdb93395bc53c8a550a64fa61a7339d74ba278
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Configuration option BLUETOOTH_DEBUG_HCI_CORE enables debug support
for Bluetooth HCI core. This allows us to fine tune debug output.
Change-Id: Ibc9a90192b8f3318f9683cef4781d0c3d6ae9f7b
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Configuration option BLUETOOTH_DEBUG_UART enables debug support for
Bluetooth UART driver.
Change-Id: I192f380be492df1a52ad212239447b6ee4b50aac
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
BLUETOOTH_DEBUG option enables extensive debug output to serial
console. Disabled by default.
Change-Id: I71a6ca4c4f1dfb5bd818e6b8320a07249befadfb
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Revises the relationships between several configuration options
to support a tickless kernel capabilty. Specifically:
1) SYS_CLOCK_TICKS_PER_SEC is now always defined, so that it can
be referenced by TICKLESS_KERNEL. However, SYS_CLOCK_TICKS_PER_SEC
is forced to 0 when there is no timer interrupt support.
2) NUM_TIMER_PACKETS is now forced to 0 in a microkernel system
when TICKLESS_KERNEL is enabled.
3) TIMESLICING is now disabled when TICKLESS_KERNEL is enabled.
Change-Id: Ie8bf58e7828069afe68ae9451ffbf9bc220ea35f
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Introduces the TICKLESS_KERNEL configuration option, which indicates
that the kernel does not support timing capabilities. This option is
enabled automatically if the system tick rate is set to zero ticks
per second.
Change-Id: I20e6eb23465baf5f79055c7ff8979537b85dcc06
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Not related to the LITE support in the kernel, that VXLITE
variable was provisioned for a potential other name for
VxMicro, and was never used.
Change-Id: I23ce1fda1064141ab7e7e75fa2b2a12b9361d624
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
NLI files are not needed anymore since a) the new sysgen does not make
use of them and b) what NLI files were providing is now kconfig-driven.
Change-Id: I8520b6214a7d47e5bc41e9a108d4786c8f2f6f04
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
iWINECONSOLE and iWINEHOSTSERVER were used to point to the Wine commands
used to start the host server and the host server console: both Wine and
host server are now irrelevant.
Change-Id: Ia8e3e240553fcde11d0b6e46cfee51913a6f5d1a
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
The SECTION_GARBAGE_COLLECTION kconfig option is no longer used.
Change-Id: Ie45694b4fbe9e6b5491ffd9eb102c4a5e9717e69
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Enables the section garbage collection compiler flags regardless of the
state of the SECTION_GARBAGE_COLLECTION kconfig option.
Change-Id: Iad488b3ca4ee0a80898f83809e4c615efcdbd03f
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Lowers the default value for the NUM_TASK_PRIORITIES configuration
option to 16, as typical system are unlikely to need 64 different
task priorities.
Change-Id: I6d7baa5671628815ab1953dcb0b8266f28df3014
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Allows the number of task priority levels supported by the micro-
kernel to be configured, rather than fixing this value at 64.
Setting NUM_TASK_PRIORITIES to N provides support for task
priorities 0 (highest priority) through N-1 (lowest priority).
The lowest priority is reserved for the kernel's idle task.
This enhancement allows system designers to significantly reduce
the size of the microkernel's task priority queues by eliminating
unneeded queues. In systems requiring only a few task priorities
over 500 bytes can be saved.
Change-Id: I497aac608a3d548fb1b024068c08a5f494c3d524
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Makes the leading spaces in the 'help' section of CPU_CLOCK_FREQ_MHZ
consistent with that of other kconfig options.
Change-Id: I5e6dcc710cb8e2099f986dc1ce2a4d72a4350466
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Enable by default the easy usage of connecting interrupts. If someone
wants to connect interrupts by hardcoding the ISR in the vector table,
they now have to disable these two options.
Change-Id: I5fd14784596e7c52d3c43fddc4fcb51bc8850db3
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
1) Relocates the GDB_INFO configuration option so that it appears
in the same menu as other debugging options.
2) Revises the prompt and help text to better describe the option's
purpose and impacts.
3) Corrects an inverted depency relationship; selecting this option
now automatically enables CONTEXT_MONITOR, rather than being dependent
upon it.
Change-Id: Ib5e7e3a594e7190972fa22fd0287694ae5acd917
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Revises this option to make its purpose clearer, and to align it
with other experimantal monitoring-type configuration options.
Change-Id: I593bb7560b5a0544eb05affaa07b59dd78ea907e
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
This patch adds a simple HCI UART (H4) driver that currently maps to
the second UART in the system. The main intention is to use this
together with qemu for accessing the Bluetooth controller available on
the host OS side.
The H4 HCI transport protocol is perhaps the simplest of the standard
HCI transports. It consists of a single byte in the beginning of each
packet which indicates the type of the packet: HCI event, HCI command,
ACL data, or SCO data (which we don't use at the moment).
Change-Id: I225a2a2361fbd7cd4ba82ea1f81ddc1271e9e7c2
Co-authored-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
To introduce the Bluetooth stack to the tree we need some additions to
the configuration options, as well as the very basic header files. The
patch also adds a skeleton for a bt_init() function that applications
will need to call to initialize Bluetooth functionality.
Change-Id: Ideb24dfea584b71f514e05eb47654b659776133e
Co-authored-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
When killing QEMU, we defaulted to either killall or find the first
qemu process. This intefered with parallel builds, as we might kill
some other build's qemu process.
This makes QEMU write a pidfile in the local outdir directory and kill
only that when done.
Change-Id: I498b1e0833fcda9a7bd50111616dfba015e566bd
Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
The files k_boot.h and flashboot.c are obsolete.
Change-Id: Ieab69e714462079c2a836dacb7c5bab53d2e3b2b
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Rename UART_HOSTDRV_INTERRUPT_DRIVEN option to
UART_INTERRUPT_DRIVEN removing old definition.
Change-Id: Id48288db42e97a1ecbd809e259f33359d5a7c9d7
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Serial console handler when registered allows to interact with serial
line. It can either execute callback from ISR or defer execution to
fiber or task. This will be used in Bluetooth development for tests and
simple interaction with Bluetooth stack.
Change-Id: Ia960b456a75062d614baea324608058d979aa11b
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Configure option UART_HOSTDRV_INTERRUPT_DRIVEN enables ISR support
making it possible to use interrupt driven input for UARTs. The option
would be selected by serial console and Bluetooth UART drivers.
Change-Id: Ie249275bb4bb2138f9d6b17e938bb1bbfe566f0c
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
We want to provide to Qemu extra flags such as extra '-serial'
parameter. If we extend vQEMU_FLAGS then serial device goes to wrong
UART since first '-serial ${iQEMU_CONSOLE}' is already defined. The
order of UARTs does matter.
Change-Id: I6cd9cc84898a858e73d13297c27eeeac28010d9e
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Updating nano kernel functions to follow a consistent naming convention.
Part of that process is the removal of camelCase naming conventions for the
preferred_underscore_method.
Change accomplished with the following script:
#!/bin/bash
echo "Searching for ${1} to replace with ${2}"
find . -type f \( -iname \*.c -o -iname \*.h -o -iname \*.s -o -iname \*.conf \) \
-not \( -path host/src/genIdt -prune \) \ \
-not \( -path host/src/gen_tables -prune \) \
-print | xargs sed -i "s/"${1}"/"${2}"/g"
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Updating nano kernel functions to follow a consistent naming convention.
Part of that process is the removal of camelCase naming conventions for the
preferred_underscore_method.
Change accomplished with the following script:
#!/bin/bash
echo "Searching for ${1} to replace with ${2}"
find . -type f \( -iname \*.c -o -iname \*.h -o -iname \*.s \) \
-not \( -path host/src/genIdt -prune \) \ \
-not \( -path host/src/gen_tables -prune \) \
-print | xargs sed -i "s/"${1}"/"${2}"/g"
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>