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>
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>
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>
The SECTION_GARBAGE_COLLECTION kconfig option is no longer used.
Change-Id: Ie45694b4fbe9e6b5491ffd9eb102c4a5e9717e69
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>
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>
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>