zephyr/kernel/microkernel
Peter Mitsis ad71ba6fa1 Ensure k_args fields are properly aligned and packed
The size of the k_args strcture must be equivalent to ...
    CMD_PKT_SIZE_IN_WORDS * sizeof(uint32_t)

This is complicated by the fact that not only do different compilers treat the
size of 'bool' and 'enum' types differently, they may also pad structures
differently.  Both of these differences have direct impacts on the k_args
structure.  To work around this, the k_args fields 'alloc' and 'Comm' are
forcibly aligned to a 4-byte boundary, while the rest of the k_args structure
is packed.

Change-Id: I722f1a585e5e34a7a7218ed0b214b54fac6d39f7
Signed-off-by: Peter Mitsis <peter.mitsis@windriver.com>
2016-02-05 20:14:16 -05:00
..
include Ensure k_args fields are properly aligned and packed 2016-02-05 20:14:16 -05:00
cmdPkt.c Ensure k_args fields are properly aligned and packed 2016-02-05 20:14:16 -05:00
global.c Statically initialize _k_command_stack 2016-02-05 20:14:14 -05:00
idle.c Eliminate cputype.h and its arch-specific derivatives 2016-02-05 20:14:15 -05:00
k_event.c Eliminate exposure of non-public microkernel structures 2016-02-05 20:14:00 -05:00
k_irq.c Renaming include/nanokernel to include/arch 2016-02-05 20:14:12 -05:00
k_mbox.c Add missing #includes required to reference non-kernel APIs 2016-02-05 20:14:14 -05:00
k_memmap.c Eliminate exposure of non-public microkernel structures 2016-02-05 20:14:00 -05:00
k_mempool.c Fix coding style of control statements 2016-02-05 20:13:59 -05:00
k_mutex.c Eliminate obsolete coding convention comments 2016-02-05 20:14:14 -05:00
k_nop.c Eliminate exposure of non-public microkernel structures 2016-02-05 20:14:00 -05:00
k_offload.c Renaming K_offload to _k_offload_to_fiber 2016-02-05 20:13:48 -05:00
k_pipe_buffer.c Eliminate non-standard boolean type support 2016-02-05 20:14:14 -05:00
k_pipe_get.c Rename and relocate miscellaneous microkernel pipe files 2016-02-05 20:14:01 -05:00
k_pipe_put.c Eliminate non-standard boolean type support 2016-02-05 20:14:14 -05:00
k_pipe_util.c Eliminate references to k_memset() and k_memcpy() 2016-02-05 20:14:12 -05:00
k_pipe_xfer.c Add missing #includes required to reference non-kernel APIs 2016-02-05 20:14:14 -05:00
k_pipe.c Add missing #includes required to reference non-kernel APIs 2016-02-05 20:14:14 -05:00
k_queue.c Eliminate references to k_memset() and k_memcpy() 2016-02-05 20:14:12 -05:00
k_sema.c Eliminate obsolete coding convention comments 2016-02-05 20:14:14 -05:00
k_task.c Initialize stack area in _NewContext() 2016-02-05 20:14:14 -05:00
k_timer.c k_timer optimization: INVALID_OBJECT can not be returned 2016-02-05 20:14:13 -05:00
Kconfig Kbuild: Remove old API ksymbol disclaimer. 2016-02-05 20:14:10 -05:00
Makefile Use ccflags-y and asflags-y instead of EXTRA_CFLAGS 2016-02-05 20:14:14 -05:00
movedata.c Eliminate obsolete coding convention comments 2016-02-05 20:14:14 -05:00
server.c Refactor _Cget() to invoke _NanoFatalErrorHandler() 2016-02-05 20:14:13 -05:00
task_monitor.c Don't expose APIs for experimental task monitoring capability 2016-02-05 20:14:15 -05:00
ticker.c Renaming include/nanokernel to include/arch 2016-02-05 20:14:12 -05:00