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>
The CodeSourcery GCC toolchain is not supported.
Change-Id: If601398205f9effa2b90212225b207693ef59e58
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
VisualDSP is not supported. Furthermore, with the removal of the VisualDSP
comment, there is no longer any justification for the custom BENCH_MIN() macro.
Thus, it is simply replaced with min()--defined in "util.h".
Change-Id: I3c08add1fc9fcd98c388b843c5849fc71fa84fd3
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
The 'DataNode' field in the k_chproc structure is not used.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: If87a667953811772c918c12e1c03f8a5c6f7fafd
The 'srcnode' field in the moved_req structure is only relevant to multi-node
systems. Furthermore, with the absence of the 'srcnode' field, the routine
setup_movedata() requires one less parameter.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I00bbee2d78ef345a00399708215bd9e1ef5298d2
Since multi-node systems are not supported, the 'Srce' field now only serves
one purpose--to indicate whether the packet was allocated from the command
packet pool. As such, a better name (and type) for it is 'alloc' (of type
'bool') since 'Srce' (of type 'knode_t') suggest multi-node support.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I47a935af13fd55dbca23c879841d68caf895eae4
The 'destnode' field in the moved_req structure is only relevant to multi-
node systems. Furthermore, with the absence of the 'destnode' field,
the routine setup_movedata() requires one less parameter.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: Ib5deb1369730ccd42ba25d8352d2365d404f9ed3
The 'Dest' field in the 'k_args' structure is only relevant to
a multi-node system.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I6942f503af6ebadd62a2bf10b2a3bd0c81850bb8
Changes the definition of CMD_PKT_SIZE_IN_WORDS from a hard-coded value to
one that uses sizeof(). This makes the system less brittle should the size
of k_args change.
Change-Id: If9ccb7f2a2a6d13bcf62eea3b0cf52942db0071c
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Concepts such as local objects suggest the existence of remote objects,
which implies a multi-node system. Multi-node systems are not supported.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I0e6b1c34c35a0f68ad1ccfbf7d9c677ef8b8ae64
Fixes the level of indentation in the routine copypacket().
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: Id788a3a8ef211c9b75c67bd511fad4e624f58e5a
Reorders routines in movedata.c to eliminate the forward declarations.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I74bff9025f221d94688b51cef4cb7499ce61dd39
The concept of 'local' and 'remote' pools only applies to multi-node systems.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I747d28c845174ca36c9788b7412f6fe5cc71f3f7
The routine _task_mem_pool_move() is only relevant to a multi-node system.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I191e43f24aa56159a4c4669ff135beceade56284
The task_mem_pool_moveXXX() routines are only relevant to multi-node systems.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I575c32a74b158c8b9b6ac6e1baef7b0e4f988270
The routine _task_mem_pool_move() is only relevant to a multi-node system.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I1a97e2b87d29df7a1a63bcd6d8eea290382f3a7e
Removes references to 'local' CPU from IRQ locking/unlocking comments. On
a single node system, the CPU must by definition be local.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I56297f01db82a2ed798a7d6b5cabf4c04950d15e
Fix benchmark projects makefiles to use i8253 specific configuration
for only two variants of generic_pc BSP - pentium4 and minuteia, but
not for the whole BSP.
Change-Id: Iac89e29d2e26ee411d9c2d2fbcd3335c0e71fb06
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
Move time calculation macros from application directory to kernel
directory, since it is used by a kernel component.
In order to follow namespace and naming conventions, convert
macros to SYS_CLOCK_HW_CYCLES_TO_NS* form.
Change-Id: I96e9149c399adc363aed5095ae82a1abc78d2977
Signed-off-by: Dmitriy Korovkin <dmitriy.korovkin@windriver.com>
When the exact scheduling context is not known it's convenient not to
have to spell out the context in the name of the *_fiber_start()
function. All of the fiber starting APIs map to the same _FiberStart()
implementation, so all we have to do is to declare another alias for
it.
Change-Id: Ic6862383422f89ad7dc4f401e76d610826163bb9
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
When the exact scheduling context is not known it's convenient to have
a wrapper API that uses context_type_get() to call the right function
at runtime.
Change-Id: I02b2ac9039519468f5501571243426a6a57ffc4d
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
When the exact scheduling context is not known it's convenient to have
a wrapper API that uses context_type_get() to call the right function
at runtime.
Change-Id: Ie72a4b78d53f664575c1d9dfeace52b53d018850
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Now terminates process with an error message if there is a mismatch
between a keyword and the expected number of arguments that follow it.
Change-Id: Ib1902161937cae482e52be449c89789f8ff816a5
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
System generator now terminates with a non-zero exit code when
it detects an error, allowing the build system to detect the failure
and terminate the build.
Note: Sysgen only detects invalid keywords at this time. It would be
nice if it also detected other syntax and semantic errors.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Adds blank lines to kernel_main.c output file in places where
unrelated variables were juxtaposed. Also suppresses an unwanted
blank line that occurred when no project-specific events were
defined.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Makes the generation of kernel_main.c more consistent with the
generation of the other two output files.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
The routine that appends data to kernel_main.c no longer adds
a newline character, similar to what is done during the generation
of microkernel_objs.h and vxmicro.h.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Reworks output directory name processing so that it is invoked
at the bottom of the file, just like the rest of the program's
mainline. (It's previous location wasn't incorrect, but it could
be easily overlooked.)
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Relocates a handful of functions and global variables that were
located in places that were logically inconsistent with most other
functions and variables.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Adds, removes, and revises various comments to make it easier
to figure out what is going on.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Makes cosmetic changes to address all issues reported by
the pep8 Python programming style tool.
Note: All future changes to sysgen should be run against pep8
to ensure no new issues are introduced.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
The helper function _nano_start() is no longer required (due to the
recent relocation of boot banner and kernel build timestamp code),
so the kernel's initialization code calls _nano_fiber_swap() directly.
Change-Id: I06b9f473715afbfbdd4105b0def3445f1b2e3583
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Moves boot banner and kernel build timestamp code to the kernel's
main initialization routine, since it doesn't really belong in a
generic fiber-processing file.
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
The K_memcpyrpl() routine is not applicable to a single node system.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: Ia778a6fc43e390a6c0478d641c206d2423a93c27
The K_memcpyreq() routine is not applicable to a single node system.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I6cdc056f4575099a8838f0bcf32e87479295452d
The K_remreply() routine is not applicable to a single node system.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I0e99a9db077d5625c981ed219461efa7c955072e
Boot ports are not applicable to single node systems.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I3512a5a0e2a2ba35d4e73a00d8329d301f2bd637
The header file k_boot.h does not need everything that "k_types.h" drags in.
It only needs "stdint.h" for the uint32_t type. This has an immediate impact
on "flashboot.c" as it was improperly relying upon the extra items that
"k_boot.h" dragged in.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: Ib8bfbec52a1198846295d549091dc30bf041d97a
The file netload.c is for multi-node systems only.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I612ccb5552d7781f9a06e1b4db3dce97cf99f91a
"NODEx.c" is no longer used. The correct file is "kernel_main.c".
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
Change-Id: I62523b9181a446097ef3bd278553e097183ed307
Rename local variables to provide more clarity and improve readability:
- X -> task_ptr
- f_old -> old_state_bits
- f_new -> new_state_bits
- H -> task_queue
- Y -> cur_task
Add comments to clarify what this function actually does without needing
to open two additional files (include/microkernel/k_struct.h and
kernel/microkernel/core/global.c).
This function is called when a task needs to be marked as not runnable.
A task can be not runnable for a variety of reasons, which are tracked
in a bitmask defined in kernel/microkernel/include/minik.h.
Tasks that are runnable are stored in a global array, K_PrioList, that
contains a list for each task priority level. Tasks that have
transitioned to not being runnable will be removed from their priority
list by this function.
Change-Id: I07a1180e75e30cdef472c5f77638fc5971ddbaeb
Signed-off-by: Sarah Sharp <sarah.a.sharp@intel.com>
The file NODEx.c is obsolete; it has been replaced with kernel_main.c.
Even if it the comment contents were fixed, it would offer no value.
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>