Add interrupt and sleep event data to the profiler sample.
Change-Id: Ie5d3c4201475824eaf833bef506140279a6c606d
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Add the sleep events point for x86 and ARM arquitectures that gives
information about when the CPU went to sleep mode, when it woke up
and which interrupt causes the CPU to awake.
Change-Id: Iaa06a678eab661357d084ee1f79c4cfcf19bf85d
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Add the interrupt profile points for x86 and ARM arquitectures. This
gives information regarding the time when interrupts occur.
Change-Id: Ic876c0e7f9e8819d53e0578416f09146f4456d3d
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Add _ASMLANGUAGE guard to allow using the header file in assembly
code.
Change-Id: I7feb6c720e335c6d4baeac274a6f550cdfed7b78
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Removed the term _node from the document as requested.
Change-Id: I11e7f9fb217d6cc1026e81fb4702fa534de53874
Signed-off-by: Gerardo A. Aceves <gerardo.aceves@intel.com>
Removed the term _node from the documentation as requested.
Change-Id: I7fa42563f1fcc0631954a96c477af68ec56e7617
Signed-off-by: Gerardo A. Aceves <gerardo.aceves@intel.com>
This will allow adding an application level Kconfig, for example
mainmenu "Zephyr Application"
config ZEPHYR_BASE
string
option env="ZEPHYR_BASE"
config APPLICATION_BASE
string
option env="PROJECT_BASE"
source "$ZEPHYR_BASE/Kconfig.zephyr"
config TESTME
bool "Test me"
default y
config BLAH
bool "blah"
default y
source "$APPLICATION_BASE/src/Kconfig"
In the application file, add the following for example:
KBUILD_KCONFIG := $(PWD)/Kconfig
export KBUILD_KCONFIG
Change-Id: I7b7a6daace5f589ddadab0f0de54b5adc1b8dc86
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Current documentation is not working and also badly formatted.
Change-Id: I885bacf641a84f4963e832dd67f597762ab54542
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Remove references and make targets still referring to Linux
Documentation directory.
Change-Id: I6544e0ea9ae6c6c48158c89ed9bd61d73b1684fd
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
CONF_FILE was dropped leaving samples build with
default options.
Change-Id: Id1a3cb06f43052fb74ed9edcc2ea275b44d2b6b4
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Added static Console configuration for ia32_pci. IRQ and other
parameters might be received from PCI scanning but that needs to be
reworked with functions like IRQ_CONNECT_STATIC which requires fixed
static interrupt number. When this is fixed we use PCI dynamic
parameters.
Change-Id: I07c07f16fbac8f5de999f9cf8746eea0d453198b
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Added static Bluetooth configuration for ia32_pci. IRQ and other
parameters might be received from PCI scanning but that needs to be
reworked with functions like IRQ_CONNECT_STATIC which requires fixed
static interrupt number. When this is fixed we use PCI dynamic
parameters.
Change-Id: Iac0796fd3f78b92237999e40de5c3d563b2bc319
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
This commit fixes a linking error when disabling all serial drivers
and enabling PRINTK or STDOUT_CONSOLE.
Change-Id: I26414aea42776364ce01e090d533470d9569206b
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
The uart_devs in platform config files have been converted to pointers
to struct device. This change is missing in the simple UART driver.
Change-Id: I8107f9e78daeeb3878140506f51bbd0025fde05b
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Make them less confusing:
- new_alias: alias to be created
- real_func: the real function to create an alias of
- return_type: return type of the function
Change-Id: I1007b6b4c93c5ea9c817f72d0e68c0fb40e92190
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
tick_get(), tick_get_32() and cycle_get_32() APIs were missing for
fibers.
Change-Id: Ic03880714f9f83f57b5c0599bc04b680fabea533
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
The drivers provide _sys_clock_cycle_get(): moving the public APIs to
the drivers allow them to be aliases of it.
Change-Id: Ic5975a048f2b51f94510f0c3cd5e6ab3a8907718
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
These two were dropped during the conversion to Kbuild.
NOTE: THREAD_MONITOR was originally called CONTEXT_MONITOR.
Change-Id: Id17f51ee5848a9c9aea3cd3c5aa963492efdf4a8
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Also for ARC, rename context_wrapper.S to thread_entry_wrapper.S.
Change-Id: I83318ae352a688996f8436cf3252f6108ec23dc5
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Hopefully, this is the very last time a nanokernel object will have been
referred to by the 'channel' terminology.
Change-Id: Ied6243220803492af174571bfed328da007f2c5d
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Make these public:
- SECONDS(x): macro that gives the number of ticks in x seconds
- MSEC(x): macro that gives the number of ticks in x milliseconds
- MSEC_PER_SEC: number of milliseconds per second
- USEC_PER_MSEC: number of microseconds per millisecond
Change-Id: Ic5dbf9349651a477b066edb0c6b6721da2b7e5bb
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Somewhat useful utility that should only have one implementation, so it
can impede on the normally-available application namespace.
Change-Id: I085850177c231fdf58634f97e897c4d2e1a5cffb
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
The term 'context' is vague and overloaded. Its usage for 'an execution
context' is now referred as such, in both comments and some APIs' names.
When the execution context can only be a fiber or a task (i.e. not an
ISR), it is referred to as a 'thread', again in comments and everywhere
in the code.
APIs that had their names changed:
- nano_context_id_t is now nano_thread_id_t
- context_self_get() is now sys_thread_self_get()
- context_type_get() is now sys_execution_context_type_get()
- context_custom_data_set/get() are now
sys_thread_custom_data_set/get()
The 'context' prefix namespace does not have to be reserved by the
kernel anymore.
The Context Control Structure (CCS) data structure is now the Thread
Control Structure (TCS):
- struct ccs is now struct tcs
- tCCS is now tTCS
Change-Id: I7526a76c5b01e7c86333078e2d2e77c9feef5364
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
The comment did not convey anything, as it was a relic from before a
previous renaming. Use the SECONDS(x) macro to make everything clearer.
Change-Id: Ia757061c4083d7567df5b214326c2cf8b6804fbf
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
There is no concept of a "process" in the system, so remove last
mentions of that concept from free-form text (doc, comments, macro
parameter names).
Change-Id: Ic1b73371c448ed93b0db46bc9bb412d1e1dbc8bd
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Remove last remaining legacy naming of 'proc' from the kernel's symbols.
Change-Id: Ide4ff3d06a74c5e6178c01e62a719e81709935c2
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
This will allow renaming K_CREF.proc to 'task'. It also is really
representing a task ID, i.e. the value a user passes to microkernel
APIs.
Change-Id: If2dd3f1ed5ce93178acd4713ad5497e5b3e0401d
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
k_proc was a legacy leftover that does not make any sense, since there
is no concept of a "process" in the system. Rather, that data structure
refers to a 'task control block', i.e. the representation of a task
execution context from the microkernel's point-of-view (not to confuse
with the 'struct ccs', the representation of a thread execution context,
from the nanokernel's point-of-view).
Change-Id: Ic29db565af023be629ce740bbcb652ece7dc359f
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
When compiling with optimization level 0 (-O0), the linker complains
about missing references to uart functions. This is due to compiler
treating this functions as extern, since -O0 disables function inlining,
as described in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49653
So change the declaration to static inline.
Change-Id: I5963153dc1efd22083b6b91ae2b70c11d602c6c6
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Adds an example showing how to start a fiber from a task.
Change-Id: I5728d9b48650c60ab265924f436f78696849b915
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
When compiling with optimization level 0 (-O0), the linker complains
about missing references to uart functions. This is due to compiler
treating this functions as extern, since -O0 disables function inlining,
as described in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=49653
So change the declaration to static inline.
Change-Id: I59607cffbd1cae141a9eeaca699549ebf8203061
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
This commit allows kbuild to rebuild if the following environmental
variables change: KERNEL_TYPE, PLATFORM_CONFIG, ARCH.
Change-Id: Ibab0392b6eb362a5423bce149c013235b75d3140
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
Changes the names and file structure for all documentation collaboration
relevant content. Updates the cross-references and figures where
applicable. Content was changed as little as possible.
Change-Id: I8b3c59368fa288a43c87793bf731c7d8883df3ab
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
Changes the names and file structure for all communication relevant
content. Updates the cross-references and figures where applicable.
Content was changed as little as possible.
Change-Id: Icd19d2f17a9ab0f11373a0d8a175d8c95ac0f44b
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
The collaboration content files have been placed in three folders. One
for communication, one for code collaboration and one for documentation
collaboration. This change only moves and renames the files. The
cross-references and file paths within the files have NOT ben change.
That is comming on the next change.
Change-Id: Ic09a51878ab432561bc394a4464570cc51a28d69
Signed-off-by: Rodrigo Caballero <rodrigo.caballero.abraham@intel.com>
This commit fixes an issue with INIT_STACKS configuration option.
k_memset is substituted by the libc memset routine to initialize a
block of memory.
Change-Id: Ic3e286d0976f618110b2828f6da76417b868aef0
Signed-off-by: Juan Manuel Cruz <juan.m.cruz.alcaraz@linux.intel.com>
The configuration option documentation is autogenerated from
Kconfig files. This list right now applies only for x86.
Change-Id: Ibfc84324bb5e2206362d3bca6ab28aee0109f429
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The Kconfig option SYS_CLOCK_HW_CYCLES_PER_SEC for the basic_atom platform
configuration was mistakenly left at 900000000. That value was necessary
when basic_atom used the LOAPIC_TIMER, but as it now uses the HPET, it must
use 25000000.
Change-Id: If2735895edfe2f67905bf57e4008efbee50084f7
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
This converts away from camel case according to the coding style.
Also, the file description has been made into doxygen style.
Change-Id: Ib4dd85a4a96e4e87279c92fa243d3f860ebe63f2
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Converts the file description to doxygen format, and updates
the information inside. Also removes empty lines.
Change-Id: I3866843a31e30e1dd464b27cafc830900d8dce4f
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Clean up variables and function arguments to conform to coding style.
Also align the function argument list.
Change-Id: I49eff429bfa369c8a544d8171e35a41523995aa3
Signed-off-by: Daniel Leung <daniel.leung@intel.com>