Flags allow passing IRQ triggering option for x86 architecture.
Each platform defines flags for a particular device and then
device driver uses them when registers the interrupt handler.
The change in API means that device drivers and sample
applications need to use the new API.
IRQ triggering configuration is now handled by device drivers
by using flags passed to interrupt registering API:
IRQ_CONNECT_STATIC() or irq_connect()
Change-Id: Ibc4312ea2b4032a2efc5b913c6389f780a2a11d1
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
This commit fixes the nanokernel sample of the kernel event logger
that shows the event messages for context switch and interrupt events.
Change-Id: I4e972adb06b81f2f548bbabe8cd6577af633001c
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
exclude Minute-IA platforms from tests that enable CONFIG_FLOAT.
Change-Id: Id186857403cb73d009b6e9e126c4e240f95dbf1a
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Revises microkernel semaphore sub-system to allow ISRs and fibers
to give a semaphore without having to define a command packet set.
The microkernel server now supports a 3rd command type on its
command stack, allowing a semaphore to be given in a similar manner
to the one used for the existing "give event" command type.
Change-Id: Ibd7fb1a77949792f72acd20a9ee304d6eabd62f7
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
We are interested in supporting some XIP x86 platforms which are
unable to fetch CPU instructions from system RAM. This requires
refactoring our dynamic IRQ/exc code which currently synthesizes
assembly language instructions to create IRQ stubs on-the-fly.
Instead, a new approach is taken. Given that the configuration at
build time specifies the number of required stubs, use this
to generate a build time a set of tiny stub functions which simply
push a 'stub id' and then call common dynamic interrupt code.
The handler function and handler argument is saved in a table keyed by
this stub id.
CONFIG_EOI_HANDLER_SUPPORTED removed, the code hasn't been conditionally
compiled for some time and in all cases we call _loapic_eoi() when
finished with an interrupt.
Some other out-of-date verbiage in comments related to supporting
non-APIC removed.
Previously, when dynamic exceptions were created a pointer would
be passed in by the caller reserving ram for the stub code. Since
this is no longer feasible, two new Kconfig options have been added.
CONFIG_NUM_DYNAMIC_EXC_STUBS and CONFIG_NUM_DYNAMIC_EXC_NO_ERR_STUBS
control how many stubs are created for exceptions that push
an error code, and no error code, respectively.
SW Interrupts are no longer triggered by "int <vector>" hard-coded
assembly instructions. Instead this is done by sending a self-directed
inter-processor interrupt from the LOAPIC, using a new API
loapic_int_vect_trigger(). In this way we get rid of dynamically
generated code in irq_test_common.h.
All interrupts call _loapic_eoi() when finished, since this is now
the right thing to do for all IRQs, including SW interrupts.
_irq_handler_set() for x86 no longer requires the old function pointer
to be supplied.
Change-Id: I78993d3d00dd153c9051c518b417cce8d3acee9e
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
In order to have a name according to the functionality of the feature.
This commit rename any text, function and variable related with the
Profiler name to Event logger.
Change-Id: I4f612cbc7c37965c35a64f06cc3ce5e3249d90e5
Signed-off-by: Yonattan Louise <yonattan.a.louise.mendoza@intel.com>
Networking code is in net directory in other parts of the
code base so rename network -> net in samples/microkernel/apps
directory.
Change-Id: Ic89d4616a28b4079f90351938f9798c7bf61ce05
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Add sanity test related changes to test_15_4 application in both
micro and nano kernel. config_whitelist in testcase.ini is not
accepting other than PLATFORM configs. So creating test folder
for sanity tests. src directory is still common for all.
Change-Id: Iffa4c588500367fa475aef8e0772f1c08946c5a4
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Add support for CONFIG_NET_15_4_LOOPBACK_NUM in test_15_4 application.
Change-Id: I57246f9db587f492cddc0d0be607b1ae4a78fbf7
Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
This patch adds a NET_INTF makefile configuration option to the
echo_server sample application to allow Ethernet support to be enabled
by specifying NET_INTF=ethernet. It currently includes specific
support for the Ethernet device in the Intel Galileo.
Change-Id: I6b605db32d2d8a4259fc003724b2daa11c9a26d9
Signed-off-by: Michael LeMay <michael.lemay@intel.com>
The \NOMANUAL tag is a remnant from days of yore and is no longer
needed or useful. Cleaning up the code references to this.
Change-Id: I1b8cc9c9560d1dbb711f05fa63fd23386789875c
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
This patch enables defining microkernel events within source code.
This is similar to other private kernel object patches.
The test has been modified a little bit due to the fact that
the event ID is now a memory address, instead of numeric ID.
Change-Id: Ie3c8d4f4e459d9c631e50bb242cf7a05ca8ea82c
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Cleanup header inclusion and only include zephyr.h in samples
and applications.
Change-Id: If7460f4c6305a1c1cfcfdcf6a9bb7423f410c5c6
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Updates the 'gen_idt' tool to generate a mapping of IRQ numbers to
interrupt vector IDs, thereby allowing the IRQ priority to be utilized
when statically connecting an interrupt.
Change-Id: I2e54ceb65145682820dfbd8ca1ee6ec68d71ce1a
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I2f28a4dd2b1b372905638cbccdf987396999d7ec
Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Only driver specific public headers should be found in include/drivers.
All generic API are found in include/ directory.
Change-Id: Ic50931987bb9460fd4a3843abc6f5de107faf045
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Reworks the internal design of a command packet set so that
the command packet array is split out into a separate variable
lying in uninitialized memory. This shrinks the command packet's
data section footprint to almost nothing.
Note: A side effect of this change is that it is no longer possible
to define a command packet set as a "static" variable since the
CMD_PKT_SET_INSTANCE() macro now generates two variables.
Change-Id: I9c7ebe637edf879758589ff4a26ace1303790bf7
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
This test fails with exception debug enabled. Make sanity pass again
while we debug this issue.
Change-Id: I0df279d2ec2f8fb29c30d25ec0d05da18e929964
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Change all the Intel and Wind River code license from BSD-3 to Apache 2.
Change-Id: Id8be2c1c161a06ea8a0b9f38e17660e11dbb384b
Signed-off-by: Javier B Perez Hernandez <javier.b.perez.hernandez@linux.intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
Adds two new fields to the ISR_LIST structure (irq and priority) to allow
the decoupling of the vector ID and priority from the IRQ number at some
future time.
As a result of the addition of these two new fields, the gen_idt tool is
modified to both process these new fields as well as validate them.
Change-Id: I343dac68d99c78168a25b19784140f85d5db7578
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
The galileo minimal footprint project requires at least 53 IDT entries
to accommodate the HPET. This is due to the current algorithm used to
map an IRQ number to an interrupt vector.
Interrupt vector = IRQ number + 0x20
Change-Id: I6de2cd72da631af04237615082823e7de65d8b22
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
This test takes too long to run, do not run it on multiple
platforms of the same architecture.
Change-Id: I3f121cfd22b99f3910fcbb9ef45a53b0abf79360
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Bad things happen if an SW IRQ is asserted before it is initialized.
Change-Id: I4ad48480c4d7bb5fc14d778d2566d73086300fa1
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
If the other tasks try to trigger a SW IRQ before MONITORTASK
has initilized it, the CPU generates an exception.
Change-Id: Id2745d728a7cf15132096585c073f85f8306cb38
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This application can be used to list the PCI devices through the
console.
Change-Id: I3409ab9025b1f18a42b4cdd594fb095ebeac96f3
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Remove the hard dependencies on EXPERIMENTAL symbol. Mark all the
symbols the relied on EXPERIMENTAL as EXPERIMENTAL in their prompt
Change-Id: I2779b0ed0776b3d510a8e2e44b35b83d7ad2377c
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This avoids the case where the system has multiple threads using
floating point and the threads were not properly configured to use
floating point. The misconfigured threads will only take the fault on
first use of a floating point instruction.
Change-Id: I2be9f9f145bc4e7659e07154021ccc237774897b
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The default for all architectures for ENHANCED_SECURITY is 'no' now
remove redundant config option.
Change-Id: Ib49b0bc7ea02aa2214fe45194393def8e021be01
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
The default for all architecures for ENHANCED_SECURITY is no remove
redundant config from arm project configs
Change-Id: I3915da20e0ee8298d69865ad5b07f9d5c6d59200
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
ENHANCED_SECURITY is being used to enable security options the
projects that require security options explicitly enable these options
the dependency is not required.
Change-Id: Iec96e32bd7a5faa78672d355aad368f48b0ee087
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Change the default for ENHANCED_SECURITY to no in preparation for the
option to be removed.
Change-Id: Ic46730b187f361226064a3e205f48433b0bebdd7
Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
Sample code for crypto library was duplicated and run twice.
Make the samples/crypto/ directory the contain of the source
and add the test logic and makefiles to the samples/microkernel/tests
referencing the source in samples/crypto.
Change-Id: I74d34de9351642fc4508e6bedd65e9b34676b01e
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
minimal footprint disable timer and galileo requires a timer
Change-Id: I75c08775fd02bae1221ae4102bb9873060c8e85f
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
Instead of multiple make options etc. the test are now run
directly from make. User does not need to know various command
line options for setting up pipes.
Change-Id: I62a56aec75c55b970b246051dccdbf458389ab8d
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Separate RX and TX buffer count was not set in example
applications prj files.
Change-Id: If48824e894bced3134391dae651f5997820de2c1
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The CoAP test server runs in Zephyr and it receives CoAP messages
sent by coap client. The server can receive both plain or DTLS
encrypted CoAP messages. The server has various resource plugins
available but currently activates only three that are needed
by coap-client tester.
Change-Id: I6465a3a057eaf8b412699bba57bf7213548f0377
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
The dtls-client app will run in Zephyr and will send network
packets to host process (dtls-server) via SLIP.
Change-Id: I51e3424193e6a7169d9921ba56466bb0c0c0d4d1
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
This options does not exist anymore, no need to carry it
here.
Change-Id: I0bcafe2ff959dbc2e0fcc3f9481b65c43ea64f14
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
The event portion of the app_kernel benchmark no longer outputs the following
(abbreviated) error message:
<path to project>/app_kernel/src/event_b.c:86 Error: tick occurred
This error was occurring as the benchmark test had hard-coded the value of
the event TEST_EVENT to 0 instead of defining it in the prj.mdef file.
Consequently, the system was using event 0 for the tick event; every time
task_event_send(TEST_EVENT) was invoked, the system treated it as a tick event.
Change-Id: I1a785a6594415bd4b0300d382f76a6d768641864
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Other apps are being compile-tested, do this here too.
Change-Id: Ibbe9e765757564e974233c1410bac320ae7a8a68
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
The profiler now uses the generic ring buffer. The dropped event
count is stored in the ring buffer's value field. The data size only
refers to the extra data attached to the message and NOT any internal
representation of metadata inside the ring buffer, the event_logger
APIs now pass this information along in dedicated parameters.
Change-Id: I1f168e6a05e8d937bf86b2a4cccecbb04b0118c6
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Add interrupt and sleep event data to the profiler sample.
Change-Id: Ie5d3c4201475824eaf833bef506140279a6c606d
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>