2015-05-20 11:40:39 -05:00
|
|
|
# Kconfig - kernel configuration options
|
|
|
|
|
|
|
|
#
|
|
|
|
# Copyright (c) 2014-2015 Wind River Systems, Inc.
|
|
|
|
#
|
2015-10-06 11:00:37 -05:00
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
2015-05-20 11:40:39 -05:00
|
|
|
#
|
2015-10-06 11:00:37 -05:00
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
2015-05-20 11:40:39 -05:00
|
|
|
#
|
2015-10-06 11:00:37 -05:00
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
2015-05-20 11:40:39 -05:00
|
|
|
#
|
|
|
|
|
2015-03-11 12:44:14 -06:00
|
|
|
|
|
|
|
menu "General Kernel Options"
|
|
|
|
|
|
|
|
config SYS_CLOCK_TICKS_PER_SEC
|
|
|
|
int
|
|
|
|
prompt "System tick frequency (in ticks/second)"
|
|
|
|
default 100
|
|
|
|
help
|
|
|
|
This option specifies the frequency of the system clock in Hz.
|
|
|
|
|
|
|
|
config SYS_CLOCK_HW_CYCLES_PER_SEC
|
2015-07-22 16:22:25 -04:00
|
|
|
int "System clock's h/w timer frequency"
|
2015-03-11 12:44:14 -06:00
|
|
|
help
|
2015-07-22 16:22:25 -04:00
|
|
|
This option specifies the frequency of the hardware timer used for the
|
2016-08-17 16:33:08 -07:00
|
|
|
system clock (in Hz). This option is set by the board's Kconfig file
|
2015-07-22 16:22:25 -04:00
|
|
|
and the user should generally avoid modifying it via the menu configuration.
|
2015-03-11 12:44:14 -06:00
|
|
|
|
2016-05-24 18:17:13 -05:00
|
|
|
config SYS_CLOCK_EXISTS
|
2015-05-05 10:12:02 -05:00
|
|
|
bool
|
|
|
|
# omit prompt to signify a "hidden" option
|
2015-05-15 07:43:52 -04:00
|
|
|
default y
|
2016-03-25 14:30:50 -07:00
|
|
|
default n if (SYS_CLOCK_TICKS_PER_SEC = 0)
|
2015-05-05 10:12:02 -05:00
|
|
|
help
|
|
|
|
This option specifies that the kernel lacks timer support.
|
|
|
|
|
2016-05-24 18:17:13 -05:00
|
|
|
config INIT_STACKS
|
2015-05-05 10:12:02 -05:00
|
|
|
bool
|
|
|
|
prompt "Initialize stack areas"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
This option instructs the kernel to initialize stack areas with a
|
|
|
|
known value (0xaa) before they are first used, so that the high
|
|
|
|
water mark can be easily determined. This applies to the stack areas
|
2015-08-12 15:37:58 -04:00
|
|
|
for both tasks and fibers, as well as for the microkernel server's command
|
2015-05-05 10:12:02 -05:00
|
|
|
stack.
|
|
|
|
|
2016-05-24 18:17:13 -05:00
|
|
|
config XIP
|
2015-03-11 12:44:14 -06:00
|
|
|
bool
|
|
|
|
prompt "Execute in place"
|
|
|
|
help
|
|
|
|
This option allows the kernel to operate with its text and read-only
|
2016-08-17 16:33:08 -07:00
|
|
|
sections residing in ROM (or similar read-only memory). Not all boards
|
2015-03-11 12:44:14 -06:00
|
|
|
support this option so it must be used with care; you must also
|
|
|
|
supply a linker command file when building your image. Enabling this
|
|
|
|
option increases both the code and data footprint of the image.
|
|
|
|
|
2015-08-27 13:07:36 -07:00
|
|
|
config RING_BUFFER
|
|
|
|
bool
|
|
|
|
prompt "Enable ring buffers"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Enable usage of ring buffers. Similar to nanokernel FIFOs but manage
|
|
|
|
their own buffer memory and can store arbitrary data. For optimal
|
|
|
|
performance, use buffer sizes that are a power of 2.
|
|
|
|
|
2016-05-24 18:17:13 -05:00
|
|
|
config THREAD_MONITOR
|
2016-03-09 15:57:41 -06:00
|
|
|
bool
|
2016-12-17 12:19:51 -05:00
|
|
|
prompt "Thread monitoring [EXPERIMENTAL]"
|
2016-03-09 15:57:41 -06:00
|
|
|
default n
|
|
|
|
help
|
2016-12-17 12:19:51 -05:00
|
|
|
This option instructs the kernel to maintain a list of all threads
|
|
|
|
(excluding those that have not yet started or have already
|
|
|
|
terminated).
|
2016-03-09 15:57:41 -06:00
|
|
|
|
2016-09-09 11:20:23 -04:00
|
|
|
config KERNEL_INIT_PRIORITY_OBJECTS
|
|
|
|
int
|
|
|
|
prompt "Kernel objects initialization priority"
|
|
|
|
default 30
|
|
|
|
help
|
|
|
|
Kernel objects use this priority for initialization. This
|
|
|
|
priority needs to be higher than minimal default initialization
|
|
|
|
priority.
|
|
|
|
|
2015-10-26 15:56:02 -04:00
|
|
|
config KERNEL_INIT_PRIORITY_DEFAULT
|
|
|
|
int
|
|
|
|
prompt "Default init priority"
|
2016-03-28 14:05:33 -07:00
|
|
|
default 40
|
2015-10-26 15:56:02 -04:00
|
|
|
help
|
|
|
|
Defaut minimal init priority for each init level.
|
|
|
|
|
|
|
|
config KERNEL_INIT_PRIORITY_DEVICE
|
|
|
|
int
|
|
|
|
prompt "Default init priority for device drivers"
|
2016-03-28 14:05:33 -07:00
|
|
|
default 50
|
2015-10-26 15:56:02 -04:00
|
|
|
help
|
|
|
|
Device driver, that depends on common components, such as
|
|
|
|
interrupt controller, but does not depend on other devices,
|
|
|
|
uses this init priority.
|
2015-09-29 07:08:58 -07:00
|
|
|
|
2016-10-07 13:03:51 -04:00
|
|
|
config APPLICATION_INIT_PRIORITY
|
|
|
|
int
|
|
|
|
prompt "Default init priority for application level drivers"
|
|
|
|
default 90
|
|
|
|
help
|
|
|
|
This priority level is for end-user drivers such as sensors and display
|
|
|
|
which have no inward dependencies.
|
|
|
|
|
2015-03-11 12:44:14 -06:00
|
|
|
menu "Security Options"
|
|
|
|
|
|
|
|
config STACK_CANARIES
|
|
|
|
bool
|
2015-09-29 07:08:58 -07:00
|
|
|
prompt "Compiler stack canaries"
|
2015-03-11 12:44:14 -06:00
|
|
|
default n
|
|
|
|
help
|
2015-09-29 07:08:58 -07:00
|
|
|
This option enables compiler stack canaries support kernel functions.
|
2015-03-11 12:44:14 -06:00
|
|
|
|
|
|
|
If stack canaries are supported by the compiler, it will emit
|
|
|
|
extra code that inserts a canary value into the stack frame when
|
|
|
|
a function is entered and validates this value upon exit.
|
|
|
|
Stack corruption (such as that caused by buffer overflow) results
|
|
|
|
in a fatal error condition for the running entity.
|
|
|
|
Enabling this option can result in a significant increase
|
|
|
|
in footprint and an associated decrease in performance.
|
|
|
|
|
|
|
|
If stack canaries are not supported by the compiler, enabling this
|
|
|
|
option has no effect.
|
|
|
|
endmenu
|
|
|
|
|
|
|
|
endmenu
|
2016-03-13 19:53:30 -04:00
|
|
|
|
2016-09-02 19:19:17 -04:00
|
|
|
source "kernel/unified/Kconfig"
|
2016-03-14 22:35:14 -04:00
|
|
|
|
2016-06-14 16:36:55 -04:00
|
|
|
config MDEF
|
|
|
|
bool
|
|
|
|
prompt "Use MDEF files for statically configured kernel objects"
|
2016-12-17 10:25:17 -05:00
|
|
|
default y
|
2016-06-14 16:36:55 -04:00
|
|
|
help
|
|
|
|
Using an MDEF file can help the startup time of the application since
|
|
|
|
the objects it lists are statically allocated and initialized, and may
|
|
|
|
also reduce code size if no subsystem uses the initialization routines.
|
|
|
|
|
|
|
|
Disabling this option can reduce the compilation time slightly.
|
|
|
|
|
2016-12-17 10:25:17 -05:00
|
|
|
In doubt, select 'y'.
|
2016-06-14 16:36:55 -04:00
|
|
|
|
2016-12-17 12:18:10 -05:00
|
|
|
source "kernel/Kconfig.event_logger"
|
2016-12-17 12:26:40 -05:00
|
|
|
source "kernel/Kconfig.power_mgmt"
|
|
|
|
|