[RFC] Sensor API
Vlad Dogaru <vlad.dogaru@...>
Hi everyone,
I have uploaded a new iteration of the sensor API patches to Gerrit, you can find them at [1]. We hope to address some of the concerns regarding memory consumption of sensor drivers. For the moment, I have only converted one driver to the new infrastructure, as I would like to get early feedback on the direction the API is evolving. The major change since the previous version is the handling of sensor triggers. Previously, we operated under the assumption that each driver that supported interrupts would create its own fiber to which it would defer bus traffic (since it can't touch I2C or SPI in an ISR). In this new iteration, the user is given a choice via Kconfig of the following three approaches: (1) Driver does not support triggering. No fiber is created. (2) Driver supports triggering, but uses a system-wide fiber to defer bus traffic. Multiple drivers can choose this approach, meaning they only pay the cost of the one fiber. (3) Driver supports triggering and creates its own fiber for bus traffic. This ensures the best response time, but uses more memory if multiple drivers choose to go with this option. The last patch of the series [2] is an example of how to add support for cases (2) and (3) if the initial driver only supports triggerless operation. There are more drivers available in the sensors topic on Gerrit [3], but they have not been converted to this newest iteration of the API. If the response to this RFC is positive, we will convert them to the three option approach detailed above. Finally, please be aware that this is still an RFC; at the very least, the final API will need documentation for standard units for each type of channel and magnetometer channel types. [1] https://gerrit.zephyrproject.org/r/487 https://gerrit.zephyrproject.org/r/488 https://gerrit.zephyrproject.org/r/489 https://gerrit.zephyrproject.org/r/490 [2] https://gerrit.zephyrproject.org/r/541 [3] https://gerrit.zephyrproject.org/r/#/q/topic:sensors Regards, Vlad
|
|
Re: STM32F103x port
Maciek Borzecki <maciek.borzecki@...>
I'm sure all of you already got their emails with incoming review
request. For others who might be interested as well, I've posted a series of patches to gerrit: https://gerrit.zephyrproject.org/r/645 st_stm32/stm32f1: introduce STM32F1x SoC family https://gerrit.zephyrproject.org/r/646 clock_control/Kconfig: Quark should depend on CLOCK_CONTROL https://gerrit.zephyrproject.org/r/647 clock_control/stm32f10x: introduce new driver for STM32F10x RCC https://gerrit.zephyrproject.org/r/648 soc/stm32f1: add GPIO registers mapping https://gerrit.zephyrproject.org/r/649 pinmux/stm32f10x: add driver for STM32F1 pinmux https://gerrit.zephyrproject.org/r/650 serial/stm32f10x: add new driver for STM32F10x UART https://gerrit.zephyrproject.org/r/651 gpio/stm32f10x: add new driver for STM32F10x GPIO https://gerrit.zephyrproject.org/r/652 boards/stm32_mini_a15: add new board https://gerrit.zephyrproject.org/r/653 samples/disco: add 'disco' sample program -- Maciek Borzecki
|
|
Re: RFC: Counter driver API
Tomasz Bursztyka
Hi Andre,
I missed the idea that DEV_* will anyway be mapped to errno, so keepYes, we'll move to errno codes any time soon. I'd prefer we go with the* @brief Start counter device.Looks like we are moving to Posix error codes, so it would be wise to do DEV_* yes. Actually, follow Jesus's comment. counter_set_alarm() should not starThis is a better comment./**Set an alarm callback. If the counter was not started yet, this will do the counter. If you are using 1 alarm at all time, then don't add counter_unset_alarm()What about (let me know if I am wrong, hw feature wise) resetting an alarm?API-wise, I think it makes sense we have the counter_unset_alarm. I'm just User could just use counter_set_alarm() with a NULL pointer as a callback Tomasz
|
|
Re: RFC: Counter driver API
Andre Guedes <andre.guedes@...>
Hi Jesus,
Quoting Jesus Sanchez-Palencia (2016-03-03 09:52:43) I don't think DEV_NO_SUPPORT will be ever returned by the counter_start APIProbably better here to:/** since this is a very basic API and all counter must support it. Anyways, I think we should list in the documentation all the return codes a given API can return instead of simply saying DEV_*. +1.Looks like we are moving to Posix error codes, so it would be wise to doIt's still not clear if the change will go straight to Posix errors or I'm fine with we have 2 API calls (counter_start and counter_set_alarm)./**Set an alarm callback. If the counter was not started yet, this will do Regards, Andre
|
|
Re: RFC: Counter driver API
Andre Guedes <andre.guedes@...>
Hi Tomasz,
Quoting Tomasz Bursztyka (2016-03-03 05:24:12) Yes, we'll move to errno codes any time soon. I'd prefer we go with the/**Looks like we are moving to Posix error codes, so it would be wise to do current error code convention (DEV_*) at the moment and fix all drivers at once in the 'errno patchset'. This is a better comment./**Set an alarm callback. If the counter was not started yet, this will do What about (let me know if I am wrong, hw feature wise) resetting an alarm?API-wise, I think it makes sense we have the counter_unset_alarm. I'm just wondering if the counter_stop API does cover the use case. I mean, counter_stop stops the counter so the alarm won't be fired. Now question is: would it be enough to have 1 alarm set a time, or couldATM, I'd say we should go with one alarm set a time. For such functionality you described, I think the user probably wants to use a system-wide timer, such as the system timer, instead. Bare in mind that this is a driver API and some platforms may not have any counter available. +1. Yes, this is a good idea indeed.*Sound fine, but please create a typedef for the callback, a bit more Thanks for your feedback, Andre
|
|
Re: RFC: Counter driver API
Jesus Sanchez-Palencia <jesus.sanchez-palencia@...>
Aloha,
On Thu, 3 Mar 2016 09:24:12 +0100 Tomasz Bursztyka <tomasz.bursztyka(a)linux.intel.com> wrote: Hi Andre,Probably better here to:/** @retval DEV_NO_SUPPORT if the device doesn't support starting the counter (e.g. free running counters). It's still not clear if the change will go straight to Posix errors or if the transition through DEV_* will happen first. We can't mix both. Probably better here to:*/ @retval DEV_NO_SUPPORT if the device doesn't support stopping the counter (e.g. free running counters). */Set an alarm callback. If the counter was not started yet, this will do In general having an API that does 2 things is not a good idea. An API called 'counter_set_alarm' should do only that, IMO. I'd rather have 2 API calls for that (set and start), but if we really want it to do both, then maybe better calling it counter_init_alarm(..., int count); ?! thanks, jesus
|
|
Re: [RFC] GPIO API changes
Tomasz Bursztyka
Hi Johan,
I fully agree on that. It saves a pointer in case the user does not want1) Let's add a user data pointer parameter to the callback:A perhaps slightly more compact solution (and a pattern I see a log e.g. to access any private data, and thus leaves space for adding pin mask in the struct. Tomasz
|
|
Re: [RFC] GPIO API changes
Hi Tomasz,
On Thu, Mar 03, 2016, Tomasz Bursztyka wrote: 1) Let's add a user data pointer parameter to the callback:A perhaps slightly more compact solution (and a pattern I see a log e.g. in Linux) is to take advantage of CONTAINER_OF. You'd first drop user_data from the gpio_callback and pass the original struct to the callback: struct gpio_callback { void (*func)(struct device *port, struct gpio_callback *cb, uint32_t pin); struct gpio_callback *_next; } Then users of the API could just use this struct directly, or if they need "user data" they can define their own structs that embed the gpio one: struct my_struct { ... struct gpio_callback cb; ... }; void my_func(struct device *port, struct gpio_callback *cb, uint32_t pins) { struct my_struct *data = CONTAINER_OF(cb, struct my_struct, cb); } { struct my_struct s; GPIO_INIT_CB(&s.cb, my_func); gpio_set_callback(port, &s.cb); } Johan
|
|
[RFC] GPIO API changes
Tomasz Bursztyka
Hi,
I would like to propose some changes to the public GPIO API. Addressing major 2 issues which I faced while writing some code using the API. And an third one, related to the consistency of the API. API issues: ========== 1) the callback might need to know about the context: Let's say you have a driver which sets a gpio callback. As soon as there is 2 instances of this driver, it won't be able to tell which instance does that callback call belongs to (unless keeping book about which gpio port/pin relates to which inner instance which is ugly) 2) 2+ different sub-system might need to set a callback: One sub-system might be interested to get notified when pin X generated an interrupt, when another would be interested by pin Y. 3) Currently, you can set either a callback for the whole port or per-pin. The major difference is found in how callback is called: -> port callback: the pin parameter of the callback is a bitfield, each bit telling which pin generated and int. -> pin callback: the pin parameter is the pin number and not anymore a bit in a bitfield. API changes: =========== 1) Let's add a user data pointer parameter to the callback: typedef void (*gpio_callback_t)(struct device *port, uint32_t pin, void *user_data); gpio_set_callback() would then require a void *user_data parameter as well. 2) The callback would not be only a function, but a structure in order to be able to manage a simple linked-list of callbacks. Johan had a good input on that one, as he and bt team have done that in the BT stack. Instead of a function pointer you would pass a pointer of: struct gpio_callback { void (*func)(struct device *port, uint32_t pin, void *user_data); void *user_data; struct gpio_callback *_next; } This avoid to manage any memory slots in the driver. All would be statically allowed. Also, being a generic list, the code could be centralized in a private header in drivers/gpio thus we would not have to re-implement such management in every driver. 3) I would like to normalize that: uint32_t pin would becomes uint32_t pins and it would be always a bitfield. Then instead of: -> port cb: if (pin & BIT(the_pin_to_look_up)) { ... } and -> pin cb: if (pin == the_pin_to_look_up) { ... } We would end up with a unique way of handling such parameter in the callback: if (pin & BIT(the_pin_to_look_up)) { ... } Another idea: ============ Having multiple callback, I see one issue: it's up to the callback to filter out which pins it's interested in. I mean, when setting a callback nothing tells which pins it's meant for. Once you enabled pin X, Y or Z to generate interrupts, all callbacks will be called whatever pin is generating an interrupt. If you have a callback interested by pin X and Y but not Z, it will be called for the 3 of them. It's not a big issue on the callback side since it will most likely filter on X or Y this way: if (pins & BIT(pin_X) { ... } else if (pins & BIT(pin_y)) { ... } So we could add a pin mask in the struct gpio_callback: uint32_t pin_mask. That one would be used in gpio driver ISR handler to filter which callback is relevant to call. I see 2 advantages: - less callback calls, only relevant ones (gpio int are then handled in a quicker way also) - it would be a tiny bit more simple to filter out pins in the callback: instead of the last "else if", you would just get a "else". It's not much but still. The drawback is it bloats a bit more the struct gpio_callback. However, on complex hw setup, with different sub-system being interested by the same gpio port and different pins, this could make thing performing better. The less we stay in an ISR context, the better. From API functions point of view, I want to keep most of it as it is, only parameters will change a bit. For instance I still want a unique gpio_set_callback() function. I still think it's relevant to keep gpio_pin_<enable/disable>_callback() no matter what pins are the callback interested in. Same for gpi_port_enable_callback(). Finally, only the gpio_callback_t type will change. I still have to figure out how to keep the old API behavior, probably through Kconfig option. It would be either/or, not both. Or should it enable old behavior always? Tomasz
|
|
Re: RFC: Counter driver API
Tomasz Bursztyka
Hi Andre,
/**Looks like we are moving to Posix error codes, so it would be wise to do it here as well. (better now than after the API is upstream). Apply that to all. */Set an alarm callback. If the counter was not started yet, this will do it automatically (no need to call counter_start()). What about (let me know if I am wrong, hw feature wise) resetting an alarm? Currently, it set set it, and nothing cannot stop it. So we may want a counter_unset_alarm() ? Now question is: would it be enough to have 1 alarm set a time, or could it be interesting to link alarms? (so different subsystem could use set an alarm) *Sound fine, but please create a typedef for the callback, a bit more developed: typedef void (*counter_callback_t)(struct device *dev, void *user_data) Then: - make count as an uint32_t - and add a void *user_data pointer as well. Tomasz
|
|
Newbie wants to contribute
Himanshu Maurya <himanshumaurya2214225@...>
Hello zephyr team!!!
I am Himanshu, I am junior undergrad at Indian Institute of Information Technology Design & Manufacturing Jabalpur . I have been looking for an opportunity for working in an OS project and Zephyr give is the perfect opportunity. Here's my profile for reference: in.linkedin.com/in/lordzuko <https://t.co/1wOpFLZe0u> Can you tell me where I can contribute to the project or some prerequisites. Any help would be appreciated. Hope to hear from you!!! Cheers!!!! Himanshu (lordzuko )
|
|
Zephyr 1.1.0-rc1 tagged
Nashif, Anas
Hi,
After resolving some issues with git and a slight delay, here is the first release candidate for Zephyr v1.1.0. Below you will find all the changes since v1.0.0. A summary of the changes since v1.0.0 will be provided in the final v1.1.0 release. Thanks, Anas Aceves (3): doc: Edit the heading markup doc: Edit the microkernel FIFO doc: Edit microkernel mailbox Anas Nashif (55): trivial: fixed typo: sempahores -> semaphores doxygen: enable uart functions guarded by ifdef doc: add brief description for Kconfig in the reference doc: simplify supported board page doc: create api directory doc: fixed include path for input directories scan for testcases in root to cover samples and tests sanitychecks: add new keyword 'kernel' to testcase.ini tests: move crypto tests to tests/crypto tests: move bluetooth tests to tests/ tests: move kernel tests to tests/ tests: move aio and i2c driver build tests move include directory for tests cases to tests/ move sample apps to top level directory under samples/ move net/buf test under tests/ nfc: move sample app under samples/nfc move driver samples to samples/drivers tests: remove redundant build tests test_task: only microkernel version exist test_task_irq: only microkernel version exist test_task_priv: only microkernel version exist test_ring_buf: only nanokernel version exist test_rand32: only microkernel version exist tests: test_fifo: unify nano and micro tests into one directory move benchmark applications to tests/benchmark/ net: apps: Move net samples to one directory instead of per kernel doc: fix path to samples after restructering net: remove obsolete 15.4 test case remove redundant checking for CONFIG_STACK_CANARIES sanitychecks: update releas data after restructuring samples: move bluetooth shell/init to tests docs: Update information about tree structure docs: fixed lists and indent for galileo docs: fixed lists and indent for arduino_due docs: fixed feature lists for quark_d2000_crb docs: fixed indentation in gerrit practices docs: fixed lists and indent for arduino_101 docs: doxygen: group driver APIs docs: fixed API linking improve 'make help' and remove config targets Use .zephyrrc for initializing common variables boards: remove obsolete CTB board remove old and obsolete file checkpatch: update checkpatch to latest from upstream checkpatch: fix SPACE false positive docs: gerrit: fix indentation and structure docs: fix typo and table in collaboration guidelines docs: fixed crypto headline and bullet indentation docs: fix note indentation for arduino101 board docs: fixed errors when building docs docs: gerrit: descrease indentation and remove TOC docs: arduino 101: remove zflash references rtc: enable clock-gating for RTC on Quark SE device: add missing license header Zephyr 1.1.0-rc1 Andre Guedes (18): samples: Add i2c_lsm9ds0 application qmsi: Enable both I2C controllers by default i2c: Enable QMSI driver for Quark D2000 rtc: Set DW driver as default for Quark SE and D2000 watchdog: Set DW driver as default for Quark SE and D2000 samples: rtc: Remove driver selection gpio: Enable QMSI driver for Quark D2000 samples: gpio: Add support for Quark D2000 samples: rtc: Decrease alarm timeout value samples: gpio: Remove driver selection rtc: Remove default value from platform-specific options watchdog: Remove default value from platform-specific options samples: watchdog: Remove driver selection spi: Enable QMSI driver for Quark D2000 samples: Add wiring info for Quark D2000 CRB gpio: Remove default value from platform-specific options spi: Remove default value from platform-specific options i2c: Remove default value from platform-specific options Andrei Emeltchenko (38): Bluetooth: trivial: Remove empty line drivers/nble: Add conn handle debug logs drivers/nble: debug: Remove extensive debug drivers/nble: Add BLUETOOTH_MAX_CONN option drivers/nble: Add basic connection handling support drivers/nble: Add configuration for device manager drivers/nble: Update RPC to Nordic chip drivers/nble: Add debug for SM config response drivers/nble: Clean NBLE UART driver drivers/nble: Use rsp instead of par drivers/nble: Read local Bluetooth Address drivers/nble: Print local Bluetooth address drivers/nble: Update data types following RPC sync drivers/nble: Add Kconfig option to debug UART driver drivers/nble: Enable UART debug only if BLUETOOTH_DEBUG_DRIVER enabled Bluetooth: Fix checking wrong variable Bluetooth: Add missing print format specifier drivers/nble: Change RPC following firmware update drivers/nble: Update headers following new 0215 fw release drivers/nble: Fix passing uninitialized callback drivers/nble: Fix use of uninitialized status drivers/nble: Fix use of uninitialized data drivers/nble: Use weak function definitions drivers/nble: gatt: Implement bt_gatt_discover() drivers/nble: Remove not used version_header struct drivers/nble: Clean up nble headers drivers/nble: Update connect request parameters drivers/nble: Implement bt_conn_create_le() drivers/nble: Implement client scanning drivers/nble: Decrease shell debug drivers/nble: Enable NBLE GAP debug drivers/nble: Add debug option for Nordic RPC drivers/nble: Add connection states drivers/nble: Implement bt_conn_disconnect() drivers/nble: Cancel connect req when receiving disconnect cmd drivers/nble: Fix function name drivers/nble: Store GATT discover parameters drivers/nble: Export bt_conn_lookup_handle() Andrew Boie (11): iamcu: fix dynamic exceptions device: add DEVICE_DECLARE() x86: rebase priority levels x86: intconnect: convert some DEBUG to __ASSERT ARM: rebase available priority levels to 0 x86: fix IDT entry definition x86: add debug function to dump IDT sanitycheck: add testcase.ini field for slow tests sanitycheck: correctly treat linker warnings as errors sanitycheck: use Python 3 irq: formalize external zephyr interrupt API Andrew Grimberg (1): Add a .gitreview file Arkadiusz Lichwa (12): Bluetooth: BR/EDR: Track 16 digits PIN code Bluetooth: BR/EDR: Add user I/O context during pairing Bluetooth: BR/EDR: Move part of BR/EDR core code up Bluetooth: BR/EDR: Validate security on connection complete evt Bluetooth: BR/EDR: Validate security on encryption change evt Bluetooth: BR/EDR: Validate security on encryption key refresh evt Bluetooth: BR/EDR: Rename local variable Bluetooth: BR/EDR: Enable SSP mode in controller Bluetooth: BR/EDR: Handle IO Capability Response event Bluetooth: BR/EDR: Initial IO Capability reply to remote Bluetooth: BR/EDR: Add initial SSP Complete Bluetooth: BR/EDR: Add HCI SSP exchange IO Capa defines Baohong Liu (1): samples: A test app for WinBond spi flash Benjamin Walsh (14): device: fibers/idle task must wait when acquiring device_sync object sys_clock: start the microkernel ticker in the MICROKERNEL init level device: fix race condition in device_sync if ISR runs before thread waits kbuild: support arbitrary dir for Makefile.app sys_clock/microkernel: do not announce ticks until microkernel is up Revert "sys_clock: start the microkernel ticker in the MICROKERNEL init level" x1000/pci: fix coding standards pci: trivial if statement refactoring kernel: have _nano_timeout_abort() return an error code kernel: record when a fiber is removed from a wait queue kernel: fix xxx_fiber_wakeup() if the timeout has expired kernel: add fiber_wakeup() x86: move reboot via RST_CNT from galileo to generic x86 add missing license to zephyr-env.sh Constanza Heath (1): Updating TinyCrypt v2.0 documentation. Dan Kalowsky (22): struct packing adc: dw: there is only one ADC adc : ti : only one instance adc : rename device to just ADC samples : adc : fix build issues nanokernel : clean up comments spi : moving to a single SPI naming samples : incorrectly addressing SPI port correcting issues identified by coverity docs : arduino_101 rom needs to be in correct location docs : arduino 101 doc update docs : arduino_101 : fix build command docs : arduino_101 : build steps are incorrect docs : setting_up : allow anonymous downloads docs : setting up LF account docs : gerrit_accounts : correct ssh key path doc : remove \ from wget command docs : arduino_101 : pins start at 1 doc : arduino_101 : Adding in step to power on device doc : getting_started : wget no longer needs userid doc : arduino_101 : add in udev rules doc : getting_started : correct path Daniel Leung (12): arm/atmel_sam3: add PDC register struct boards/arduino_due: enable both I2C controllers if CONFIG_I2C=y i2c: adds driver for Atmel SAM3 doc/boards: updates arduino_due for supported features... samples/footprint-min: turn off IPM for ARC samples: test_tickless: enable test for Atmel SAM3 sanitycheck: enable build tests for Arduino Due i2c: clarify API doc gpio: clarify API doc x86/quark_se: don't start ARC if reset vector is NULL arc: remove defaults for IRQ priority levels doc: arduino_due: make more visible on how to obtain bossa tool Genaro Saucedo Tejada (1): doc: Linux Foundation registration steps Gerardo Aceves (4): doc: Edit nanokernel API doc: Edit functions.rst doc: Edit defines.rst file doc: Edit structs.rst file Ido Yariv (1): QEMU: Fix the pin2irq translation function Iván Briano (3): net: Include only the necessary headers quark_se_devboard: Enable the PWM pins libc-hooks: Make newlib's heap size configurable Javier B Perez (2): doc: getting started: update SDK location doc: install linux: update SDK wget link Jennifer Marandola (1): doc: Doc updates for C++ feature with updates from code review. Jesus Sanchez-Palencia (1): cc2520: Parametrize driver configs Jithu Joseph (1): libc-hooks: newlib's heap may use entire unused RAM Johan Hedberg (41): drivers/console: Fix writing out carriage return on all terminals Bluetooth: samples: Add dedicated Heartrate peripheral sample app drivers/nble: Adjust max conn count to something more realistic drivers/nble: Remove unnecessary bt_conn_add_le function Bluetooth: Move address helper functions to hci.h drivers/nble: Implement bt_conn_lookup_addr_le drivers/nble: Clarify connection reference counting drivers/nble: Implement bt_conn_get_info and bt_conn_get_dst drivers/nble: Add initial implementation of connection callbacks Bluetooth: samples/peripheral_hr: Add adv-restart hack for nble drivers/nble: Pass correct handle in bt_gatt_notify Bluetooth: samples/peripheral_hr: Pass explicit connection to bt_gatt_notify Bluetooth: samples/peripheral_hr: Add "Zephyr" to device name net: buf: Add convenience API for adding 8-bit integers drivers/nble: Convert RPC serialization code to use net_buf drivers/nble: Clean up & simplify IPC UART encoding Bluetooth: Add connection role to bt_conn_info Bluetooth: Add HCI defines for common 1-byte values Bluetooth: Take advantage of the new net_buf_add_u8() helper Bluetooth: samples: Move init and shell to tests drivers/nble: Make UART reading more robust Bluetooth: Kconfig: Introduce BLUETOOTH_RX_STACK_SIZE net: buf: Add net_buf_pull_u8() helper API drivers/nble: Convert RPC deserialization to use net_buf drivers/nble: Add proper boundary checks for function tables Bluetooth: Take advantage of the new net_buf_pull_u8() helper drivers/nble: Take advantage of the new net_buf_pull_u8() helper drivers/nble: Track all connection parameters drivers/nble: Export local address for bt_conn_get_info() drivers/nble: Kconfig: Add a note about ABI requirements Bluetooth: samples/beacon: Advertize http://www.zephyrproject.org Bluetooth: Rename att.h to att_internal.h Bluetooth: Add public att.h header file Bluetooth: ATT: Add Common Profile Error Codes Bluetooth: GATT: Expose ATT error codes to application callbacks Bluetooth: GATT: Provide documentation for the attribute callbacks Bluetooth: Use BIT() macro wherever possible Bluetooth: GATT: Fix error response to bt_gatt_attr_read() drivers/nble: Fix GATT error response values libc: Add definition for ssize_t Bluetooth: Change GATT callback return values to ssize_t Juan Manuel Cruz (10): adc: adjustments to dummy read adc: fixes unexpected error with interrupt handler logger: removes old task monitor structures. logger: removes TASK_MONITOR_CAPACITY symbol logger: updates logger sample to include task monitor events doc: adds the task monitor documentation logger: include task monitor in kernel event logger kconfig: adapt kconfig to work with mingw build: changes order in which paths are added to $PATH doc: installation instructions for windows Jukka Rissanen (32): net: Print thread pointer in debug prints net: Initialize Contiki vars related to L2 buffer mgmt cc2520: packetbuf attributes were set using wrong pointer net: Increase the 802.15.4 TX stack to 4096 bytes net: Allow user to tweak IP fibers stack sizes from Kconfig net: Allow user to tweak 802.15.4 fibers stack sizes from Kconfig cc2520: Move the device init to application level net: apps: Remove obsolete listener application net: apps: Make CoAP server to accept different bearer config net: apps: Make sure CoAP server works with IPv6 ND cc2520: Ignore received bogus packets silently net: contiki: If outgoing packet is dropped then print more info net: apps: Disable multicast sending in echo-client net: apps: Resend failed message once in echo-client cc2520: Busywait max 500ms before trying to send another packet net: apps: Fix style issue net: apps: Use IPv6 link local addresses in network apps net: apps: Rename application init function net: apps: Comment out code if IPv6 ND is in use net: contiki: Enable packet queueing net: apps: Make dtls server/client to accept different bearer config net: apps: Fix the mac addresses in dtls client demo net: Selecting Bluetooth IP networking selects BT support net: contiki: Fix the description of 6lowpan files net: contiki: Original copyright notice was missing cc2520: Turn off auto ACK net: Timer fiber now sleeps until next event net: Print the stack usage in timer fiber less often Revert "cc2520: Turn off auto ACK" Revert "cc2520: Rework reception logic" net: Use the existing logging option in Kconfig for debugging net: License information was missing Leona Cook (16): doc: Migrating API edit on microkernel memory_map.h doc: Edit API documentation on microkernel mutex.h doc: Edit API documentation on microkernel ticks.h doc: Edit API documentation on microkernel pipe.h doc: Edit API documentation on microkernel task_irq.h doc: Edit API documentation on microkernel memory_pool.h doc: Edit API documentation on microkernel task.h doc: Edit arduino_101.rst for spelling, grammar, consistency doc: Cleanup prefix table on naming_conventions.rst doc: Deleted from installation_linux.rst network/proxy config doc: Edit microkernel_tasks.rst for grammar and clarity doc: Edit common_kernel_clocks.rst doc: Edited synchronous_call.rst for typos, ReST syntax doc: ReST syntax added to memory_maps.rst to enhance readability doc: Edit microkernel_memory_pools.rst for consistency in structure. doc: Minor edits needed on microkernel_fibers.rst Luiz Augusto von Dentz (26): Bluetooth: peripheral: Register services after init drivers/nble: Increase rx buffer count drivers/nble: Sync ble_gatt_notif_ind_rsp definition Bluetooth: peripheral: Fix using CCC handle with bt_gatt_notify drivers/nble: Fix log order when receiving a write event Bluetooth: peripheral: Make heart rate simulation more predictable drivers/nble: Add BLUETOOTH_DEBUG_GATT to Kconfig drivers/nble: Enable debug only if CONFIG_BLUETOOTH_DEBUG_GATT is defined Bluetooth: IPSP: Add sample header net: Select NETWORKING_IPV6_NO_ND in case of NETWORKING_WITH_BT Bluetooth: L2CAP: Fix use of '/n' with BT_DBG Bluetooth: IPSP: Correct filename and description Bluetooth: L2CAP: Log an error if data cannot be sent net: echo_server: Avoid using #ifdef and #ifndef net: echo_server: Add support for Bluetooth Bluetooth: L2CAP: Add proper documentation for callbacks net: echo_client: Avoid using #ifdef and #ifndef net: echo_client: Add support for Bluetooth net: Kconfig: Auto select mandatory features for Bluetooth net: coap_server: Avoid using #ifdef and #ifndef net: coap_server: Add support for Bluetooth net: coap_observe_client: Avoid using #ifdef and #ifndef net: coap_observe_client: Add support for Bluetooth net: dtls_server: Avoid using #ifdef and #ifndef net: dtls_server: Add support for Bluetooth net: Fix Bluetooth driver warning Mariusz Skamra (16): Bluetooth: Add Environmental Sensing Service related UUID defs Bluetooth: Remove HR Control Point Characteristic from HR svc decl. Bluetooth: Add Cycling Speed and Cadence Service related UUID defs Bluetooth: Add Environmental Sensing Profile sample app Bluetooth: Add Cycling Speed and Cadence sample application Bluetooth: doc: Add L2CAP PICS file Bluetooth: btp: Fix permission bits Bluetooth: tester: Use common write without response command handler Bluetooth: tester: Use BT_UUID defines for UUID comparisons Bluetooth: tester: Fix initialization of static variables Bluetooth: tester: Refactor gatt_buf_add and gatt_buf_reserve functions Bluetooth: tester: Remove set_ccc_value helper Bluetooth: SMP: Clear keys on SMP Timeout and Pairing Failed Bluetooth: btp: Fix BTP GATT command opcodes Bluetooth: tester: Fix supported commands to use uint8_t array Bluetooth: tester: Fix missing bit in GAP supported commands Michael LeMay (5): doc: Note that Ethernet is supported for Galileo docs: Note in Galileo docs that PCI enumeration is disabled doc: Remove unneeded Ubuntu dependencies for GRUB doc: Revise Intel Galileo board instructions doc: Note spurious Intel Galileo boot messages Pawel Wodnicki (1): boards/basic_cortex_m3: Fix typo in Kconfig.board Peter Mitsis (14): minimal libc: stdlib.h no longer includes ctype.h arm build: Select correct library version bluetooth doc: Fix unsupported xml/html tag warnings bluetooth doc: Fix typos in uuid documentation arm: Enable support for sys_thread_busy_wait() doc: Fix misuse of @file doxygen tag doc: Fix doxygen build warnings in device.h doc: Fix warning about unsupported xml/html tag bluetooth doc: Fix parameter name in documentation net doc: Fix parameter names in documentation nanokernel: Change fiber_delayed_start() return type nanokernel: Change fiber_start() return type nanokernel: Add routines for waking a fiber test: Add nanokernel test_sleep project Ramesh Thomas (4): adv_power:Fix build error when ADVANCED_IDLE flag is enabled adv_power:Rename PM functions according to coding convention adv_power:Advanced Power Management APIs adv_power:Power management hooks template app Ravi kumar Veeramally (4): cc2520: Add Kconfig option for TI cc2520 channel cc2520: Return DEV_FAIL on initialization failed case cc2520: Fix debug prints format specifiers cc2520: Fix resetting of CC2520_EXCFLAG0 Rodrigo Caballero (21): doc: Edit the ADC driver APIs doc: Edit the code-block ReST documentation. doc: Include the I/O APIs in the documentation. doc: Edit the SPI driver APIs doc: Edit the GPIO driver APIs doc: Edit the Pinmux driver APIs doc: Edit the IPM driver APIs doc: Edit the PWM driver APIs doc: Edit the I2C driver APIs doc: API edits for microkernel semaphore.h doc: Fix broken link for USB to TTL cable on Arduino 101 doc. doc: API doc edits for microkernel event.h doc: Edit the Event Logger APIs doc: Edit the UART driver APIs doc: Fix minor grammar error on getting_started.rst doc: Fix table to remove the invalid ARC information. doc: Remove orphan file reference.rst. doc: Remove orphaned kbuild_toolchains.rst doc: Fix toctree in gerrit_accounts.rst doc: Fix include in gerrit_accounts.rst doc: Update and include nanokernel_example.rst Sergio Rodriguez (1): tickless idle x86: Tickless idle support on nanokernel for x86 Szymon Janc (26): tinycrypt: Fix few typos in Kconfig help messages tinycrypt: Fix compilation with ECC enabled Bluetooth: GATT: Refactor subscription API Bluetooth: GATT: Refactor read API Bluetooth: Add support for TinyCrypt based bt_rand Bluetooth: Kconfig: Add option for enabling TinyCrypt Bluetooth: Remove CONFIG_TEST_RANDOM_GENERATOR from sample apps Bluetooth: Store LE SC Public Key in SMP code Bluetooth: Use correct CONFIG option for TinyCrypt ECC define Bluetooth: SMP: Add support for TinyCrypt ECC Bluetooth: Kconfig: Add TinyCrypt ECC config option Bluetooth: Kconfig: Remove not needed help quotation marks Bluetooth: SMP: Use TinyCrypt for AES CMAC Bluetooth: Remove dead code Bluetooth: Kconfig: Clarify BLUETOOTH_TINYCRYPT_ECC help message Bluetooth: SMP: Fix compilation with SC Only mode enabled Bluetooth: Kconfig: Move TinyCrypt ECDH under SMP Bluetooth: Merge init_h5 into init test tests: Simplify test_bluetooth configuration tests: Fix Bluetooth tests and samples platform blacklisting Bluetooth: ATT: Fix notifying GATT on disconnection Bluetooth: GATT: Fix possible bt_conn leak Bluetooth: Fix not calling connected callback on connect failed Bluetooth: Fix tracking of advertising state Bluetooth: SMP: Add support for no bond pairing Bluetooth: GATT: Fix check if device is bonded Tomasz Bursztyka (18): cc2520: Reading incoming packet cannot be done under ISR context cc2520: GPIO should trigger on edge and not level cc2520: Reinstate the radio locking/unlocking logic cc2520: Rework the logic of reading packets spi: dw: If an error occurs, nothing should prevent to stop spi: dw: Improve debug output cc2520: Add debug prints in case of packet rejection net: ip: Fix a build issue when CONFIG_NETWORKING_WITH_LOGGING=n net: ip: Make sure CONFIG_NETWORKING_WITH_LOGGING is properly handled boards: Add a board definition for Quark SE SSS development board spi: dw: Quark SE Sensor Sub-System support quark_se_ss: Add default SPI configuration values net: ip: Enable Kconfig based debug options for the IP stack cc2520: 7th bit of the packet length should not be interpreted cc2520: Flushing RX FIFO is done through one SFLUSHRX instruction cc2520: Remove useless gpio logic cc2520: Let's use the maximum SPI clock supported cc2520: Rework reception logic Vinicius Costa Gomes (7): samples: spi_test: Add support for using QMSI driver samples: Add a sample SPI application for W25Q80BL drivers: gpio: Add support for AON GPIO to QMSI driver gpio: qmsi: Simplify interrupt enabling/disabling gpio: qmsi: Fix overwriting name set by the driver's Kconfig samples: w25q80bl: Fix wrong check for GPIO pin as CS samples: w25q80bl: Add a README file Yannis Damigos (4): zephyr-env.sh: Fixed sourcing the project environment file from zsh doc: Documentation generator failed for html format zephyr-env.sh: Fixed sourcing the project environment file doc: Fixed two warnings in html format documentation generation .gitreview | 4 + Makefile | 34 +- arch/Kconfig | 2 + arch/arc/Kconfig | 2 - arch/arc/core/irq_manage.c | 8 +- arch/arc/soc/quark_se_ss/Kconfig | 40 + arch/arc/soc/quark_se_ss/soc.h | 10 + arch/arm/core/irq_manage.c | 51 +- arch/arm/soc/atmel_sam3/Kconfig | 10 + arch/arm/soc/atmel_sam3/soc.h | 14 + arch/arm/soc/atmel_sam3/soc_registers.h | 43 + arch/x86/Kconfig | 14 + arch/x86/core/Kconfig | 8 + arch/x86/core/Makefile | 1 + arch/x86/core/cpuhalt.c | 13 + arch/x86/core/crt0.S | 114 +- arch/x86/core/dynamic.c | 4 +- arch/x86/core/excconnect.c | 4 + arch/x86/core/excstub.S | 11 +- arch/x86/core/i386_sysV_abi/intstub.S | 9 + arch/x86/core/iamcu_abi/intstub.c | 16 +- arch/x86/core/intconnect.c | 115 +- arch/x86/core/reboot_rst_cnt.c | 43 + arch/x86/include/advidle.h | 113 +- arch/x86/include/idtEnt.h | 40 +- arch/x86/soc/ia32/soc.h | 35 +- arch/x86/soc/quark_d2000/Kconfig | 50 +- arch/x86/soc/quark_se/Kconfig | 60 +- arch/x86/soc/quark_se/soc.c | 8 + arch/x86/soc/quark_x1000/soc.h | 6 +- boards/arduino_101_sss/arduino_101_sss_defconfig | 1 + boards/arduino_due/Kconfig | 17 + boards/basic_cortex_m3/Kconfig.board | 2 +- boards/galileo/Kconfig | 8 +- boards/galileo/Makefile | 1 - boards/galileo/galileo_reboot.c | 43 - boards/quark_se_ctb/Kconfig | 8 - boards/quark_se_ctb/Kconfig.board | 5 - boards/quark_se_ctb/Makefile | 6 - boards/quark_se_ctb/board.c | 21 - boards/quark_se_ctb/board.h | 22 - boards/quark_se_ctb/pinmux.c | 350 ---- boards/quark_se_ctb/quark_se_ctb_defconfig | 17 - boards/quark_se_devboard/Kconfig | 25 +- boards/quark_se_devboard/board.c | 6 +- boards/quark_se_devboard/pinmux.c | 4 + boards/quark_se_sss_ctb/Kconfig | 7 - boards/quark_se_sss_ctb/Kconfig.board | 5 - boards/quark_se_sss_ctb/Makefile | 5 - boards/quark_se_sss_ctb/Makefile.board | 7 - boards/quark_se_sss_ctb/board.c | 21 - boards/quark_se_sss_ctb/board.h | 22 - boards/quark_se_sss_ctb/quark_se_sss_ctb_defconfig | 16 - boards/quark_se_sss_ctb/support/openocd.cfg | 13 - boards/quark_se_sss_devboard/Kconfig | 7 + boards/quark_se_sss_devboard/Kconfig.board | 5 + boards/quark_se_sss_devboard/Makefile | 5 + boards/quark_se_sss_devboard/Makefile.board | 6 + boards/quark_se_sss_devboard/board.c | 21 + boards/quark_se_sss_devboard/board.h | 22 + .../quark_se_sss_devboard_defconfig | 16 + boards/quark_se_sss_devboard/support/openocd.cfg | 13 + doc/Makefile | 9 +- doc/about_zephyr.rst | 4 +- doc/api/api.rst | 2 + doc/api/event_logger.rst | 16 + doc/api/io_interfaces.rst | 65 + doc/api/microkernel_api.rst | 7 + doc/api/nanokernel_api.rst | 14 + doc/application/apps_code_dev.rst | 2 +- doc/application/apps_object_conf.rst | 4 +- doc/bluetooth/l2cap-pics.txt | 121 ++ doc/board/arduino_101.rst | 363 ++-- doc/board/arduino_due.rst | 123 +- doc/board/board.rst | 72 +- doc/board/frdm_k64f.rst | 4 +- doc/board/galileo.rst | 130 +- doc/board/minnowboard.rst | 4 +- doc/board/qemu_cortex_m3.rst | 4 +- doc/board/qemu_x86.rst | 4 +- doc/board/quark_d2000_crb.rst | 64 + doc/collaboration/code/code.rst | 14 +- doc/collaboration/code/doxygen/defines.rst | 8 +- doc/collaboration/code/doxygen/functions.rst | 31 +- doc/collaboration/code/doxygen/hello_wrong.c | 30 + .../code/doxygen/irq_test_common_wrong.h | 5 + doc/collaboration/code/doxygen/structs.rst | 23 +- doc/collaboration/code/figures/setting_up01.png | Bin 0 -> 26418 bytes doc/collaboration/code/figures/setting_up02.png | Bin 0 -> 23984 bytes doc/collaboration/code/figures/setting_up03.png | Bin 0 -> 19736 bytes doc/collaboration/code/figures/setting_up04.png | Bin 0 -> 12166 bytes doc/collaboration/code/gerrit.rst | 88 +- doc/collaboration/code/gerrit_accounts.rst | 134 ++ doc/collaboration/code/gerrit_practices.rst | 41 +- doc/collaboration/code/licenses.rst | 60 - doc/collaboration/code/naming_conventions.rst | 82 +- doc/collaboration/documentation/basic.rst | 6 +- doc/collaboration/documentation/code_blocks.rst | 17 +- doc/collaboration/documentation/cross.rst | 16 +- doc/collaboration/documentation/images.rst | 6 +- doc/collaboration/documentation/inline.rst | 2 +- doc/collaboration/documentation/language.rst | 4 +- doc/collaboration/documentation/simple.rst | 10 +- doc/collaboration/documentation/tables.rst | 2 +- doc/conf.py | 8 +- doc/crypto/crypto.rst | 9 +- doc/crypto/tinycrypt.rst | 272 ++- doc/doxygen.config | 9 +- doc/getting_started/building_zephyr.rst | 6 +- doc/getting_started/figures/setting_up01.png | Bin 26418 -> 0 bytes doc/getting_started/figures/setting_up02.png | Bin 23984 -> 0 bytes doc/getting_started/getting_started.rst | 2 +- doc/getting_started/installation_linux.rst | 35 +- doc/getting_started/installation_mac.rst | 10 + doc/getting_started/installation_win.rst | 111 ++ doc/getting_started/setting_up.rst | 114 +- doc/kernel/common/common_kernel_clocks.rst | 17 +- doc/kernel/devices/synchronous_call.rst | 80 +- doc/kernel/microkernel/microkernel_events.rst | 2 +- doc/kernel/microkernel/microkernel_fibers.rst | 32 +- doc/kernel/microkernel/microkernel_memory_maps.rst | 65 +- .../microkernel/microkernel_memory_pools.rst | 123 +- doc/kernel/microkernel/microkernel_mutexes.rst | 2 +- doc/kernel/microkernel/microkernel_semaphores.rst | 2 +- doc/kernel/microkernel/microkernel_tasks.rst | 133 +- doc/kernel/nanokernel/nanokernel.rst | 1 + doc/kernel/nanokernel/nanokernel_example.rst | 6 +- doc/kernel/nanokernel/nanokernel_fibers.rst | 8 +- .../nanokernel/nanokernel_kernel_event_logger.rst | 101 +- doc/kernel/nanokernel/nanokernel_ring_buffers.rst | 10 +- doc/kernel/overview/kernel_fundamentals.rst | 34 + doc/kernel/overview/source_tree.rst | 7 +- doc/reference/kbuild/kbuild_toolchains.rst | 2 - doc/reference/reference.rst | 12 - doc/scripts/genrest/genrest.py | 20 +- doc/scripts/genrest/kconfiglib.py | 16 +- drivers/802.15.4/Kconfig | 16 + drivers/802.15.4/cc2520.c | 302 ++- drivers/802.15.4/cc2520_arch.h | 13 +- drivers/adc/Kconfig | 59 +- drivers/adc/adc_dw.c | 106 +- drivers/adc/adc_dw.h | 11 +- drivers/adc/adc_ti_adc108s102.c | 20 +- drivers/adc/adc_ti_adc108s102.h | 6 +- drivers/bluetooth/h4.c | 3 +- drivers/bluetooth/h5.c | 10 +- drivers/console/uart_console.c | 1 + drivers/gpio/Kconfig | 48 +- drivers/gpio/gpio_pcal9535a.h | 4 + drivers/gpio/gpio_qmsi.c | 144 +- drivers/gpio/gpio_sch.h | 4 +- drivers/i2c/Kconfig | 14 +- drivers/i2c/Kconfig.atmel_sam3 | 89 + drivers/i2c/Makefile | 1 + drivers/i2c/i2c_atmel_sam3.c | 617 ++++++ drivers/i2c/i2c_atmel_sam3.h | 127 ++ drivers/i2c/i2c_dw.h | 10 +- drivers/i2c/i2c_dw_registers.h | 2 +- drivers/i2c/i2c_qmsi.c | 4 + drivers/interrupt_controller/system_apic.c | 2 +- drivers/nble/Kconfig | 54 + drivers/nble/conn.c | 297 ++- drivers/nble/conn.h | 17 + drivers/nble/conn_internal.h | 36 + drivers/nble/gap.c | 244 +-- drivers/nble/gap_internal.h | 422 ++-- drivers/nble/gatt.c | 203 +- drivers/nble/gatt_internal.h | 221 +-- drivers/nble/rpc.h | 10 +- drivers/nble/rpc_deserialize.c | 266 ++- drivers/nble/rpc_functions_to_ble_core.h | 118 +- drivers/nble/rpc_functions_to_quark.h | 156 +- drivers/nble/rpc_serialize.c | 227 +-- drivers/nble/uart.c | 149 +- drivers/nble/uart.h | 31 - drivers/nble/version.h | 12 - drivers/pci/pci.c | 16 +- drivers/pwm/pwm_pca9685.h | 1 + drivers/rtc/Kconfig | 3 - drivers/serial/uart_ns16550.c | 1 + drivers/spi/Kconfig | 114 +- drivers/spi/spi_dw.c | 286 +-- drivers/spi/spi_dw.h | 177 +- drivers/spi/spi_dw_quark_se_ss_regs.h | 144 ++ drivers/spi/spi_dw_regs.h | 100 + drivers/spi/spi_intel.h | 1 + drivers/spi/spi_qmsi.c | 4 + drivers/timer/hpet.c | 32 +- drivers/timer/loapic_timer.c | 51 +- drivers/watchdog/Kconfig | 5 - include/adc.h | 71 +- include/arch/arc/arch.h | 3 +- include/arch/arc/v2/irq.h | 17 +- include/arch/arm/cortex_m/asm_inline_gcc.h | 5 +- include/arch/arm/cortex_m/irq.h | 33 +- include/arch/x86/arch.h | 28 +- include/bluetooth/att.h | 55 + include/bluetooth/bluetooth.h | 2 +- include/bluetooth/conn.h | 10 + include/bluetooth/gatt.h | 184 +- include/bluetooth/hci.h | 79 + include/bluetooth/l2cap.h | 45 +- include/bluetooth/uuid.h | 175 +- include/device.h | 112 +- include/drivers/serial/uart_nsim.h | 3 +- include/drivers/system_timer.h | 5 +- include/gpio.h | 164 +- include/i2c.h | 144 +- include/ipm.h | 106 +- include/irq.h | 126 ++ include/irq_offload.h | 3 +- include/microkernel/event.h | 51 +- include/microkernel/fifo.h | 54 +- include/microkernel/mailbox.h | 98 +- include/microkernel/memory_map.h | 23 +- include/microkernel/memory_pool.h | 23 +- include/microkernel/mutex.h | 27 +- include/microkernel/pipe.h | 72 +- include/microkernel/semaphore.h | 61 +- include/microkernel/task.h | 60 +- include/microkernel/task_irq.h | 41 +- include/microkernel/ticks.h | 43 +- include/misc/__assert.h | 2 +- include/misc/event_logger.h | 100 +- include/misc/kernel_event_logger.h | 6 + include/misc/ring_buffer.h | 11 + include/nanokernel.h | 889 +++++---- include/net/buf.h | 23 + include/net/ip_buf.h | 7 +- include/net/net_core.h | 14 +- include/net/net_socket.h | 2 +- include/pinmux.h | 8 +- include/pwm.h | 75 +- include/spi.h | 102 +- include/uart.h | 230 ++- kernel/Kconfig | 12 - kernel/microkernel/Kconfig | 11 +- kernel/microkernel/include/micro_private_types.h | 17 - kernel/microkernel/k_idle.c | 37 +- kernel/microkernel/k_task_monitor.c | 73 +- kernel/microkernel/k_ticker.c | 21 + kernel/nanokernel/compiler_stack_protect.c | 7 - kernel/nanokernel/device.c | 16 + kernel/nanokernel/include/timeout_q.h | 13 +- kernel/nanokernel/include/wait_q.h | 2 + kernel/nanokernel/nano_context.c | 17 +- kernel/nanokernel/nano_fiber.c | 28 +- kernel/nanokernel/nano_fifo.c | 30 +- kernel/nanokernel/nano_init.c | 17 +- kernel/nanokernel/nano_lifo.c | 9 +- kernel/nanokernel/nano_sema.c | 9 +- kernel/nanokernel/nano_sleep.c | 39 + kernel/nanokernel/nano_stack.c | 23 +- kernel/nanokernel/nano_sys_clock.c | 12 +- kernel/nanokernel/nano_timer.c | 9 +- lib/crypto/tinycrypt/Kconfig | 6 +- lib/crypto/tinycrypt/Makefile | 4 +- lib/libc/minimal/include/bits/null.h | 3 +- lib/libc/minimal/include/bits/restrict.h | 3 +- lib/libc/minimal/include/bits/size_t.h | 3 +- lib/libc/minimal/include/bits/ssize_t.h | 35 + lib/libc/minimal/include/stdlib.h | 1 - lib/libc/minimal/include/sys/types.h | 22 + lib/libc/newlib/libc-hooks.c | 25 +- misc/Kconfig | 1 + net/bluetooth/Kconfig | 29 + net/bluetooth/att.c | 17 +- net/bluetooth/att.h | 277 --- net/bluetooth/att_internal.h | 258 +++ net/bluetooth/conn.c | 22 +- net/bluetooth/conn_internal.h | 7 +- net/bluetooth/gatt.c | 302 +-- net/bluetooth/hci_core.c | 791 +++++--- net/bluetooth/hci_core.h | 27 +- net/bluetooth/keys.h | 19 +- net/bluetooth/l2cap.c | 13 +- net/bluetooth/smp.c | 558 +++--- net/bluetooth/smp.h | 2 +- net/buf.c | 22 + net/ip/Kconfig | 67 +- net/ip/Kconfig.debug | 104 + net/ip/contiki/contiki-conf.h | 21 + net/ip/contiki/ip/tcpip.c | 45 +- net/ip/contiki/ip/uip-debug.h | 20 +- net/ip/contiki/ip/uip-packetqueue.c | 9 +- net/ip/contiki/ipv4/uip.c | 4 +- net/ip/contiki/ipv4/uip_arp.c | 9 +- net/ip/contiki/ipv6/uip-ds6-nbr.c | 4 +- net/ip/contiki/ipv6/uip-ds6-route.c | 5 +- net/ip/contiki/ipv6/uip-ds6.c | 4 +- net/ip/contiki/ipv6/uip-icmp6.c | 4 +- net/ip/contiki/ipv6/uip-nd6.c | 8 +- net/ip/contiki/ipv6/uip6.c | 4 +- net/ip/contiki/os/rtimer-arch.h | 16 + net/ip/contiki/os/sys/clock.h | 2 +- net/ip/contiki/os/sys/etimer.c | 4 + net/ip/contiki/os/sys/timer.h | 2 +- net/ip/contiki/sicslowpan/null_compression.c | 2 +- net/ip/contiki/sicslowpan/null_fragmentation.c | 2 +- net/ip/contiki/sicslowpan/null_fragmentation.h | 2 +- net/ip/contiki/sicslowpan/sicslowpan_compression.c | 47 +- net/ip/contiki/sicslowpan/sicslowpan_compression.h | 47 +- .../contiki/sicslowpan/sicslowpan_fragmentation.c | 47 +- .../contiki/sicslowpan/sicslowpan_fragmentation.h | 2 +- net/ip/ip_buf.c | 5 + net/ip/l2_buf.c | 9 +- net/ip/net_core.c | 69 +- net/ip/net_driver_15_4.c | 21 +- net/ip/net_driver_bt.c | 2 + net/ip/tinydtls/platform-specific/config-zephyr.h | 16 + net/ip/tinydtls/platform-specific/platform.h | 16 + samples/bluetooth/beacon/Makefile | 2 +- samples/bluetooth/beacon/prj.conf | 1 - samples/bluetooth/beacon/prj_nble.conf | 1 + samples/bluetooth/beacon/src/main.c | 16 +- samples/bluetooth/beacon/testcase.ini | 2 +- samples/bluetooth/central/testcase.ini | 3 +- samples/bluetooth/central_hr/prj.conf | 1 - samples/bluetooth/central_hr/src/main.c | 17 +- samples/bluetooth/init/Makefile | 7 - samples/bluetooth/init/prj.conf | 4 - samples/bluetooth/init/prj.mdef | 5 - samples/bluetooth/init/src/Makefile | 1 - samples/bluetooth/init/src/main.c | 40 - samples/bluetooth/init/testcase.ini | 7 - samples/bluetooth/init_h5/Makefile | 7 - samples/bluetooth/init_h5/prj.conf | 5 - samples/bluetooth/init_h5/prj.mdef | 5 - samples/bluetooth/init_h5/src/Makefile | 1 - samples/bluetooth/init_h5/src/main.c | 40 - samples/bluetooth/init_h5/testcase.ini | 6 - samples/bluetooth/ipsp/prj.conf | 12 - samples/bluetooth/ipsp/src/Makefile | 2 +- samples/bluetooth/ipsp/src/ipss.c | 260 +++ samples/bluetooth/ipsp/src/ipss.h | 21 + samples/bluetooth/ipsp/src/main.c | 229 +-- samples/bluetooth/ipsp/testcase.ini | 1 + samples/bluetooth/peripheral/prj.conf | 3 - samples/bluetooth/peripheral/prj_nble.conf | 2 +- samples/bluetooth/peripheral/src/main.c | 102 +- samples/bluetooth/peripheral/testcase.ini | 1 + samples/bluetooth/peripheral_csc/Makefile | 7 + samples/bluetooth/peripheral_csc/prj.conf | 4 + samples/bluetooth/peripheral_csc/prj.mdef | 5 + samples/bluetooth/peripheral_csc/src/Makefile | 1 + samples/bluetooth/peripheral_csc/src/main.c | 536 +++++ samples/bluetooth/peripheral_csc/testcase.ini | 12 + samples/bluetooth/peripheral_dis/src/main.c | 11 +- samples/bluetooth/peripheral_dis/testcase.ini | 1 + samples/bluetooth/peripheral_esp/Makefile | 7 + samples/bluetooth/peripheral_esp/prj.conf | 7 + samples/bluetooth/peripheral_esp/prj.mdef | 5 + samples/bluetooth/peripheral_esp/src/Makefile | 1 + samples/bluetooth/peripheral_esp/src/main.c | 624 ++++++ samples/bluetooth/peripheral_esp/testcase.ini | 12 + samples/bluetooth/peripheral_hr/Makefile | 7 + samples/bluetooth/peripheral_hr/README | 4 + samples/bluetooth/peripheral_hr/prj.conf | 6 + samples/bluetooth/peripheral_hr/prj.mdef | 5 + samples/bluetooth/peripheral_hr/prj_nble.conf | 4 + samples/bluetooth/peripheral_hr/src/Makefile | 1 + samples/bluetooth/peripheral_hr/src/main.c | 287 +++ samples/bluetooth/peripheral_hr/testcase.ini | 20 + samples/bluetooth/peripheral_sc_only/Makefile | 2 +- samples/bluetooth/peripheral_sc_only/src/main.c | 11 +- samples/bluetooth/peripheral_sc_only/testcase.ini | 1 + samples/bluetooth/shell/Makefile | 30 - samples/bluetooth/shell/README | 7 - samples/bluetooth/shell/prj.mdef | 5 - samples/bluetooth/shell/prj_arm.conf | 14 - samples/bluetooth/shell/prj_nble.conf | 7 - samples/bluetooth/shell/prj_x86.conf | 16 - samples/bluetooth/shell/src/Makefile | 3 - samples/bluetooth/shell/src/main.c | 1541 --------------- samples/bluetooth/shell/testcase.ini | 18 - samples/bluetooth/test_bluetooth/Makefile | 3 - samples/bluetooth/test_bluetooth/bluetooth.c | 73 - samples/bluetooth/tester/Makefile | 37 - samples/bluetooth/tester/README | 2 - samples/bluetooth/tester/btp_spec.txt | 1071 ---------- samples/bluetooth/tester/prj.conf | 21 - samples/bluetooth/tester/prj.mdef | 5 - samples/bluetooth/tester/prj_nble.conf | 5 - samples/bluetooth/tester/src/Makefile | 3 - samples/bluetooth/tester/src/bttester.c | 229 --- samples/bluetooth/tester/src/bttester.h | 529 ----- samples/bluetooth/tester/src/gap.c | 558 ------ samples/bluetooth/tester/src/gatt.c | 1771 ----------------- samples/bluetooth/tester/src/main.c | 32 - samples/bluetooth/tester/testcase.ini | 12 - .../build_test/drivers/dw_aio_comparator/Makefile | 6 - .../drivers/dw_aio_comparator/README.txt | 13 - .../build_test/drivers/dw_aio_comparator/prj.conf | 3 - .../drivers/dw_aio_comparator/testcase.ini | 6 - .../build_test/drivers/i2c_quark_se_ss/Makefile | 6 - .../build_test/drivers/i2c_quark_se_ss/prj.conf | 4 - .../drivers/i2c_quark_se_ss/testcase.ini | 6 - samples/cpp_synchronization/microkernel/Makefile | 6 + samples/cpp_synchronization/microkernel/README.txt | 52 + samples/cpp_synchronization/microkernel/prj.mdef | 11 + .../cpp_synchronization/microkernel/prj_arm.conf | 2 + .../cpp_synchronization/microkernel/prj_x86.conf | 4 + .../cpp_synchronization/microkernel/src/Makefile | 1 + .../cpp_synchronization/microkernel/src/main.cpp | 299 +++ .../cpp_synchronization/microkernel/testcase.ini | 4 + samples/cpp_synchronization/nanokernel/Makefile | 7 + samples/cpp_synchronization/nanokernel/README.txt | 51 + samples/cpp_synchronization/nanokernel/prj.conf | 2 + .../cpp_synchronization/nanokernel/testcase.ini | 4 + samples/crypto/test_aes/Makefile | 2 - samples/crypto/test_aes/test_aes.c | 2075 -------------------- samples/crypto/test_cbc/Makefile | 2 - samples/crypto/test_cbc/test_cbc_mode.c | 177 -- samples/crypto/test_ccm_mode/Makefile | 2 - samples/crypto/test_ccm_mode/test_ccm_mode.c | 509 ----- samples/crypto/test_cmac_mode/Makefile | 2 - samples/crypto/test_cmac_mode/test_cmac_mode.c | 309 --- samples/crypto/test_ctr/Makefile | 2 - samples/crypto/test_ctr/test_ctr_mode.c | 141 -- samples/crypto/test_hmac/Makefile | 2 - samples/crypto/test_hmac/test_hmac.c | 358 ---- samples/crypto/test_prng/Makefile | 3 - samples/crypto/test_prng/test_hmac_prng.c | 113 -- samples/crypto/test_sha256/Makefile | 3 - samples/crypto/test_sha256/test_sha256.c | 510 ----- samples/drivers/adc/Makefile | 5 + samples/drivers/adc/prj_arc.conf | 3 + samples/drivers/adc/prj_x86.conf | 2 + samples/drivers/adc/src/Makefile | 3 + samples/drivers/adc/src/adc.c | 104 + samples/drivers/adc/testcase.ini | 6 + samples/drivers/aio_dw_comparator/Makefile | 5 + samples/drivers/aio_dw_comparator/prj.conf | 4 + samples/drivers/aio_dw_comparator/src/Makefile | 1 + samples/drivers/aio_dw_comparator/src/main.c | 118 ++ samples/drivers/aio_dw_comparator/testcase.ini | 6 + samples/drivers/current_sensing/Makefile | 5 + samples/drivers/current_sensing/README | 8 + samples/drivers/current_sensing/prj.conf | 4 + samples/drivers/current_sensing/src/Makefile | 1 + samples/drivers/current_sensing/src/main.c | 138 ++ samples/drivers/current_sensing/testcase.ini | 6 + samples/drivers/gpio/Makefile | 14 + samples/drivers/gpio/prj_arc.conf | 9 + samples/drivers/gpio/prj_arm.conf | 6 + samples/drivers/gpio/prj_x86.conf | 5 + samples/drivers/gpio/src/Makefile | 1 + samples/drivers/gpio/src/main.c | 216 ++ samples/drivers/gpio/testcase.ini | 5 + samples/drivers/grove_lcd/Makefile | 5 + samples/drivers/grove_lcd/README | 11 + samples/drivers/grove_lcd/prj.conf | 9 + samples/drivers/grove_lcd/src/Makefile | 1 + samples/drivers/grove_lcd/src/grove_lcd.c | 141 ++ samples/drivers/grove_lcd/testcase.ini | 6 + samples/drivers/i2c_fujitsu_fram/Makefile | 5 + samples/drivers/i2c_fujitsu_fram/README | 6 + samples/drivers/i2c_fujitsu_fram/prj.conf | 4 + samples/drivers/i2c_fujitsu_fram/src/Makefile | 1 + samples/drivers/i2c_fujitsu_fram/src/main.c | 163 ++ samples/drivers/i2c_fujitsu_fram/testcase.ini | 6 + samples/drivers/i2c_lsm9ds0/Makefile | 6 + samples/drivers/i2c_lsm9ds0/README | 26 + samples/drivers/i2c_lsm9ds0/prj.conf | 3 + samples/drivers/i2c_lsm9ds0/src/Makefile | 1 + samples/drivers/i2c_lsm9ds0/src/main.c | 99 + samples/drivers/led_apa102c/Makefile | 6 + samples/drivers/led_apa102c/prj_x86.conf | 7 + samples/drivers/led_apa102c/src/Makefile | 1 + samples/drivers/led_apa102c/src/main.c | 139 ++ samples/drivers/led_apa102c/testcase.ini | 6 + samples/drivers/pci_enum/Makefile | 6 + samples/drivers/pci_enum/prj.conf | 3 + samples/drivers/pci_enum/prj.mdef | 5 + samples/drivers/pci_enum/src/Makefile | 3 + samples/drivers/pci_enum/src/pci_enum.c | 73 + samples/drivers/pci_enum/testcase.ini | 16 + samples/drivers/pwm_dw/Makefile | 6 + samples/drivers/pwm_dw/prj_x86.conf | 6 + samples/drivers/pwm_dw/src/Makefile | 1 + samples/drivers/pwm_dw/src/main.c | 103 + samples/drivers/pwm_dw/testcase.ini | 6 + samples/drivers/rtc/Makefile | 5 + samples/drivers/rtc/rtc.config | 3 + samples/drivers/rtc/src/Makefile | 1 + samples/drivers/rtc/src/main.c | 53 + samples/drivers/rtc/testcase.ini | 4 + samples/drivers/spi_flash/Makefile | 6 + samples/drivers/spi_flash/README.txt | 35 + samples/drivers/spi_flash/prj.conf | 7 + samples/drivers/spi_flash/prj.mdef | 5 + samples/drivers/spi_flash/src/Makefile | 1 + samples/drivers/spi_flash/src/main.c | 75 + samples/drivers/spi_lsm9ds0/Makefile | 5 + samples/drivers/spi_lsm9ds0/README | 21 + samples/drivers/spi_lsm9ds0/prj.conf | 1 + samples/drivers/spi_lsm9ds0/src/Makefile | 1 + samples/drivers/spi_lsm9ds0/src/main.c | 75 + samples/drivers/spi_test/Makefile | 5 + samples/drivers/spi_test/prj_x86.conf | 1 + samples/drivers/spi_test/src/Makefile | 3 + samples/drivers/spi_test/src/spi.c | 99 + samples/drivers/spi_test/testcase.ini | 5 + samples/drivers/w25q80bl/Makefile | 5 + samples/drivers/w25q80bl/README | 9 + samples/drivers/w25q80bl/prj.conf | 1 + samples/drivers/w25q80bl/src/Makefile | 1 + samples/drivers/w25q80bl/src/main.c | 91 + samples/drivers/watchdog/Makefile | 5 + samples/drivers/watchdog/src/Makefile | 1 + samples/drivers/watchdog/src/main.c | 58 + samples/drivers/watchdog/testcase.ini | 4 + samples/drivers/watchdog/watchdog.config | 1 + samples/hello_world/microkernel/Makefile | 6 + samples/hello_world/microkernel/README.txt | 33 + samples/hello_world/microkernel/prj.conf | 2 + samples/hello_world/microkernel/prj.mdef | 5 + samples/hello_world/microkernel/src/Makefile | 1 + samples/hello_world/microkernel/src/main.c | 30 + samples/hello_world/nanokernel/Makefile | 5 + samples/hello_world/nanokernel/README.txt | 32 + samples/hello_world/nanokernel/prj.conf | 1 + samples/hello_world/nanokernel/src/Makefile | 1 + samples/hello_world/nanokernel/src/main.c | 39 + samples/include/tc_nano_timeout_common.h | 68 - samples/include/tc_util.h | 70 - samples/include/test_utils.h | 76 - samples/include/util_test_common.h | 30 - samples/kernel_event_logger/microkernel/Makefile | 7 + samples/kernel_event_logger/microkernel/README.txt | 64 + samples/kernel_event_logger/microkernel/prj.mdef | 26 + .../kernel_event_logger/microkernel/prj_arm.conf | 12 + .../kernel_event_logger/microkernel/prj_x86.conf | 12 + .../kernel_event_logger/microkernel/src/Makefile | 3 + .../src/kernel_event_collector_sample.c | 518 +++++ .../kernel_event_logger/microkernel/testcase.ini | 4 + samples/kernel_event_logger/nanokernel/Makefile | 6 + samples/kernel_event_logger/nanokernel/README.txt | 58 + .../kernel_event_logger/nanokernel/prj_arm.conf | 10 + .../kernel_event_logger/nanokernel/prj_x86.conf | 10 + .../kernel_event_logger/nanokernel/testcase.ini | 5 + .../microkernel/apps/cpp_synchronization/Makefile | 6 - .../apps/cpp_synchronization/README.txt | 52 - .../microkernel/apps/cpp_synchronization/prj.mdef | 11 - .../apps/cpp_synchronization/prj_arm.conf | 2 - .../apps/cpp_synchronization/prj_x86.conf | 4 - .../apps/cpp_synchronization/src/Makefile | 4 - .../apps/cpp_synchronization/src/main.cpp | 299 --- .../apps/cpp_synchronization/testcase.ini | 4 - samples/microkernel/apps/hello_world/Makefile | 6 - samples/microkernel/apps/hello_world/README.txt | 33 - samples/microkernel/apps/hello_world/prj.conf | 2 - samples/microkernel/apps/hello_world/prj.mdef | 5 - samples/microkernel/apps/hello_world/src/Makefile | 1 - samples/microkernel/apps/hello_world/src/main.c | 30 - .../microkernel/apps/kernel_event_logger/Makefile | 7 - .../apps/kernel_event_logger/README.txt | 64 - .../microkernel/apps/kernel_event_logger/prj.mdef | 26 - .../apps/kernel_event_logger/prj_arm.conf | 11 - .../apps/kernel_event_logger/prj_x86.conf | 11 - .../apps/kernel_event_logger/src/Makefile | 3 - .../src/kernel_event_collector_sample.c | 430 ---- .../apps/kernel_event_logger/testcase.ini | 4 - .../apps/net/coap_observe_client/Makefile | 27 - .../apps/net/coap_observe_client/prj.mdef | 5 - .../apps/net/coap_observe_client/prj_arm.conf | 11 - .../apps/net/coap_observe_client/prj_x86.conf | 11 - samples/microkernel/apps/net/coap_server/Makefile | 27 - samples/microkernel/apps/net/coap_server/prj.mdef | 5 - .../microkernel/apps/net/coap_server/prj_arm.conf | 10 - .../microkernel/apps/net/coap_server/prj_x86.conf | 10 - samples/microkernel/apps/net/dtls_client/Makefile | 27 - samples/microkernel/apps/net/dtls_client/prj.mdef | 5 - .../microkernel/apps/net/dtls_client/prj_arm.conf | 11 - .../microkernel/apps/net/dtls_client/prj_x86.conf | 10 - samples/microkernel/apps/net/dtls_server/Makefile | 27 - samples/microkernel/apps/net/dtls_server/prj.mdef | 5 - .../microkernel/apps/net/dtls_server/prj_arm.conf | 10 - .../microkernel/apps/net/dtls_server/prj_x86.conf | 9 - samples/microkernel/apps/net/echo_client/Makefile | 27 - samples/microkernel/apps/net/echo_client/prj.mdef | 5 - .../apps/net/echo_client/prj_802154.conf | 10 - .../microkernel/apps/net/echo_client/prj_arm.conf | 8 - .../microkernel/apps/net/echo_client/prj_slip.conf | 8 - samples/microkernel/apps/net/echo_server/Makefile | 27 - samples/microkernel/apps/net/echo_server/prj.mdef | 5 - .../apps/net/echo_server/prj_802154.conf | 11 - .../apps/net/echo_server/prj_ethernet.conf | 9 - .../microkernel/apps/net/echo_server/prj_slip.conf | 8 - samples/microkernel/apps/net/listener/Makefile | 26 - samples/microkernel/apps/net/listener/prj.mdef | 11 - samples/microkernel/apps/net/listener/prj_arm.conf | 5 - samples/microkernel/apps/net/listener/prj_x86.conf | 5 - .../microkernel/apps/net/test/test_15_4/Makefile | 26 - samples/microkernel/apps/net/test/test_15_4/README | 84 - .../microkernel/apps/net/test/test_15_4/prj.mdef | 11 - .../apps/net/test/test_15_4/prj_arm.conf | 6 - .../apps/net/test/test_15_4/prj_x86.conf | 8 - samples/microkernel/apps/net/test_15_4/Makefile | 26 - samples/microkernel/apps/net/test_15_4/prj.mdef | 11 - .../microkernel/apps/net/test_15_4/prj_arm.conf | 6 - .../microkernel/apps/net/test_15_4/prj_x86.conf | 7 - samples/microkernel/apps/nfc_hello/Makefile | 8 - samples/microkernel/apps/nfc_hello/README.txt | 2 - samples/microkernel/apps/nfc_hello/prj.conf | 3 - samples/microkernel/apps/nfc_hello/src/Makefile | 3 - samples/microkernel/apps/nfc_hello/src/main.c | 97 - samples/microkernel/apps/nfc_hello/testcase.ini | 7 - samples/microkernel/apps/pci_enum/Makefile | 6 - samples/microkernel/apps/pci_enum/prj.mdef | 5 - samples/microkernel/apps/pci_enum/prj_x86.conf | 3 - samples/microkernel/apps/pci_enum/src/Makefile | 3 - samples/microkernel/apps/pci_enum/src/pci_enum.c | 73 - samples/microkernel/apps/pci_enum/testcase.ini | 6 - samples/microkernel/apps/philosophers/Makefile | 6 - samples/microkernel/apps/philosophers/README.txt | 62 - samples/microkernel/apps/philosophers/prj.mdef | 24 - samples/microkernel/apps/philosophers/prj_arm.conf | 2 - samples/microkernel/apps/philosophers/prj_x86.conf | 3 - samples/microkernel/apps/philosophers/src/Makefile | 1 - samples/microkernel/apps/philosophers/src/phil.h | 33 - .../microkernel/apps/philosophers/src/phil_fiber.c | 127 -- .../microkernel/apps/philosophers/src/phil_task.c | 94 - samples/microkernel/apps/philosophers/testcase.ini | 4 - samples/microkernel/apps/synchronization/Makefile | 6 - .../microkernel/apps/synchronization/README.txt | 48 - samples/microkernel/apps/synchronization/prj.conf | 2 - samples/microkernel/apps/synchronization/prj.mdef | 11 - .../microkernel/apps/synchronization/src/Makefile | 1 - .../microkernel/apps/synchronization/src/main.c | 76 - .../microkernel/apps/synchronization/testcase.ini | 4 - samples/microkernel/benchmark/app_kernel/Makefile | 12 - .../microkernel/benchmark/app_kernel/README.txt | 148 -- samples/microkernel/benchmark/app_kernel/prj.mdef | 49 - .../microkernel/benchmark/app_kernel/prj_atom.conf | 13 - .../benchmark/app_kernel/prj_minuteia.conf | 6 - .../microkernel/benchmark/app_kernel/src/Makefile | 7 - .../microkernel/benchmark/app_kernel/src/config.h | 52 - .../microkernel/benchmark/app_kernel/src/event_b.c | 176 -- .../microkernel/benchmark/app_kernel/src/fifo_b.c | 99 - .../microkernel/benchmark/app_kernel/src/fifo_r.c | 44 - .../benchmark/app_kernel/src/mailbox_b.c | 159 -- .../benchmark/app_kernel/src/mailbox_r.c | 105 - .../microkernel/benchmark/app_kernel/src/master.c | 153 -- .../microkernel/benchmark/app_kernel/src/master.h | 166 -- .../microkernel/benchmark/app_kernel/src/memcfg.h | 25 - .../benchmark/app_kernel/src/memmap_b.c | 50 - .../benchmark/app_kernel/src/mempool_b.c | 49 - .../microkernel/benchmark/app_kernel/src/mutex_b.c | 47 - .../microkernel/benchmark/app_kernel/src/nop_b.c | 49 - .../microkernel/benchmark/app_kernel/src/pipe_b.c | 251 --- .../microkernel/benchmark/app_kernel/src/pipe_r.c | 150 -- .../benchmark/app_kernel/src/receiver.c | 62 - .../benchmark/app_kernel/src/receiver.h | 36 - .../microkernel/benchmark/app_kernel/src/sema_b.c | 131 -- .../microkernel/benchmark/app_kernel/src/sema_r.c | 75 - .../microkernel/benchmark/app_kernel/testcase.ini | 6 - samples/microkernel/benchmark/boot_time/Makefile | 14 - samples/microkernel/benchmark/boot_time/README.txt | 68 - .../microkernel/benchmark/boot_time/ia32/prj.conf | 6 - .../benchmark/boot_time/ia32/prj_expert_test.conf | 7 - .../benchmark/boot_time/ia32_pci/prj.conf | 4 - samples/microkernel/benchmark/boot_time/prj.mdef | 5 - .../boot_time/quark_d2000/quark_d2000_prj.conf | 7 - .../benchmark/boot_time/quark_se/quark_se_prj.conf | 7 - .../microkernel/benchmark/boot_time/src/Makefile | 4 - .../benchmark/boot_time/src/boot_time.c | 121 -- .../microkernel/benchmark/boot_time/testcase.ini | 4 - samples/microkernel/benchmark/footprint/Makefile | 21 - samples/microkernel/benchmark/footprint/README.txt | 107 - .../microkernel/benchmark/footprint/float/arm.conf | 15 - .../microkernel/benchmark/footprint/float/x86.conf | 19 - .../microkernel/benchmark/footprint/max/arm.conf | 12 - .../microkernel/benchmark/footprint/max/x86.conf | 13 - .../benchmark/footprint/micro_float.mdef | 37 - .../microkernel/benchmark/footprint/micro_max.mdef | 37 - .../microkernel/benchmark/footprint/micro_min.mdef | 2 - .../microkernel/benchmark/footprint/micro_reg.mdef | 21 - .../microkernel/benchmark/footprint/min/arm.conf | 12 - .../benchmark/footprint/min/galileo.conf | 22 - .../microkernel/benchmark/footprint/min/x86.conf | 16 - .../microkernel/benchmark/footprint/reg/arm.conf | 9 - .../microkernel/benchmark/footprint/reg/x86.conf | 8 - .../microkernel/benchmark/footprint/src/Makefile | 1 - .../footprint/src/microkernel_footprint.c | 175 -- .../benchmark/footprint/src/test_asm_inline_gcc.h | 66 - .../microkernel/benchmark/footprint/testcase.ini | 24 - .../microkernel/benchmark/latency_measure/Makefile | 6 - .../benchmark/latency_measure/README.txt | 87 - .../microkernel/benchmark/latency_measure/prj.conf | 10 - .../microkernel/benchmark/latency_measure/prj.mdef | 76 - .../benchmark/latency_measure/src/Makefile | 15 - .../benchmark/latency_measure/src/main.c | 128 -- .../latency_measure/src/micro_int_to_task.c | 91 - .../latency_measure/src/micro_int_to_task_evt.c | 90 - .../latency_measure/src/micro_sema_lock_release.c | 123 -- .../latency_measure/src/micro_task_switch_yield.c | 116 -- .../latency_measure/src/nano_ctx_switch.c | 124 -- .../benchmark/latency_measure/src/nano_int.c | 85 - .../latency_measure/src/nano_int_lock_unlock.c | 66 - .../latency_measure/src/nano_int_to_fiber.c | 96 - .../latency_measure/src/nano_int_to_fiber_sem.c | 120 -- .../latency_measure/src/test_asm_inline_gcc.h | 36 - .../benchmark/latency_measure/src/timestamp.h | 143 -- .../benchmark/latency_measure/src/utils.c | 32 - .../benchmark/latency_measure/src/utils.h | 99 - .../benchmark/latency_measure/testcase.ini | 4 - samples/microkernel/benchmark/sys_kernel/Makefile | 7 - .../microkernel/benchmark/sys_kernel/README.txt | 175 -- samples/microkernel/benchmark/sys_kernel/prj.conf | 9 - samples/microkernel/benchmark/sys_kernel/prj.mdef | 6 - .../microkernel/benchmark/sys_kernel/testcase.ini | 4 - samples/microkernel/test/test_aes/Makefile | 7 - samples/microkernel/test/test_aes/README.txt | 48 - samples/microkernel/test/test_aes/prj.mdef | 5 - samples/microkernel/test/test_aes/prj_arm.conf | 3 - samples/microkernel/test/test_aes/prj_x86.conf | 3 - samples/microkernel/test/test_aes/testcase.ini | 4 - samples/microkernel/test/test_bluetooth/Makefile | 7 - samples/microkernel/test/test_bluetooth/prj.mdef | 5 - .../microkernel/test/test_bluetooth/prj_arm.conf | 8 - .../microkernel/test/test_bluetooth/prj_x86.conf | 8 - .../microkernel/test/test_bluetooth/testcase.ini | 3 - samples/microkernel/test/test_cbc/Makefile | 7 - samples/microkernel/test/test_cbc/README.txt | 43 - samples/microkernel/test/test_cbc/prj.mdef | 5 - samples/microkernel/test/test_cbc/prj_arm.conf | 4 - samples/microkernel/test/test_cbc/prj_x86.conf | 4 - samples/microkernel/test/test_cbc/testcase.ini | 4 - samples/microkernel/test/test_ccm_mode/Makefile | 7 - samples/microkernel/test/test_ccm_mode/README.txt | 60 - samples/microkernel/test/test_ccm_mode/prj.mdef | 5 - .../microkernel/test/test_ccm_mode/prj_arm.conf | 4 - .../microkernel/test/test_ccm_mode/prj_x86.conf | 4 - .../microkernel/test/test_ccm_mode/testcase.ini | 4 - samples/microkernel/test/test_cmac_mode/Makefile | 7 - samples/microkernel/test/test_cmac_mode/README.txt | 51 - samples/microkernel/test/test_cmac_mode/prj.mdef | 5 - .../microkernel/test/test_cmac_mode/prj_arm.conf | 4 - .../microkernel/test/test_cmac_mode/prj_x86.conf | 4 - .../microkernel/test/test_cmac_mode/testcase.ini | 4 - samples/microkernel/test/test_critical/Makefile | 6 - samples/microkernel/test/test_critical/README.txt | 51 - samples/microkernel/test/test_critical/prj.mdef | 11 - .../microkernel/test/test_critical/prj_arm.conf | 2 - .../microkernel/test/test_critical/prj_x86.conf | 6 - .../microkernel/test/test_critical/src/Makefile | 3 - .../microkernel/test/test_critical/src/critical.c | 164 -- .../microkernel/test/test_critical/testcase.ini | 3 - samples/microkernel/test/test_ctr/Makefile | 7 - samples/microkernel/test/test_ctr/README.txt | 43 - samples/microkernel/test/test_ctr/prj.mdef | 5 - samples/microkernel/test/test_ctr/prj_arm.conf | 4 - samples/microkernel/test/test_ctr/prj_x86.conf | 4 - samples/microkernel/test/test_ctr/testcase.ini | 4 - samples/microkernel/test/test_events/Makefile | 7 - samples/microkernel/test/test_events/README.txt | 45 - samples/microkernel/test/test_events/prj.mdef | 15 - samples/microkernel/test/test_events/prj_arm.conf | 1 - samples/microkernel/test/test_events/prj_x86.conf | 5 - samples/microkernel/test/test_events/src/Makefile | 3 - samples/microkernel/test/test_events/src/events.c | 587 ------ .../microkernel/test/test_events/src/test_fiber.c | 80 - samples/microkernel/test/test_events/testcase.ini | 3 - samples/microkernel/test/test_fifo/Makefile | 6 - samples/microkernel/test/test_fifo/README.txt | 86 - samples/microkernel/test/test_fifo/prj.mdef | 15 - samples/microkernel/test/test_fifo/prj_arm.conf | 1 - samples/microkernel/test/test_fifo/prj_x86.conf | 4 - samples/microkernel/test/test_fifo/src/Makefile | 3 - samples/microkernel/test/test_fifo/src/fifo.c | 628 ------ samples/microkernel/test/test_fifo/testcase.ini | 3 - samples/microkernel/test/test_fifo_priv/Makefile | 9 - samples/microkernel/test/test_fifo_priv/README.txt | 87 - samples/microkernel/test/test_fifo_priv/prj.mdef | 21 - .../microkernel/test/test_fifo_priv/prj_arm.conf | 1 - .../microkernel/test/test_fifo_priv/prj_x86.conf | 4 - .../microkernel/test/test_fifo_priv/testcase.ini | 3 - samples/microkernel/test/test_fp_sharing/Makefile | 6 - .../microkernel/test/test_fp_sharing/README.txt | 53 - samples/microkernel/test/test_fp_sharing/prj.mdef | 8 - .../microkernel/test/test_fp_sharing/prj_x86.conf | 11 - .../microkernel/test/test_fp_sharing/src/Makefile | 4 - .../test/test_fp_sharing/src/float_context.h | 99 - .../test/test_fp_sharing/src/float_regs_x86_gcc.h | 210 -- .../microkernel/test/test_fp_sharing/src/main.c | 391 ---- samples/microkernel/test/test_fp_sharing/src/pi.c | 166 -- samples/microkernel/test/test_hmac/Makefile | 7 - samples/microkernel/test/test_hmac/README.txt | 57 - samples/microkernel/test/test_hmac/pjr_arm.conf | 4 - samples/microkernel/test/test_hmac/prj.mdef | 5 - samples/microkernel/test/test_hmac/prj_arm.conf | 4 - samples/microkernel/test/test_hmac/prj_x86.conf | 4 - samples/microkernel/test/test_hmac/testcase.ini | 4 - samples/microkernel/test/test_libs/Makefile | 6 - samples/microkernel/test/test_libs/README.txt | 49 - samples/microkernel/test/test_libs/prj.mdef | 11 - samples/microkernel/test/test_libs/prj_arm.conf | 1 - samples/microkernel/test/test_libs/prj_x86.conf | 4 - samples/microkernel/test/test_libs/src/Makefile | 4 - samples/microkernel/test/test_libs/src/libraries.c | 410 ---- samples/microkernel/test/test_libs/src/main.c | 104 - samples/microkernel/test/test_libs/testcase.ini | 3 - samples/microkernel/test/test_mail/Makefile | 6 - samples/microkernel/test/test_mail/README.txt | 61 - samples/microkernel/test/test_mail/prj.mdef | 24 - samples/microkernel/test/test_mail/prj_arm.conf | 1 - samples/microkernel/test/test_mail/prj_x86.conf | 4 - samples/microkernel/test/test_mail/src/Makefile | 3 - samples/microkernel/test/test_mail/src/mail.c | 682 ------- samples/microkernel/test/test_mail/src/main.c | 135 -- samples/microkernel/test/test_mail/testcase.ini | 3 - samples/microkernel/test/test_mail_priv/Makefile | 10 - samples/microkernel/test/test_mail_priv/README.txt | 62 - samples/microkernel/test/test_mail_priv/prj.mdef | 30 - .../microkernel/test/test_mail_priv/prj_arm.conf | 1 - .../microkernel/test/test_mail_priv/prj_x86.conf | 4 - .../microkernel/test/test_mail_priv/testcase.ini | 3 - samples/microkernel/test/test_map/Makefile | 6 - samples/microkernel/test/test_map/README.txt | 80 - samples/microkernel/test/test_map/prj.mdef | 15 - samples/microkernel/test/test_map/prj_arm.conf | 1 - samples/microkernel/test/test_map/prj_x86.conf | 4 - samples/microkernel/test/test_map/src/Makefile | 3 - samples/microkernel/test/test_map/src/map.c | 397 ---- samples/microkernel/test/test_map/testcase.ini | 3 - samples/microkernel/test/test_map_priv/Makefile | 10 - samples/microkernel/test/test_map_priv/README.txt | 81 - samples/microkernel/test/test_map_priv/prj.mdef | 21 - .../microkernel/test/test_map_priv/prj_arm.conf | 1 - .../microkernel/test/test_map_priv/prj_x86.conf | 4 - .../microkernel/test/test_map_priv/testcase.ini | 3 - samples/microkernel/test/test_mutex/Makefile | 6 - samples/microkernel/test/test_mutex/README.txt | 39 - samples/microkernel/test/test_mutex/prj.mdef | 19 - samples/microkernel/test/test_mutex/prj_arm.conf | 2 - samples/microkernel/test/test_mutex/prj_x86.conf | 6 - samples/microkernel/test/test_mutex/src/Makefile | 3 - samples/microkernel/test/test_mutex/src/mutex.c | 385 ---- samples/microkernel/test/test_mutex/src/task50.c | 63 - samples/microkernel/test/test_mutex/testcase.ini | 3 - samples/microkernel/test/test_pipe/Makefile | 6 - samples/microkernel/test/test_pipe/README.txt | 42 - samples/microkernel/test/test_pipe/prj.mdef | 19 - samples/microkernel/test/test_pipe/prj_arm.conf | 1 - samples/microkernel/test/test_pipe/prj_x86.conf | 4 - samples/microkernel/test/test_pipe/src/Makefile | 3 - samples/microkernel/test/test_pipe/src/main.c | 128 -- samples/microkernel/test/test_pipe/src/pipe.c | 1046 ---------- samples/microkernel/test/test_pipe/testcase.ini | 3 - samples/microkernel/test/test_pipe_priv/Makefile | 10 - samples/microkernel/test/test_pipe_priv/README.txt | 43 - samples/microkernel/test/test_pipe_priv/prj.mdef | 25 - .../microkernel/test/test_pipe_priv/prj_arm.conf | 1 - .../microkernel/test/test_pipe_priv/prj_x86.conf | 4 - .../microkernel/test/test_pipe_priv/testcase.ini | 3 - samples/microkernel/test/test_pool/Makefile | 6 - samples/microkernel/test/test_pool/README.txt | 41 - samples/microkernel/test/test_pool/prj.mdef | 20 - samples/microkernel/test/test_pool/prj_arm.conf | 1 - samples/microkernel/test/test_pool/prj_x86.conf | 4 - samples/microkernel/test/test_pool/src/Makefile | 3 - samples/microkernel/test/test_pool/src/pool.c | 480 ----- samples/microkernel/test/test_pool/testcase.ini | 3 - samples/microkernel/test/test_prng/Makefile | 7 - samples/microkernel/test/test_prng/README.txt | 46 - samples/microkernel/test/test_prng/prj.mdef | 5 - samples/microkernel/test/test_prng/prj_arm.conf | 5 - samples/microkernel/test/test_prng/prj_x86.conf | 5 - samples/microkernel/test/test_prng/testcase.ini | 5 - samples/microkernel/test/test_rand32/Makefile | 23 - samples/microkernel/test/test_rand32/README.txt | 30 - samples/microkernel/test/test_rand32/prj.conf | 5 - samples/microkernel/test/test_rand32/prj.mdef | 6 - samples/microkernel/test/test_rand32/src/Makefile | 3 - .../microkernel/test/test_rand32/src/test-rand32.c | 81 - samples/microkernel/test/test_rand32/testcase.ini | 3 - samples/microkernel/test/test_sema/Makefile | 6 - samples/microkernel/test/test_sema/README.txt | 42 - samples/microkernel/test/test_sema/prj.mdef | 29 - samples/microkernel/test/test_sema/prj_arm.conf | 1 - samples/microkernel/test/test_sema/prj_x86.conf | 5 - samples/microkernel/test/test_sema/src/Makefile | 3 - samples/microkernel/test/test_sema/src/README | 24 - samples/microkernel/test/test_sema/src/main.c | 239 --- samples/microkernel/test/test_sema/src/sema.c | 657 ------- .../microkernel/test/test_sema/src/test_fiber.c | 84 - samples/microkernel/test/test_sema/testcase.ini | 3 - samples/microkernel/test/test_sema_priv/Makefile | 10 - samples/microkernel/test/test_sema_priv/README.txt | 44 - samples/microkernel/test/test_sema_priv/prj.mdef | 36 - .../microkernel/test/test_sema_priv/prj_arm.conf | 1 - .../microkernel/test/test_sema_priv/prj_x86.conf | 5 - .../microkernel/test/test_sema_priv/testcase.ini | 3 - samples/microkernel/test/test_sha256/Makefile | 7 - samples/microkernel/test/test_sha256/README.txt | 79 - samples/microkernel/test/test_sha256/prj.mdef | 5 - samples/microkernel/test/test_sha256/prj_arm.conf | 3 - samples/microkernel/test/test_sha256/prj_x86.conf | 3 - samples/microkernel/test/test_sha256/testcase.ini | 5 - samples/microkernel/test/test_sprintf/Makefile | 6 - samples/microkernel/test/test_sprintf/README.txt | 45 - samples/microkernel/test/test_sprintf/prj.mdef | 5 - samples/microkernel/test/test_sprintf/prj_arm.conf | 2 - samples/microkernel/test/test_sprintf/prj_x86.conf | 8 - samples/microkernel/test/test_sprintf/src/Makefile | 3 - .../test/test_sprintf/src/test_sprintf.c | 756 ------- samples/microkernel/test/test_sprintf/testcase.ini | 4 - samples/microkernel/test/test_stackprot/Makefile | 6 - samples/microkernel/test/test_stackprot/README.txt | 52 - samples/microkernel/test/test_stackprot/prj.mdef | 6 - .../microkernel/test/test_stackprot/prj_arm.conf | 6 - .../microkernel/test/test_stackprot/prj_x86.conf | 5 - .../microkernel/test/test_stackprot/src/Makefile | 3 - .../test/test_stackprot/src/stackprot.c | 167 -- .../microkernel/test/test_stackprot/testcase.ini | 3 - samples/microkernel/test/test_static_idt/Makefile | 6 - .../microkernel/test/test_static_idt/README.txt | 45 - samples/microkernel/test/test_static_idt/prj.mdef | 6 - .../microkernel/test/test_static_idt/prj_x86.conf | 5 - .../microkernel/test/test_static_idt/src/Makefile | 3 - .../test/test_static_idt/src/static_idt.c | 265 --- .../test/test_static_idt/src/test_asm_inline_gcc.h | 29 - .../test/test_static_idt/src/test_stubs.S | 76 - .../microkernel/test/test_static_idt/testcase.ini | 4 - samples/microkernel/test/test_task/Makefile | 6 - samples/microkernel/test/test_task/README.txt | 45 - samples/microkernel/test/test_task/prj.mdef | 15 - samples/microkernel/test/test_task/prj_arm.conf | 3 - samples/microkernel/test/test_task/prj_x86.conf | 7 - samples/microkernel/test/test_task/src/Makefile | 3 - samples/microkernel/test/test_task/src/task.c | 527 ----- samples/microkernel/test/test_task/testcase.ini | 3 - samples/microkernel/test/test_task_irq/Makefile | 6 - samples/microkernel/test/test_task_irq/README.txt | 58 - samples/microkernel/test/test_task_irq/prj.mdef | 14 - .../microkernel/test/test_task_irq/prj_arm.conf | 6 - .../microkernel/test/test_task_irq/prj_x86.conf | 5 - .../microkernel/test/test_task_irq/src/Makefile | 3 - samples/microkernel/test/test_task_irq/src/main.c | 147 -- .../microkernel/test/test_task_irq/src/raise_int.c | 1406 ------------- .../test/test_task_irq/src/test_device.c | 185 -- .../microkernel/test/test_task_irq/testcase.ini | 3 - samples/microkernel/test/test_task_priv/Makefile | 10 - samples/microkernel/test/test_task_priv/README.txt | 46 - samples/microkernel/test/test_task_priv/prj.mdef | 17 - .../microkernel/test/test_task_priv/prj_arm.conf | 2 - .../microkernel/test/test_task_priv/prj_x86.conf | 7 - .../microkernel/test/test_task_priv/testcase.ini | 3 - samples/microkernel/test/test_tickless/Makefile | 6 - samples/microkernel/test/test_tickless/README.txt | 55 - samples/microkernel/test/test_tickless/prj.mdef | 5 - .../microkernel/test/test_tickless/prj_arm.conf | 3 - .../microkernel/test/test_tickless/prj_x86.conf | 7 - .../microkernel/test/test_tickless/src/Makefile | 6 - .../test/test_tickless/src/test_tickless.c | 191 -- .../test/test_tickless/src/timestamps.c | 250 --- .../microkernel/test/test_tickless/testcase.ini | 4 - samples/microkernel/test/test_timer/Makefile | 6 - samples/microkernel/test/test_timer/README.txt | 76 - samples/microkernel/test/test_timer/prj.mdef | 11 - samples/microkernel/test/test_timer/prj_arm.conf | 6 - samples/microkernel/test/test_timer/prj_x86.conf | 9 - samples/microkernel/test/test_timer/src/Makefile | 4 - samples/microkernel/test/test_timer/src/timer.c | 371 ---- samples/microkernel/test/test_timer/testcase.ini | 3 - samples/microkernel/test/test_xip/Makefile | 6 - samples/microkernel/test/test_xip/README.txt | 37 - samples/microkernel/test/test_xip/prj.conf | 2 - samples/microkernel/test/test_xip/prj.mdef | 5 - samples/microkernel/test/test_xip/src/Makefile | 3 - samples/microkernel/test/test_xip/src/test.h | 35 - samples/microkernel/test/test_xip/src/test_xip.c | 76 - .../test/test_xip/src/test_xip_helper.c | 33 - samples/microkernel/test/test_xip/testcase.ini | 3 - samples/nanokernel/apps/adc/Makefile | 5 - samples/nanokernel/apps/adc/prj_arc.conf | 4 - samples/nanokernel/apps/adc/prj_x86.conf | 2 - samples/nanokernel/apps/adc/src/Makefile | 3 - samples/nanokernel/apps/adc/src/adc.c | 104 - samples/nanokernel/apps/adc/testcase.ini | 6 - samples/nanokernel/apps/aio_dw_comparator/Makefile | 5 - samples/nanokernel/apps/aio_dw_comparator/prj.conf | 4 - .../nanokernel/apps/aio_dw_comparator/src/Makefile | 1 - .../nanokernel/apps/aio_dw_comparator/src/main.c | 118 -- .../nanokernel/apps/aio_dw_comparator/testcase.ini | 6 - samples/nanokernel/apps/bluetooth/init/Makefile | 7 - .../nanokernel/apps/bluetooth/init/prj_arm.conf | 5 - .../nanokernel/apps/bluetooth/init/prj_x86.conf | 5 - samples/nanokernel/apps/bluetooth/init/tescase.ini | 4 - samples/nanokernel/apps/bluetooth/shell/Makefile | 27 - .../nanokernel/apps/bluetooth/shell/prj_arm.conf | 6 - .../nanokernel/apps/bluetooth/shell/prj_x86.conf | 6 - .../nanokernel/apps/bluetooth/shell/tescase.ini | 4 - .../nanokernel/apps/cpp_synchronization/Makefile | 7 - .../nanokernel/apps/cpp_synchronization/README.txt | 51 - .../nanokernel/apps/cpp_synchronization/prj.conf | 2 - .../apps/cpp_synchronization/testcase.ini | 4 - samples/nanokernel/apps/current_sensing/Makefile | 5 - samples/nanokernel/apps/current_sensing/README | 8 - samples/nanokernel/apps/current_sensing/prj.conf | 4 - .../nanokernel/apps/current_sensing/src/Makefile | 1 - samples/nanokernel/apps/current_sensing/src/main.c | 138 -- .../nanokernel/apps/current_sensing/testcase.ini | 6 - samples/nanokernel/apps/gpio/Makefile | 14 - samples/nanokernel/apps/gpio/prj_arc.conf | 9 - samples/nanokernel/apps/gpio/prj_arm.conf | 6 - samples/nanokernel/apps/gpio/prj_x86.conf | 7 - samples/nanokernel/apps/gpio/src/Makefile | 1 - samples/nanokernel/apps/gpio/src/main.c | 196 -- samples/nanokernel/apps/gpio/testcase.ini | 7 - samples/nanokernel/apps/grove_lcd/Makefile | 5 - samples/nanokernel/apps/grove_lcd/README | 11 - samples/nanokernel/apps/grove_lcd/prj.conf | 9 - samples/nanokernel/apps/grove_lcd/src/Makefile | 1 - samples/nanokernel/apps/grove_lcd/src/grove_lcd.c | 141 -- samples/nanokernel/apps/grove_lcd/testcase.ini | 6 - samples/nanokernel/apps/hello_world/Makefile | 5 - samples/nanokernel/apps/hello_world/README.txt | 32 - samples/nanokernel/apps/hello_world/prj.conf | 1 - samples/nanokernel/apps/hello_world/src/Makefile | 1 - samples/nanokernel/apps/hello_world/src/main.c | 39 - samples/nanokernel/apps/i2c_fujitsu_fram/Makefile | 5 - samples/nanokernel/apps/i2c_fujitsu_fram/README | 6 - samples/nanokernel/apps/i2c_fujitsu_fram/prj.conf | 4 - .../nanokernel/apps/i2c_fujitsu_fram/src/Makefile | 1 - .../nanokernel/apps/i2c_fujitsu_fram/src/main.c | 163 -- .../nanokernel/apps/i2c_fujitsu_fram/testcase.ini | 6 - .../nanokernel/apps/kernel_event_logger/Makefile | 6 - .../nanokernel/apps/kernel_event_logger/README.txt | 58 - .../apps/kernel_event_logger/prj_arm.conf | 10 - .../apps/kernel_event_logger/prj_x86.conf | 10 - .../apps/kernel_event_logger/testcase.ini | 5 - samples/nanokernel/apps/led_apa102c/Makefile | 6 - samples/nanokernel/apps/led_apa102c/prj_x86.conf | 7 - samples/nanokernel/apps/led_apa102c/src/Makefile | 1 - samples/nanokernel/apps/led_apa102c/src/main.c | 139 -- samples/nanokernel/apps/led_apa102c/testcase.ini | 6 - samples/nanokernel/apps/net/echo_server/Makefile | 26 - samples/nanokernel/apps/net/echo_server/prj.mdef | 11 - .../nanokernel/apps/net/echo_server/prj_arm.conf | 5 - .../nanokernel/apps/net/echo_server/prj_x86.conf | 6 - samples/nanokernel/apps/net/listener/Makefile | 25 - samples/nanokernel/apps/net/listener/prj.mdef | 5 - samples/nanokernel/apps/net/listener/prj_arm.conf | 5 - samples/nanokernel/apps/net/listener/prj_x86.conf | 5 - samples/nanokernel/apps/net/loopback_test/Makefile | 25 - samples/nanokernel/apps/net/loopback_test/prj.mdef | 5 - .../nanokernel/apps/net/loopback_test/prj_arm.conf | 3 - .../nanokernel/apps/net/loopback_test/prj_x86.conf | 3 - samples/nanokernel/apps/pci_enum/Makefile | 6 - samples/nanokernel/apps/pci_enum/prj_x86.conf | 5 - samples/nanokernel/apps/pci_enum/testcase.ini | 6 - samples/nanokernel/apps/philosophers/Makefile | 6 - samples/nanokernel/apps/philosophers/README.txt | 61 - samples/nanokernel/apps/philosophers/prj_arc.conf | 2 - samples/nanokernel/apps/philosophers/prj_arm.conf | 2 - samples/nanokernel/apps/philosophers/prj_x86.conf | 3 - samples/nanokernel/apps/philosophers/testcase.ini | 4 - samples/nanokernel/apps/pwm_dw/Makefile | 6 - samples/nanokernel/apps/pwm_dw/prj_x86.conf | 6 - samples/nanokernel/apps/pwm_dw/src/Makefile | 1 - samples/nanokernel/apps/pwm_dw/src/main.c | 103 - samples/nanokernel/apps/pwm_dw/testcase.ini | 6 - samples/nanokernel/apps/rtc/Makefile | 5 - samples/nanokernel/apps/rtc/rtc.config | 4 - samples/nanokernel/apps/rtc/src/Makefile | 1 - samples/nanokernel/apps/rtc/src/main.c | 53 - samples/nanokernel/apps/rtc/testcase.ini | 4 - samples/nanokernel/apps/shell/Makefile | 5 - samples/nanokernel/apps/shell/prj.conf | 3 - samples/nanokernel/apps/shell/src/Makefile | 1 - samples/nanokernel/apps/shell/src/main.c | 48 - samples/nanokernel/apps/spi_lsm9ds0/Makefile | 5 - samples/nanokernel/apps/spi_lsm9ds0/README | 21 - samples/nanokernel/apps/spi_lsm9ds0/prj.conf | 1 - samples/nanokernel/apps/spi_lsm9ds0/src/Makefile | 1 - samples/nanokernel/apps/spi_lsm9ds0/src/main.c | 83 - samples/nanokernel/apps/spi_test/Makefile | 5 - samples/nanokernel/apps/spi_test/prj_x86.conf | 1 - samples/nanokernel/apps/spi_test/src/Makefile | 3 - samples/nanokernel/apps/spi_test/src/spi.c | 95 - samples/nanokernel/apps/spi_test/testcase.ini | 6 - samples/nanokernel/apps/synchronization/Makefile | 6 - samples/nanokernel/apps/synchronization/README.txt | 48 - samples/nanokernel/apps/synchronization/prj.conf | 1 - .../nanokernel/apps/synchronization/src/Makefile | 1 - samples/nanokernel/apps/synchronization/src/main.c | 95 - .../nanokernel/apps/synchronization/testcase.ini | 4 - samples/nanokernel/apps/watchdog/Makefile | 5 - samples/nanokernel/apps/watchdog/src/Makefile | 1 - samples/nanokernel/apps/watchdog/src/main.c | 58 - samples/nanokernel/apps/watchdog/testcase.ini | 4 - samples/nanokernel/apps/watchdog/watchdog.config | 2 - samples/nanokernel/benchmark/boot_time/Makefile | 14 - samples/nanokernel/benchmark/boot_time/README.txt | 66 - .../nanokernel/benchmark/boot_time/ia32/prj.conf | 6 - .../benchmark/boot_time/ia32/prj_expert_test.conf | 7 - .../benchmark/boot_time/ia32_pci/prj.conf | 4 - .../boot_time/quark_d2000/quark_d2000_prj.conf | 7 - .../benchmark/boot_time/quark_se/quark_se_prj.conf | 7 - .../nanokernel/benchmark/boot_time/testcase.ini | 4 - samples/nanokernel/benchmark/footprint/Makefile | 20 - samples/nanokernel/benchmark/footprint/README.txt | 101 - .../nanokernel/benchmark/footprint/float/x86.conf | 8 - .../nanokernel/benchmark/footprint/max/arm.conf | 4 - .../nanokernel/benchmark/footprint/max/x86.conf | 4 - .../nanokernel/benchmark/footprint/min/arc.conf | 8 - .../nanokernel/benchmark/footprint/min/arm.conf | 8 - .../benchmark/footprint/min/galileo.conf | 17 - .../benchmark/footprint/min/quark_d2000.conf | 9 - .../nanokernel/benchmark/footprint/min/x86.conf | 11 - .../nanokernel/benchmark/footprint/reg/arm.conf | 5 - .../nanokernel/benchmark/footprint/reg/x86.conf | 4 - .../nanokernel/benchmark/footprint/src/Makefile | 1 - .../benchmark/footprint/src/nanokernel_footprint.c | 174 -- .../benchmark/footprint/src/test_asm_inline_gcc.h | 66 - .../nanokernel/benchmark/footprint/testcase.ini | 23 - .../nanokernel/benchmark/latency_measure/Makefile | 6 - .../benchmark/latency_measure/README.txt | 62 - .../nanokernel/benchmark/latency_measure/prj.conf | 7 - .../benchmark/latency_measure/testcase.ini | 4 - .../nanokernel/benchmark/object_footprint/Kconfig | 57 - .../nanokernel/benchmark/object_footprint/Makefile | 10 - .../benchmark/object_footprint/README.txt | 12 - .../benchmark/object_footprint/prj00.conf | 11 - .../benchmark/object_footprint/prj01.conf | 10 - .../benchmark/object_footprint/prj02.conf | 11 - .../benchmark/object_footprint/prj03.conf | 11 - .../benchmark/object_footprint/prj04.conf | 11 - .../benchmark/object_footprint/prj05.conf | 13 - .../benchmark/object_footprint/prj06.conf | 14 - .../benchmark/object_footprint/prj07.conf | 15 - .../benchmark/object_footprint/prj08.conf | 16 - .../benchmark/object_footprint/prj09.conf | 17 - .../benchmark/object_footprint/prj10.conf | 20 - .../benchmark/object_footprint/prj11.conf | 20 - .../nanokernel/benchmark/object_footprint/run.sh | 11 - .../benchmark/object_footprint/src/Makefile | 1 - .../object_footprint/src/nanokernel_objects.c | 165 -- .../object_footprint/src/test_asm_inline_gcc.h | 67 - samples/nanokernel/benchmark/sys_kernel/Makefile | 5 - samples/nanokernel/benchmark/sys_kernel/README.txt | 175 -- .../benchmark/sys_kernel/prj_console.conf | 4 - .../nanokernel/benchmark/sys_kernel/src/Makefile | 8 - samples/nanokernel/benchmark/sys_kernel/src/lifo.c | 255 --- .../nanokernel/benchmark/sys_kernel/src/mwfifo.c | 251 --- samples/nanokernel/benchmark/sys_kernel/src/sema.c | 186 -- .../nanokernel/benchmark/sys_kernel/src/stack.c | 233 --- .../benchmark/sys_kernel/src/syskernel.c | 205 -- .../benchmark/sys_kernel/src/syskernel.h | 71 - .../nanokernel/benchmark/sys_kernel/testcase.ini | 4 - .../test/test_arm_m3_irq_vector_table/Makefile | 5 - .../test/test_arm_m3_irq_vector_table/README.txt | 40 - .../test/test_arm_m3_irq_vector_table/prj.conf | 4 - .../test/test_arm_m3_irq_vector_table/src/Makefile | 3 - .../test/test_arm_m3_irq_vector_table/src/main.c | 122 -- .../test/test_arm_m3_irq_vector_table/testcase.ini | 4 - samples/nanokernel/test/test_atomic/Makefile | 4 - samples/nanokernel/test/test_atomic/README.txt | 55 - samples/nanokernel/test/test_atomic/src/Makefile | 3 - samples/nanokernel/test/test_atomic/src/atomic.c | 164 -- samples/nanokernel/test/test_atomic/testcase.ini | 2 - samples/nanokernel/test/test_bluetooth/Makefile | 6 - .../nanokernel/test/test_bluetooth/prj_arm.conf | 8 - .../nanokernel/test/test_bluetooth/prj_x86.conf | 8 - .../nanokernel/test/test_bluetooth/testcase.ini | 4 - samples/nanokernel/test/test_build/Makefile | 6 - samples/nanokernel/test/test_build/debug.conf | 2 - samples/nanokernel/test/test_build/newlib.conf | 3 - samples/nanokernel/test/test_build/testcase.ini | 13 - samples/nanokernel/test/test_context/Makefile | 5 - samples/nanokernel/test/test_context/README.txt | 80 - samples/nanokernel/test/test_context/prj_arm.conf | 3 - samples/nanokernel/test/test_context/prj_x86.conf | 7 - samples/nanokernel/test/test_context/src/Makefile | 4 - samples/nanokernel/test/test_context/src/README | 51 - samples/nanokernel/test/test_context/src/context.c | 945 --------- samples/nanokernel/test/test_context/testcase.ini | 5 - samples/nanokernel/test/test_errno/Makefile | 6 - samples/nanokernel/test/test_errno/README.txt | 43 - samples/nanokernel/test/test_errno/prj.conf | 1 - samples/nanokernel/test/test_errno/src/Makefile | 3 - samples/nanokernel/test/test_errno/src/main.c | 96 - samples/nanokernel/test/test_errno/testcase.ini | 3 - samples/nanokernel/test/test_fifo/Makefile | 5 - samples/nanokernel/test/test_fifo/README.txt | 121 -- samples/nanokernel/test/test_fifo/prj.conf | 8 - samples/nanokernel/test/test_fifo/src/Makefile | 4 - samples/nanokernel/test/test_fifo/src/fifo.c | 713 ------- .../nanokernel/test/test_fifo/src/fifo_timeout.c | 498 ----- samples/nanokernel/test/test_fifo/testcase.ini | 4 - samples/nanokernel/test/test_fp_sharing/Makefile | 6 - samples/nanokernel/test/test_fp_sharing/README.txt | 44 - .../nanokernel/test/test_fp_sharing/prj_x86.conf | 9 - samples/nanokernel/test/test_ipm/Makefile | 5 - samples/nanokernel/test/test_ipm/prj.conf | 5 - samples/nanokernel/test/test_ipm/src/Makefile | 4 - samples/nanokernel/test/test_ipm/src/ipm_dummy.c | 144 -- samples/nanokernel/test/test_ipm/src/ipm_dummy.h | 42 - samples/nanokernel/test/test_ipm/src/test_ipm.c | 120 -- samples/nanokernel/test/test_ipm/testcase.ini | 2 - samples/nanokernel/test/test_lifo/Makefile | 5 - samples/nanokernel/test/test_lifo/README.txt | 85 - samples/nanokernel/test/test_lifo/prj.conf | 8 - samples/nanokernel/test/test_lifo/src/Makefile | 4 - samples/nanokernel/test/test_lifo/src/README | 35 - samples/nanokernel/test/test_lifo/src/lifo.c | 1087 ---------- samples/nanokernel/test/test_lifo/testcase.ini | 4 - samples/nanokernel/test/test_mem_safe/Makefile | 5 - samples/nanokernel/test/test_mem_safe/README.txt | 96 - samples/nanokernel/test/test_mem_safe/prj.conf | 3 - samples/nanokernel/test/test_mem_safe/src/Makefile | 4 - .../nanokernel/test/test_mem_safe/src/asm_arm.S | 0 .../nanokernel/test/test_mem_safe/src/asm_x86.S | 30 - samples/nanokernel/test/test_mem_safe/src/main.c | 412 ---- samples/nanokernel/test/test_mem_safe/testcase.ini | 4 - samples/nanokernel/test/test_ring_buf/Makefile | 5 - samples/nanokernel/test/test_ring_buf/prj.conf | 2 - samples/nanokernel/test/test_ring_buf/src/Makefile | 4 - .../test/test_ring_buf/src/test_ring_buf.c | 107 - samples/nanokernel/test/test_ring_buf/testcase.ini | 3 - samples/nanokernel/test/test_sema/Makefile | 5 - samples/nanokernel/test/test_sema/README.txt | 86 - samples/nanokernel/test/test_sema/prj.conf | 6 - samples/nanokernel/test/test_sema/src/Makefile | 4 - samples/nanokernel/test/test_sema/src/README | 33 - samples/nanokernel/test/test_sema/src/sema.c | 976 --------- samples/nanokernel/test/test_sema/testcase.ini | 4 - samples/nanokernel/test/test_stack/Makefile | 5 - samples/nanokernel/test/test_stack/README.txt | 90 - samples/nanokernel/test/test_stack/prj.conf | 5 - samples/nanokernel/test/test_stack/src/Makefile | 3 - samples/nanokernel/test/test_stack/src/stack.c | 576 ------ samples/nanokernel/test/test_stack/testcase.ini | 2 - samples/nanokernel/test/test_stackprot/Makefile | 6 - samples/nanokernel/test/test_stackprot/README.txt | 50 - .../nanokernel/test/test_stackprot/prj_arc.conf | 5 - .../nanokernel/test/test_stackprot/prj_arm.conf | 6 - .../nanokernel/test/test_stackprot/prj_x86.conf | 6 - .../nanokernel/test/test_stackprot/testcase.ini | 4 - samples/nanokernel/test/test_static_idt/Makefile | 6 - samples/nanokernel/test/test_static_idt/README.txt | 46 - .../nanokernel/test/test_static_idt/prj_x86.conf | 5 - .../nanokernel/test/test_static_idt/testcase.ini | 4 - samples/nanokernel/test/test_timer/Makefile | 5 - samples/nanokernel/test/test_timer/README.txt | 50 - samples/nanokernel/test/test_timer/prj_arc.conf | 1 - samples/nanokernel/test/test_timer/prj_arm.conf | 1 - samples/nanokernel/test/test_timer/prj_x86.conf | 4 - samples/nanokernel/test/test_timer/src/Makefile | 4 - samples/nanokernel/test/test_timer/src/README | 42 - samples/nanokernel/test/test_timer/src/timer.c | 565 ------ samples/nanokernel/test/test_timer/testcase.ini | 3 - samples/nanokernel/test/test_xip/Makefile | 6 - samples/nanokernel/test/test_xip/README.txt | 37 - samples/nanokernel/test/test_xip/prj_arc.conf | 2 - samples/nanokernel/test/test_xip/prj_arm.conf | 2 - samples/nanokernel/test/test_xip/prj_x86.conf | 2 - samples/nanokernel/test/test_xip/testcase.ini | 3 - samples/net/buf/Makefile | 6 - samples/net/buf/prj.mdef | 5 - samples/net/buf/prj_x86.conf | 2 - samples/net/buf/src/Makefile | 1 - samples/net/buf/src/main.c | 89 - samples/net/buf/testcase.ini | 6 - samples/net/coap_observe_client/Makefile | 12 +- samples/net/coap_observe_client/prj_bt.conf | 8 + samples/net/coap_observe_client/src/Makefile | 5 + .../coap_observe_client/src/coap-observe-client.c | 57 +- samples/net/coap_observe_client/testcase.ini | 18 +- samples/net/coap_server/Makefile | 13 +- samples/net/coap_server/prj.mdef | 4 +- samples/net/coap_server/prj_802154.conf | 10 + samples/net/coap_server/prj_arm.conf | 10 - samples/net/coap_server/prj_bt.conf | 7 + samples/net/coap_server/prj_slip.conf | 8 + samples/net/coap_server/prj_x86.conf | 10 - samples/net/coap_server/src/Makefile | 5 + samples/net/coap_server/src/coap-server.c | 78 +- samples/net/coap_server/testcase.ini | 20 +- samples/net/dtls_client/Makefile | 6 +- samples/net/dtls_client/prj.mdef | 5 + samples/net/dtls_client/prj_802154.conf | 11 + samples/net/dtls_client/prj_arm.conf | 8 - samples/net/dtls_client/prj_slip.conf | 8 + samples/net/dtls_client/prj_x86.conf | 8 - samples/net/dtls_client/src/dtls-client.c | 28 +- samples/net/dtls_client/testcase.ini | 13 +- samples/net/dtls_server/Makefile | 14 +- samples/net/dtls_server/prj.mdef | 5 + samples/net/dtls_server/prj_802154.conf | 10 + samples/net/dtls_server/prj_arm.conf | 9 - samples/net/dtls_server/prj_bt.conf | 6 + samples/net/dtls_server/prj_slip.conf | 9 + samples/net/dtls_server/prj_x86.conf | 9 - samples/net/dtls_server/src/Makefile | 5 + samples/net/dtls_server/src/dtls-server.c | 57 +- samples/net/dtls_server/testcase.ini | 13 +- samples/net/echo_client/Makefile | 12 +- samples/net/echo_client/prj.mdef | 5 + samples/net/echo_client/prj_bt.conf | 15 + samples/net/echo_client/src/Makefile | 5 + samples/net/echo_client/src/echo-client.c | 89 +- samples/net/echo_client/testcase.ini | 7 + samples/net/echo_server/Makefile | 12 +- samples/net/echo_server/prj.mdef | 5 + samples/net/echo_server/prj_bt.conf | 15 + samples/net/echo_server/prj_ethernet.conf | 9 + samples/net/echo_server/src/Makefile | 5 + samples/net/echo_server/src/echo-server.c | 61 +- samples/net/echo_server/testcase.ini | 7 + samples/net/listener/Makefile | 26 - samples/net/listener/prj.mdef | 5 - samples/net/listener/prj_arm.conf | 5 - samples/net/listener/prj_x86.conf | 5 - samples/net/listener/src/Makefile | 6 - samples/net/listener/src/listener.c | 237 --- samples/net/listener/testcase.ini | 5 - samples/net/test_15_4/Makefile | 2 +- samples/net/test_15_4/prj.mdef | 10 + samples/nfc/nfc_hello/Makefile | 7 + samples/nfc/nfc_hello/README.txt | 2 + samples/nfc/nfc_hello/prj.conf | 3 + samples/nfc/nfc_hello/src/Makefile | 3 + samples/nfc/nfc_hello/src/main.c | 97 + samples/nfc/nfc_hello/testcase.ini | 7 + samples/philosophers/microkernel/Makefile | 6 + samples/philosophers/microkernel/README.txt | 62 + samples/philosophers/microkernel/prj.mdef | 24 + samples/philosophers/microkernel/prj_arm.conf | 2 + samples/philosophers/microkernel/prj_x86.conf | 3 + samples/philosophers/microkernel/src/Makefile | 1 + samples/philosophers/microkernel/src/phil.h | 33 + samples/philosophers/microkernel/src/phil_fiber.c | 127 ++ samples/philosophers/microkernel/src/phil_task.c | 94 + samples/philosophers/microkernel/testcase.ini | 4 + samples/philosophers/nanokernel/Makefile | 6 + samples/philosophers/nanokernel/README.txt | 61 + samples/philosophers/nanokernel/prj_arc.conf | 2 + samples/philosophers/nanokernel/prj_arm.conf | 2 + samples/philosophers/nanokernel/prj_x86.conf | 3 + samples/philosophers/nanokernel/testcase.ini | 4 + samples/power/power_hooks/Makefile | 6 + samples/power/power_hooks/README.txt | 18 + samples/power/power_hooks/prj.conf | 4 + samples/power/power_hooks/prj.mdef | 5 + samples/power/power_hooks/src/Makefile | 1 + samples/power/power_hooks/src/main.c | 66 + samples/power/power_hooks/testcase.ini | 4 + samples/shell/Makefile | 5 + samples/shell/prj.conf | 3 + samples/shell/src/Makefile | 1 + samples/shell/src/main.c | 48 + samples/synchronization/microkernel/Makefile | 6 + samples/synchronization/microkernel/README.txt | 48 + samples/synchronization/microkernel/prj.conf | 2 + samples/synchronization/microkernel/prj.mdef | 11 + samples/synchronization/microkernel/src/Makefile | 1 + samples/synchronization/microkernel/src/main.c | 76 + samples/synchronization/microkernel/testcase.ini | 4 + samples/synchronization/nanokernel/Makefile | 6 + samples/synchronization/nanokernel/README.txt | 48 + samples/synchronization/nanokernel/prj.conf | 1 + samples/synchronization/nanokernel/src/Makefile | 1 + samples/synchronization/nanokernel/src/main.c | 95 + samples/synchronization/nanokernel/testcase.ini | 4 + scripts/Makefile.toolchain.zephyr | 8 +- scripts/checkpatch.pl | 150 +- scripts/gen_idt/gen_idt.c | 76 +- scripts/gen_offset_header/gen_offset_header.c | 20 +- scripts/kconfig/confdata.c | 4 + scripts/kconfig/symbol.c | 16 +- scripts/kconfig/zconf.l | 156 ++ scripts/kconfig/zconf.lex.c_shipped | 153 ++ scripts/sanity_chk/arches/arc.ini | 6 +- scripts/sanity_chk/arches/arm.ini | 4 +- scripts/sanity_chk/arches/x86.ini | 5 +- scripts/sanity_chk/sanity_last_release.csv | 1160 +++++------ scripts/sanitycheck | 155 +- tests/benchmark/app_kernel/Makefile | 12 + tests/benchmark/app_kernel/README.txt | 148 ++ tests/benchmark/app_kernel/prj.mdef | 49 + tests/benchmark/app_kernel/prj_atom.conf | 13 + tests/benchmark/app_kernel/prj_minuteia.conf | 6 + tests/benchmark/app_kernel/src/Makefile | 7 + tests/benchmark/app_kernel/src/config.h | 52 + tests/benchmark/app_kernel/src/event_b.c | 176 ++ tests/benchmark/app_kernel/src/fifo_b.c | 99 + tests/benchmark/app_kernel/src/fifo_r.c | 44 + tests/benchmark/app_kernel/src/mailbox_b.c | 159 ++ tests/benchmark/app_kernel/src/mailbox_r.c | 105 + tests/benchmark/app_kernel/src/master.c | 153 ++ tests/benchmark/app_kernel/src/master.h | 166 ++ tests/benchmark/app_kernel/src/memcfg.h | 25 + tests/benchmark/app_kernel/src/memmap_b.c | 50 + tests/benchmark/app_kernel/src/mempool_b.c | 49 + tests/benchmark/app_kernel/src/mutex_b.c | 47 + tests/benchmark/app_kernel/src/nop_b.c | 49 + tests/benchmark/app_kernel/src/pipe_b.c | 251 +++ tests/benchmark/app_kernel/src/pipe_r.c | 150 ++ tests/benchmark/app_kernel/src/receiver.c | 62 + tests/benchmark/app_kernel/src/receiver.h | 36 + tests/benchmark/app_kernel/src/sema_b.c | 131 ++ tests/benchmark/app_kernel/src/sema_r.c | 75 + tests/benchmark/app_kernel/testcase.ini | 6 + tests/benchmark/boot_time/microkernel/Makefile | 14 + tests/benchmark/boot_time/microkernel/README.txt | 68 + .../benchmark/boot_time/microkernel/ia32/prj.conf | 6 + .../microkernel/ia32/prj_expert_test.conf | 7 + .../boot_time/microkernel/ia32_pci/prj.conf | 4 + tests/benchmark/boot_time/microkernel/prj.mdef | 5 + .../microkernel/quark_d2000/quark_d2000_prj.conf | 7 + .../microkernel/quark_se/quark_se_prj.conf | 7 + tests/benchmark/boot_time/microkernel/src/Makefile | 4 + .../boot_time/microkernel/src/boot_time.c | 121 ++ tests/benchmark/boot_time/microkernel/testcase.ini | 4 + tests/benchmark/boot_time/nanokernel/Makefile | 14 + tests/benchmark/boot_time/nanokernel/README.txt | 66 + tests/benchmark/boot_time/nanokernel/ia32/prj.conf | 6 + .../boot_time/nanokernel/ia32/prj_expert_test.conf | 7 + .../boot_time/nanokernel/ia32_pci/prj.conf | 4 + .../nanokernel/quark_d2000/quark_d2000_prj.conf | 7 + .../nanokernel/quark_se/quark_se_prj.conf | 7 + tests/benchmark/boot_time/nanokernel/testcase.ini | 4 + tests/benchmark/footprint/microkernel/Makefile | 21 + tests/benchmark/footprint/microkernel/README.txt | 107 + .../benchmark/footprint/microkernel/float/arm.conf | 15 + .../benchmark/footprint/microkernel/float/x86.conf | 19 + tests/benchmark/footprint/microkernel/max/arm.conf | 12 + tests/benchmark/footprint/microkernel/max/x86.conf | 13 + .../footprint/microkernel/micro_float.mdef | 37 + .../benchmark/footprint/microkernel/micro_max.mdef | 37 + .../benchmark/footprint/microkernel/micro_min.mdef | 2 + .../benchmark/footprint/microkernel/micro_reg.mdef | 21 + tests/benchmark/footprint/microkernel/min/arm.conf | 12 + .../footprint/microkernel/min/galileo.conf | 22 + tests/benchmark/footprint/microkernel/min/x86.conf | 16 + tests/benchmark/footprint/microkernel/reg/arm.conf | 9 + tests/benchmark/footprint/microkernel/reg/x86.conf | 8 + tests/benchmark/footprint/microkernel/src/Makefile | 1 + .../microkernel/src/microkernel_footprint.c | 175 ++ .../microkernel/src/test_asm_inline_gcc.h | 66 + tests/benchmark/footprint/microkernel/testcase.ini | 24 + tests/benchmark/footprint/nanokernel/Makefile | 20 + tests/benchmark/footprint/nanokernel/README.txt | 101 + .../benchmark/footprint/nanokernel/float/x86.conf | 8 + tests/benchmark/footprint/nanokernel/max/arm.conf | 4 + tests/benchmark/footprint/nanokernel/max/x86.conf | 4 + tests/benchmark/footprint/nanokernel/min/arc.conf | 9 + tests/benchmark/footprint/nanokernel/min/arm.conf | 8 + .../footprint/nanokernel/min/galileo.conf | 17 + .../footprint/nanokernel/min/quark_d2000.conf | 9 + tests/benchmark/footprint/nanokernel/min/x86.conf | 11 + tests/benchmark/footprint/nanokernel/reg/arm.conf | 5 + tests/benchmark/footprint/nanokernel/reg/x86.conf | 4 + tests/benchmark/footprint/nanokernel/src/Makefile | 1 + .../nanokernel/src/nanokernel_footprint.c | 174 ++ .../footprint/nanokernel/src/test_asm_inline_gcc.h | 66 + tests/benchmark/footprint/nanokernel/testcase.ini | 23 + .../benchmark/latency_measure/microkernel/Makefile | 6 + .../latency_measure/microkernel/README.txt | 87 + .../benchmark/latency_measure/microkernel/prj.conf | 10 + .../benchmark/latency_measure/microkernel/prj.mdef | 76 + .../latency_measure/microkernel/src/Makefile | 15 + .../latency_measure/microkernel/src/main.c | 128 ++ .../microkernel/src/micro_int_to_task.c | 91 + .../microkernel/src/micro_int_to_task_evt.c | 90 + .../microkernel/src/micro_sema_lock_release.c | 123 ++ .../microkernel/src/micro_task_switch_yield.c | 116 ++ .../microkernel/src/nano_ctx_switch.c | 124 ++ .../latency_measure/microkernel/src/nano_int.c | 85 + .../microkernel/src/nano_int_lock_unlock.c | 66 + .../microkernel/src/nano_int_to_fiber.c | 96 + .../microkernel/src/nano_int_to_fiber_sem.c | 120 ++ .../microkernel/src/test_asm_inline_gcc.h | 36 + .../latency_measure/microkernel/src/timestamp.h | 143 ++ .../latency_measure/microkernel/src/utils.c | 32 + .../latency_measure/microkernel/src/utils.h | 99 + .../latency_measure/microkernel/testcase.ini | 4 + .../benchmark/latency_measure/nanokernel/Makefile | 6 + .../latency_measure/nanokernel/README.txt | 62 + .../benchmark/latency_measure/nanokernel/prj.conf | 7 + .../latency_measure/nanokernel/testcase.ini | 4 + tests/benchmark/object_footprint/Kconfig | 57 + tests/benchmark/object_footprint/Makefile | 10 + tests/benchmark/object_footprint/README.txt | 12 + tests/benchmark/object_footprint/prj00.conf | 11 + tests/benchmark/object_footprint/prj01.conf | 10 + tests/benchmark/object_footprint/prj02.conf | 11 + tests/benchmark/object_footprint/prj03.conf | 11 + tests/benchmark/object_footprint/prj04.conf | 11 + tests/benchmark/object_footprint/prj05.conf | 13 + tests/benchmark/object_footprint/prj06.conf | 14 + tests/benchmark/object_footprint/prj07.conf | 15 + tests/benchmark/object_footprint/prj08.conf | 16 + tests/benchmark/object_footprint/prj09.conf | 17 + tests/benchmark/object_footprint/prj10.conf | 20 + tests/benchmark/object_footprint/prj11.conf | 20 + tests/benchmark/object_footprint/run.sh | 11 + tests/benchmark/object_footprint/src/Makefile | 1 + .../object_footprint/src/nanokernel_objects.c | 165 ++ .../object_footprint/src/test_asm_inline_gcc.h | 67 + tests/benchmark/sys_kernel/microkernel/Makefile | 7 + tests/benchmark/sys_kernel/microkernel/README.txt | 175 ++ tests/benchmark/sys_kernel/microkernel/prj.conf | 9 + tests/benchmark/sys_kernel/microkernel/prj.mdef | 6 + .../benchmark/sys_kernel/microkernel/testcase.ini | 4 + tests/benchmark/sys_kernel/nanokernel/Makefile | 5 + tests/benchmark/sys_kernel/nanokernel/README.txt | 175 ++ .../sys_kernel/nanokernel/prj_console.conf | 4 + tests/benchmark/sys_kernel/nanokernel/src/Makefile | 8 + tests/benchmark/sys_kernel/nanokernel/src/lifo.c | 255 +++ tests/benchmark/sys_kernel/nanokernel/src/mwfifo.c | 251 +++ tests/benchmark/sys_kernel/nanokernel/src/sema.c | 186 ++ tests/benchmark/sys_kernel/nanokernel/src/stack.c | 233 +++ .../sys_kernel/nanokernel/src/syskernel.c | 205 ++ .../sys_kernel/nanokernel/src/syskernel.h | 71 + tests/benchmark/sys_kernel/nanokernel/testcase.ini | 4 + tests/bluetooth/init/Makefile | 7 + tests/bluetooth/init/prj.conf | 3 + tests/bluetooth/init/prj.mdef | 5 + tests/bluetooth/init/prj_h5.conf | 4 + tests/bluetooth/init/src/Makefile | 1 + tests/bluetooth/init/src/main.c | 40 + tests/bluetooth/init/testcase.ini | 19 + tests/bluetooth/shell/Makefile | 30 + tests/bluetooth/shell/README | 7 + tests/bluetooth/shell/prj.mdef | 5 + tests/bluetooth/shell/prj_arm.conf | 14 + tests/bluetooth/shell/prj_nble.conf | 7 + tests/bluetooth/shell/prj_x86.conf | 14 + tests/bluetooth/shell/src/Makefile | 3 + tests/bluetooth/shell/src/main.c | 1538 +++++++++++++++ tests/bluetooth/shell/testcase.ini | 46 + tests/bluetooth/test_bluetooth/Makefile | 6 + tests/bluetooth/test_bluetooth/prj.conf | 8 + tests/bluetooth/test_bluetooth/prj.mdef | 5 + tests/bluetooth/test_bluetooth/src/Makefile | 3 + tests/bluetooth/test_bluetooth/src/bluetooth.c | 73 + tests/bluetooth/test_bluetooth/testcase.ini | 9 + tests/bluetooth/tester/Makefile | 37 + tests/bluetooth/tester/README | 2 + tests/bluetooth/tester/btp_spec.txt | 1068 ++++++++++ tests/bluetooth/tester/prj.conf | 20 + tests/bluetooth/tester/prj.mdef | 5 + tests/bluetooth/tester/prj_nble.conf | 5 + tests/bluetooth/tester/src/Makefile | 3 + tests/bluetooth/tester/src/bttester.c | 233 +++ tests/bluetooth/tester/src/bttester.h | 536 +++++ tests/bluetooth/tester/src/gap.c | 560 ++++++ tests/bluetooth/tester/src/gatt.c | 1656 ++++++++++++++++ tests/bluetooth/tester/src/main.c | 32 + tests/bluetooth/tester/testcase.ini | 12 + tests/crypto/test_aes/Makefile | 6 + tests/crypto/test_aes/README.txt | 48 + tests/crypto/test_aes/prj.mdef | 5 + tests/crypto/test_aes/prj_arm.conf | 3 + tests/crypto/test_aes/prj_x86.conf | 3 + tests/crypto/test_aes/src/Makefile | 2 + tests/crypto/test_aes/src/test_aes.c | 2075 ++++++++++++++++++++ tests/crypto/test_aes/testcase.ini | 3 + tests/crypto/test_cbc/Makefile | 6 + tests/crypto/test_cbc/README.txt | 43 + tests/crypto/test_cbc/prj.mdef | 5 + tests/crypto/test_cbc/prj_arm.conf | 4 + tests/crypto/test_cbc/prj_x86.conf | 4 + tests/crypto/test_cbc/src/Makefile | 2 + tests/crypto/test_cbc/src/test_cbc_mode.c | 177 ++ tests/crypto/test_cbc/testcase.ini | 4 + tests/crypto/test_ccm_mode/Makefile | 6 + tests/crypto/test_ccm_mode/README.txt | 60 + tests/crypto/test_ccm_mode/prj.mdef | 5 + tests/crypto/test_ccm_mode/prj_arm.conf | 4 + tests/crypto/test_ccm_mode/prj_x86.conf | 4 + tests/crypto/test_ccm_mode/src/Makefile | 2 + tests/crypto/test_ccm_mode/src/test_ccm_mode.c | 509 +++++ tests/crypto/test_ccm_mode/testcase.ini | 4 + tests/crypto/test_cmac_mode/Makefile | 6 + tests/crypto/test_cmac_mode/README.txt | 51 + tests/crypto/test_cmac_mode/prj.mdef | 5 + tests/crypto/test_cmac_mode/prj_arm.conf | 4 + tests/crypto/test_cmac_mode/prj_x86.conf | 4 + tests/crypto/test_cmac_mode/src/Makefile | 2 + tests/crypto/test_cmac_mode/src/test_cmac_mode.c | 309 +++ tests/crypto/test_cmac_mode/testcase.ini | 4 + tests/crypto/test_ctr/Makefile | 6 + tests/crypto/test_ctr/README.txt | 43 + tests/crypto/test_ctr/prj.mdef | 5 + tests/crypto/test_ctr/prj_arm.conf | 4 + tests/crypto/test_ctr/prj_x86.conf | 4 + tests/crypto/test_ctr/src/Makefile | 2 + tests/crypto/test_ctr/src/test_ctr_mode.c | 141 ++ tests/crypto/test_ctr/testcase.ini | 4 + tests/crypto/test_hmac/Makefile | 6 + tests/crypto/test_hmac/README.txt | 57 + tests/crypto/test_hmac/pjr_arm.conf | 4 + tests/crypto/test_hmac/prj.mdef | 5 + tests/crypto/test_hmac/prj_arm.conf | 4 + tests/crypto/test_hmac/prj_x86.conf | 4 + tests/crypto/test_hmac/src/Makefile | 2 + tests/crypto/test_hmac/src/test_hmac.c | 358 ++++ tests/crypto/test_hmac/testcase.ini | 5 + tests/crypto/test_prng/Makefile | 6 + tests/crypto/test_prng/README.txt | 46 + tests/crypto/test_prng/prj.mdef | 5 + tests/crypto/test_prng/prj_arm.conf | 5 + tests/crypto/test_prng/prj_x86.conf | 5 + tests/crypto/test_prng/src/Makefile | 3 + tests/crypto/test_prng/src/test_hmac_prng.c | 113 ++ tests/crypto/test_prng/testcase.ini | 4 + tests/crypto/test_sha256/Makefile | 6 + tests/crypto/test_sha256/README.txt | 79 + tests/crypto/test_sha256/prj.mdef | 5 + tests/crypto/test_sha256/prj_arm.conf | 3 + tests/crypto/test_sha256/prj_x86.conf | 3 + tests/crypto/test_sha256/src/Makefile | 3 + tests/crypto/test_sha256/src/test_sha256.c | 510 +++++ tests/crypto/test_sha256/testcase.ini | 5 + tests/include/tc_nano_timeout_common.h | 68 + tests/include/tc_util.h | 70 + tests/include/test_utils.h | 76 + tests/include/util_test_common.h | 30 + tests/kernel/test_arm_m3_irq_vector_table/Makefile | 5 + .../kernel/test_arm_m3_irq_vector_table/README.txt | 40 + tests/kernel/test_arm_m3_irq_vector_table/prj.conf | 4 + .../test_arm_m3_irq_vector_table/src/Makefile | 3 + .../kernel/test_arm_m3_irq_vector_table/src/main.c | 122 ++ .../test_arm_m3_irq_vector_table/testcase.ini | 4 + tests/kernel/test_atomic/Makefile | 4 + tests/kernel/test_atomic/README.txt | 55 + tests/kernel/test_atomic/src/Makefile | 3 + tests/kernel/test_atomic/src/atomic.c | 164 ++ tests/kernel/test_atomic/testcase.ini | 2 + tests/kernel/test_build/Makefile | 6 + tests/kernel/test_build/debug.conf | 2 + tests/kernel/test_build/newlib.conf | 3 + tests/kernel/test_build/testcase.ini | 13 + tests/kernel/test_context/Makefile | 5 + tests/kernel/test_context/README.txt | 80 + tests/kernel/test_context/prj_arm.conf | 3 + tests/kernel/test_context/prj_x86.conf | 7 + tests/kernel/test_context/src/Makefile | 4 + tests/kernel/test_context/src/README | 51 + tests/kernel/test_context/src/context.c | 935 +++++++++ tests/kernel/test_context/testcase.ini | 5 + tests/kernel/test_critical/Makefile | 6 + tests/kernel/test_critical/README.txt | 51 + tests/kernel/test_critical/prj.mdef | 11 + tests/kernel/test_critical/prj_arm.conf | 2 + tests/kernel/test_critical/prj_x86.conf | 6 + tests/kernel/test_critical/src/Makefile | 3 + tests/kernel/test_critical/src/critical.c | 164 ++ tests/kernel/test_critical/testcase.ini | 3 + tests/kernel/test_errno/Makefile | 6 + tests/kernel/test_errno/README.txt | 43 + tests/kernel/test_errno/prj.conf | 1 + tests/kernel/test_errno/src/Makefile | 3 + tests/kernel/test_errno/src/main.c | 96 + tests/kernel/test_errno/testcase.ini | 3 + tests/kernel/test_events/Makefile | 7 + tests/kernel/test_events/README.txt | 45 + tests/kernel/test_events/prj.mdef | 15 + tests/kernel/test_events/prj_arm.conf | 1 + tests/kernel/test_events/prj_x86.conf | 5 + tests/kernel/test_events/src/Makefile | 3 + tests/kernel/test_events/src/events.c | 587 ++++++ tests/kernel/test_events/src/test_fiber.c | 80 + tests/kernel/test_events/testcase.ini | 3 + tests/kernel/test_fifo/Makefile | 6 + tests/kernel/test_fifo/README.microkernel.txt | 86 + tests/kernel/test_fifo/README.nanokernel.txt | 121 ++ tests/kernel/test_fifo/prj.conf | 8 + tests/kernel/test_fifo/prj.mdef | 15 + tests/kernel/test_fifo/src/Makefile | 5 + tests/kernel/test_fifo/src/fifo_timeout.c | 498 +++++ tests/kernel/test_fifo/src/micro_fifo.c | 628 ++++++ tests/kernel/test_fifo/src/nano_fifo.c | 713 +++++++ tests/kernel/test_fifo/testcase.ini | 11 + tests/kernel/test_fifo_priv/Makefile | 9 + tests/kernel/test_fifo_priv/README.txt | 87 + tests/kernel/test_fifo_priv/prj.mdef | 21 + tests/kernel/test_fifo_priv/prj_arm.conf | 1 + tests/kernel/test_fifo_priv/prj_x86.conf | 4 + tests/kernel/test_fifo_priv/testcase.ini | 3 + tests/kernel/test_fp_sharing/microkernel/Makefile | 6 + .../kernel/test_fp_sharing/microkernel/README.txt | 53 + tests/kernel/test_fp_sharing/microkernel/prj.mdef | 8 + .../test_fp_sharing/microkernel/prj_x86.conf | 11 + .../test_fp_sharing/microkernel/src/Makefile | 4 + .../microkernel/src/float_context.h | 99 + .../microkernel/src/float_regs_x86_gcc.h | 210 ++ .../kernel/test_fp_sharing/microkernel/src/main.c | 391 ++++ tests/kernel/test_fp_sharing/microkernel/src/pi.c | 166 ++ tests/kernel/test_fp_sharing/nanokernel/Makefile | 6 + tests/kernel/test_fp_sharing/nanokernel/README.txt | 44 + .../kernel/test_fp_sharing/nanokernel/prj_x86.conf | 9 + tests/kernel/test_ipm/Makefile | 5 + tests/kernel/test_ipm/prj.conf | 5 + tests/kernel/test_ipm/src/Makefile | 4 + tests/kernel/test_ipm/src/ipm_dummy.c | 144 ++ tests/kernel/test_ipm/src/ipm_dummy.h | 42 + tests/kernel/test_ipm/src/test_ipm.c | 120 ++ tests/kernel/test_ipm/testcase.ini | 2 + tests/kernel/test_libs/Makefile | 6 + tests/kernel/test_libs/README.txt | 49 + tests/kernel/test_libs/prj.mdef | 11 + tests/kernel/test_libs/prj_arm.conf | 1 + tests/kernel/test_libs/prj_x86.conf | 4 + tests/kernel/test_libs/src/Makefile | 4 + tests/kernel/test_libs/src/libraries.c | 410 ++++ tests/kernel/test_libs/src/main.c | 104 + tests/kernel/test_libs/testcase.ini | 3 + tests/kernel/test_lifo/Makefile | 5 + tests/kernel/test_lifo/README.txt | 85 + tests/kernel/test_lifo/prj.conf | 8 + tests/kernel/test_lifo/src/Makefile | 4 + tests/kernel/test_lifo/src/README | 35 + tests/kernel/test_lifo/src/lifo.c | 1087 ++++++++++ tests/kernel/test_lifo/testcase.ini | 4 + tests/kernel/test_mail/Makefile | 6 + tests/kernel/test_mail/README.txt | 61 + tests/kernel/test_mail/prj.mdef | 24 + tests/kernel/test_mail/prj_arm.conf | 1 + tests/kernel/test_mail/prj_x86.conf | 4 + tests/kernel/test_mail/src/Makefile | 3 + tests/kernel/test_mail/src/mail.c | 682 +++++++ tests/kernel/test_mail/src/main.c | 135 ++ tests/kernel/test_mail/testcase.ini | 3 + tests/kernel/test_mail_priv/Makefile | 10 + tests/kernel/test_mail_priv/README.txt | 62 + tests/kernel/test_mail_priv/prj.mdef | 30 + tests/kernel/test_mail_priv/prj_arm.conf | 1 + tests/kernel/test_mail_priv/prj_x86.conf | 4 + tests/kernel/test_mail_priv/testcase.ini | 3 + tests/kernel/test_map/Makefile | 6 + tests/kernel/test_map/README.txt | 80 + tests/kernel/test_map/prj.mdef | 15 + tests/kernel/test_map/prj_arm.conf | 1 + tests/kernel/test_map/prj_x86.conf | 4 + tests/kernel/test_map/src/Makefile | 3 + tests/kernel/test_map/src/map.c | 397 ++++ tests/kernel/test_map/testcase.ini | 3 + tests/kernel/test_map_priv/Makefile | 10 + tests/kernel/test_map_priv/README.txt | 81 + tests/kernel/test_map_priv/prj.mdef | 21 + tests/kernel/test_map_priv/prj_arm.conf | 1 + tests/kernel/test_map_priv/prj_x86.conf | 4 + tests/kernel/test_map_priv/testcase.ini | 3 + tests/kernel/test_mem_safe/Makefile | 5 + tests/kernel/test_mem_safe/README.txt | 96 + tests/kernel/test_mem_safe/prj.conf | 3 + tests/kernel/test_mem_safe/src/Makefile | 4 + tests/kernel/test_mem_safe/src/asm_arm.S | 0 tests/kernel/test_mem_safe/src/asm_x86.S | 30 + tests/kernel/test_mem_safe/src/main.c | 412 ++++ tests/kernel/test_mem_safe/testcase.ini | 4 + tests/kernel/test_mutex/Makefile | 6 + tests/kernel/test_mutex/README.txt | 39 + tests/kernel/test_mutex/prj.mdef | 19 + tests/kernel/test_mutex/prj_arm.conf | 2 + tests/kernel/test_mutex/prj_x86.conf | 6 + tests/kernel/test_mutex/src/Makefile | 3 + tests/kernel/test_mutex/src/mutex.c | 385 ++++ tests/kernel/test_mutex/src/task50.c | 63 + tests/kernel/test_mutex/testcase.ini | 3 + tests/kernel/test_pipe/Makefile | 6 + tests/kernel/test_pipe/README.txt | 42 + tests/kernel/test_pipe/prj.mdef | 19 + tests/kernel/test_pipe/prj_arm.conf | 1 + tests/kernel/test_pipe/prj_x86.conf | 4 + tests/kernel/test_pipe/src/Makefile | 3 + tests/kernel/test_pipe/src/main.c | 128 ++ tests/kernel/test_pipe/src/pipe.c | 1046 ++++++++++ tests/kernel/test_pipe/testcase.ini | 3 + tests/kernel/test_pipe_priv/Makefile | 10 + tests/kernel/test_pipe_priv/README.txt | 43 + tests/kernel/test_pipe_priv/prj.mdef | 25 + tests/kernel/test_pipe_priv/prj_arm.conf | 1 + tests/kernel/test_pipe_priv/prj_x86.conf | 4 + tests/kernel/test_pipe_priv/testcase.ini | 3 + tests/kernel/test_pool/Makefile | 6 + tests/kernel/test_pool/README.txt | 41 + tests/kernel/test_pool/prj.mdef | 20 + tests/kernel/test_pool/prj_arm.conf | 1 + tests/kernel/test_pool/prj_x86.conf | 4 + tests/kernel/test_pool/src/Makefile | 3 + tests/kernel/test_pool/src/pool.c | 480 +++++ tests/kernel/test_pool/testcase.ini | 3 + tests/kernel/test_rand32/Makefile | 23 + tests/kernel/test_rand32/README.txt | 30 + tests/kernel/test_rand32/prj.conf | 5 + tests/kernel/test_rand32/prj.mdef | 6 + tests/kernel/test_rand32/src/Makefile | 3 + tests/kernel/test_rand32/src/test-rand32.c | 81 + tests/kernel/test_rand32/testcase.ini | 3 + tests/kernel/test_ring_buf/Makefile | 5 + tests/kernel/test_ring_buf/prj.conf | 2 + tests/kernel/test_ring_buf/src/Makefile | 4 + tests/kernel/test_ring_buf/src/test_ring_buf.c | 107 + tests/kernel/test_ring_buf/testcase.ini | 3 + tests/kernel/test_sema/microkernel/Makefile | 6 + tests/kernel/test_sema/microkernel/README.txt | 42 + tests/kernel/test_sema/microkernel/prj.mdef | 29 + tests/kernel/test_sema/microkernel/prj_arm.conf | 1 + tests/kernel/test_sema/microkernel/prj_x86.conf | 5 + tests/kernel/test_sema/microkernel/src/Makefile | 3 + tests/kernel/test_sema/microkernel/src/README | 24 + tests/kernel/test_sema/microkernel/src/main.c | 239 +++ tests/kernel/test_sema/microkernel/src/sema.c | 657 +++++++ .../kernel/test_sema/microkernel/src/test_fiber.c | 84 + tests/kernel/test_sema/microkernel/testcase.ini | 3 + tests/kernel/test_sema/nanokernel/Makefile | 5 + tests/kernel/test_sema/nanokernel/README.txt | 86 + tests/kernel/test_sema/nanokernel/prj.conf | 6 + tests/kernel/test_sema/nanokernel/src/Makefile | 4 + tests/kernel/test_sema/nanokernel/src/README | 33 + tests/kernel/test_sema/nanokernel/src/sema.c | 976 +++++++++ tests/kernel/test_sema/nanokernel/testcase.ini | 4 + tests/kernel/test_sema_priv/Makefile | 10 + tests/kernel/test_sema_priv/README.txt | 44 + tests/kernel/test_sema_priv/prj.mdef | 36 + tests/kernel/test_sema_priv/prj_arm.conf | 1 + tests/kernel/test_sema_priv/prj_x86.conf | 5 + tests/kernel/test_sema_priv/testcase.ini | 3 + tests/kernel/test_sleep/Makefile | 5 + tests/kernel/test_sleep/README.txt | 45 + tests/kernel/test_sleep/prj.conf | 6 + tests/kernel/test_sleep/src/Makefile | 3 + tests/kernel/test_sleep/src/sleep.c | 205 ++ tests/kernel/test_sleep/testcase.ini | 2 + tests/kernel/test_sprintf/microkernel/Makefile | 6 + tests/kernel/test_sprintf/microkernel/README.txt | 45 + tests/kernel/test_sprintf/microkernel/prj.mdef | 5 + tests/kernel/test_sprintf/microkernel/prj_arm.conf | 2 + tests/kernel/test_sprintf/microkernel/prj_x86.conf | 8 + tests/kernel/test_sprintf/microkernel/src/Makefile | 3 + .../test_sprintf/microkernel/src/test_sprintf.c | 756 +++++++ tests/kernel/test_sprintf/microkernel/testcase.ini | 4 + tests/kernel/test_stack/nanokernel/Makefile | 5 + tests/kernel/test_stack/nanokernel/README.txt | 90 + tests/kernel/test_stack/nanokernel/prj.conf | 5 + tests/kernel/test_stack/nanokernel/src/Makefile | 3 + tests/kernel/test_stack/nanokernel/src/stack.c | 576 ++++++ tests/kernel/test_stack/nanokernel/testcase.ini | 2 + tests/kernel/test_stackprot/microkernel/Makefile | 6 + tests/kernel/test_stackprot/microkernel/README.txt | 52 + tests/kernel/test_stackprot/microkernel/prj.mdef | 6 + .../kernel/test_stackprot/microkernel/prj_arm.conf | 6 + .../kernel/test_stackprot/microkernel/prj_x86.conf | 5 + .../kernel/test_stackprot/microkernel/src/Makefile | 3 + .../test_stackprot/microkernel/src/stackprot.c | 167 ++ .../kernel/test_stackprot/microkernel/testcase.ini | 3 + tests/kernel/test_stackprot/nanokernel/Makefile | 6 + tests/kernel/test_stackprot/nanokernel/README.txt | 50 + .../kernel/test_stackprot/nanokernel/prj_arc.conf | 5 + .../kernel/test_stackprot/nanokernel/prj_arm.conf | 6 + .../kernel/test_stackprot/nanokernel/prj_x86.conf | 6 + .../kernel/test_stackprot/nanokernel/testcase.ini | 4 + tests/kernel/test_static_idt/microkernel/Makefile | 6 + .../kernel/test_static_idt/microkernel/README.txt | 45 + tests/kernel/test_static_idt/microkernel/prj.mdef | 6 + .../test_static_idt/microkernel/prj_x86.conf | 5 + .../test_static_idt/microkernel/src/Makefile | 3 + .../test_static_idt/microkernel/src/static_idt.c | 265 +++ .../microkernel/src/test_asm_inline_gcc.h | 29 + .../test_static_idt/microkernel/src/test_stubs.S | 76 + .../test_static_idt/microkernel/testcase.ini | 4 + tests/kernel/test_static_idt/nanokernel/Makefile | 6 + tests/kernel/test_static_idt/nanokernel/README.txt | 46 + .../kernel/test_static_idt/nanokernel/prj_x86.conf | 5 + .../kernel/test_static_idt/nanokernel/testcase.ini | 4 + tests/kernel/test_task/Makefile | 6 + tests/kernel/test_task/README.txt | 45 + tests/kernel/test_task/prj.mdef | 15 + tests/kernel/test_task/prj_arm.conf | 3 + tests/kernel/test_task/prj_x86.conf | 7 + tests/kernel/test_task/src/Makefile | 3 + tests/kernel/test_task/src/task.c | 527 +++++ tests/kernel/test_task/testcase.ini | 3 + tests/kernel/test_task_irq/Makefile | 6 + tests/kernel/test_task_irq/README.txt | 58 + tests/kernel/test_task_irq/prj.mdef | 14 + tests/kernel/test_task_irq/prj_arm.conf | 6 + tests/kernel/test_task_irq/prj_x86.conf | 5 + tests/kernel/test_task_irq/src/Makefile | 3 + tests/kernel/test_task_irq/src/main.c | 147 ++ tests/kernel/test_task_irq/src/raise_int.c | 1406 +++++++++++++ tests/kernel/test_task_irq/src/test_device.c | 185 ++ tests/kernel/test_task_irq/testcase.ini | 3 + tests/kernel/test_task_priv/Makefile | 10 + tests/kernel/test_task_priv/README.txt | 46 + tests/kernel/test_task_priv/prj.mdef | 17 + tests/kernel/test_task_priv/prj_arm.conf | 2 + tests/kernel/test_task_priv/prj_x86.conf | 7 + tests/kernel/test_task_priv/testcase.ini | 3 + tests/kernel/test_tickless/microkernel/Makefile | 6 + tests/kernel/test_tickless/microkernel/README.txt | 55 + tests/kernel/test_tickless/microkernel/prj.mdef | 5 + .../kernel/test_tickless/microkernel/prj_arm.conf | 3 + .../kernel/test_tickless/microkernel/prj_x86.conf | 7 + .../kernel/test_tickless/microkernel/src/Makefile | 6 + .../test_tickless/microkernel/src/test_tickless.c | 191 ++ .../test_tickless/microkernel/src/timestamps.c | 317 +++ .../kernel/test_tickless/microkernel/testcase.ini | 3 + tests/kernel/test_timer/microkernel/Makefile | 6 + tests/kernel/test_timer/microkernel/README.txt | 76 + tests/kernel/test_timer/microkernel/prj.mdef | 11 + tests/kernel/test_timer/microkernel/prj_arm.conf | 6 + tests/kernel/test_timer/microkernel/prj_x86.conf | 9 + tests/kernel/test_timer/microkernel/src/Makefile | 4 + tests/kernel/test_timer/microkernel/src/timer.c | 371 ++++ tests/kernel/test_timer/microkernel/testcase.ini | 3 + tests/kernel/test_timer/nanokernel/Makefile | 5 + tests/kernel/test_timer/nanokernel/README.txt | 50 + tests/kernel/test_timer/nanokernel/prj_arc.conf | 1 + tests/kernel/test_timer/nanokernel/prj_arm.conf | 1 + tests/kernel/test_timer/nanokernel/prj_x86.conf | 4 + tests/kernel/test_timer/nanokernel/src/Makefile | 4 + tests/kernel/test_timer/nanokernel/src/README | 42 + tests/kernel/test_timer/nanokernel/src/timer.c | 565 ++++++ tests/kernel/test_timer/nanokernel/testcase.ini | 3 + tests/kernel/test_xip/microkernel/Makefile | 6 + tests/kernel/test_xip/microkernel/README.txt | 37 + tests/kernel/test_xip/microkernel/prj.conf | 2 + tests/kernel/test_xip/microkernel/prj.mdef | 5 + tests/kernel/test_xip/microkernel/src/Makefile | 3 + tests/kernel/test_xip/microkernel/src/test.h | 35 + tests/kernel/test_xip/microkernel/src/test_xip.c | 76 + .../test_xip/microkernel/src/test_xip_helper.c | 33 + tests/kernel/test_xip/microkernel/testcase.ini | 3 + tests/kernel/test_xip/nanokernel/Makefile | 6 + tests/kernel/test_xip/nanokernel/README.txt | 37 + tests/kernel/test_xip/nanokernel/prj_arc.conf | 2 + tests/kernel/test_xip/nanokernel/prj_arm.conf | 2 + tests/kernel/test_xip/nanokernel/prj_x86.conf | 2 + tests/kernel/test_xip/nanokernel/testcase.ini | 3 + tests/net/buf/Makefile | 6 + tests/net/buf/prj.mdef | 5 + tests/net/buf/prj_x86.conf | 2 + tests/net/buf/src/Makefile | 1 + tests/net/buf/src/main.c | 89 + tests/net/buf/testcase.ini | 6 + zephyr-env.sh | 44 +- 1944 files changed, 59210 insertions(+), 53124 deletions(-)
|
|
Re: [RFC v2] uart: add ISR callback mechanism for UART drivers
Daniel Leung <daniel.leung@...>
On Wed, Mar 02, 2016 at 10:14:02PM -0300, Andre Guedes wrote:
Hi Daniel,This is something I have thought about, but there is no concrete plan. Is there anything particular you are looking for? Use cases would be a good start. This helps me to understand what needs to be done. ----- Daniel Leung
|
|
Re: [RFC v2] uart: add ISR callback mechanism for UART drivers
Andre Guedes <andre.guedes@...>
Hi Daniel,
Quoting Daniel Leung (2016-03-01 21:04:02) The peripherals utilizing UART were required to register their ownThis is actually a nice improvement on the UART API since it moves the burden of registering the ISR from the user layer to the driver layer, which is the right place, IMO. Actually, the UART API is very low level when we compare it with other APIs such as SPI and I2C. For instance, the UART API exposes functions to manipulate the FIFOs and check for interrupt flags. Is there any plan to add higher level APIs such as "transmit the characters from this buffer and call this callback once the transmission finishes" or "read 10 characters into this buffer and call this callback once it is done"? Regards, Andre
|
|
Re: RFC: Use error codes from errno.h
Hi Jesus,
On Wed, Mar 02, 2016, Jesus Sanchez-Palencia wrote: DEV_OK = 0-EACCES? EAGAIN doesn't seem like the best match here. Johan
|
|
Re: RFC: Use error codes from errno.h
Kalowsky, Daniel <daniel.kalowsky@...>
toggle quoted messageShow quoted text
-----Original Message-----This is proposal is very similar to what we had done originally for the devices instead of using the DEV_ names. EFAULT DEV_INVALID_OP = -EPERM or -ENOTSUP (??)ESRCH DEV_INVALID_CONF = -EINVALENOTSUP DEV_NOT_CONFIG = (??)EIO DEV_NOT_IMPLEMENTED = -ENOSYS
|
|
Re: RFC: Counter driver API
Tseng, Kuo-Lang <kuo-lang.tseng@...>
toggle quoted messageShow quoted text
-----Original Message-----Correct. Good point. Makes sense. This will work for both count-up timer and counting-down timer.
|
|
Re: RFC: Use error codes from errno.h
Jesus Sanchez-Palencia <jesus.sanchez-palencia@...>
On Wed, 2 Mar 2016 16:03:22 -0300
Jesus Sanchez-Palencia <jesus.sanchez-palencia(a)intel.com> wrote: Hi, I forgot to mention that whichever guidelines come out of this thread, I will move to QMSI so we are all aligned.
|
|
Re: RFC: Counter driver API
Andre Guedes <andre.guedes@...>
Hi guys,
Quoting Tseng, Kuo-Lang (2016-02-26 17:29:17) BackgroundAs a generic API we should be able to address counters devices with different features such as counting up and counting down, free running, periodic and one-shot for instance. I was exercising this API and I think it might not handle properly counting up devices with interrupt support since the matching value (which generates the interrupt) cannot be set. I'd like to suggest a few changes based on the original proposal (and the feedback already provided) that I think will enable us to handle counter device with different features. /** * Start the counter device. If the device is a 'count up' counter the * counter initial value is set to zero. It it is a 'countdown' counter * the initial value is set to the maximum value supported by the device. * * @brief Start counter device. * @param dev Pointer to the device structure for the driver instance. * @retval DEV_OK If successful. * @retval DEV_* Code otherwise. */ int counter_start(struct device *dev); /** * @brief Stop counter device. * @param dev Pointer to the device structure for the driver instance. * * @retval DEV_OK If successful. * @retval DEV_* Code otherwise. */ int counter_stop(struct device *dev); /** * @brief Read current counter value * @param dev Pointer to the device structure for the driver instance. * * @return 32-bit value */ uint32_t counter_read(struct device *dev); /** * Set an alarm callback. If the counter was not started yet, this * function starts and set the alarm. * * @brief Set an alarm callback. * @param dev Pointer to the device structure for the driver instance. * @param callback Pointer to the callback function. * @param count Number of counter ticks. * * @retval DEV_OK If successful. * @retval DEV_NO_SUPPORT if the device doesn't support interrupt (e.g. * free running counters). */ int counter_set_alarm(struct device *dev, void (*callback)(void *data), int count); Regards, Andre
|
|
Re: RFC: Use error codes from errno.h
Jesus Sanchez-Palencia <jesus.sanchez-palencia@...>
Hi,
On Thu, 18 Feb 2016 17:47:56 -0200 Andre Guedes <andre.guedes(a)intel.com> wrote: Hi all,Cool! +1 from my side, mainly so we don't need to discuss the addition of new error codes ever again :). I would say it's more about 3) and 4) really, as I've seen surprisingly often how 1) and 2) are not always true. I've seen recently people getting confused about what to return and when, myself included. In the end it doesn't matter from each .h file you get the errors from, as long as you have clear guidelines for them, in my opinion. +1 ! But I would propose that we first get this right for the device driver APIs. What we have on device.h currently is: /* Common Error Codes devices can provide */ #define DEV_OK 0 /* No error */ #define DEV_FAIL 1 /* General operation failure */ #define DEV_INVALID_OP 2 /* Invalid operation */ #define DEV_INVALID_CONF 3 /* Invalid configuration */ #define DEV_USED 4 /* Device controller in use */ #define DEV_NO_ACCESS 5 /* Controller not accessible */ #define DEV_NO_SUPPORT 6 /* Device type not supported */ #define DEV_NOT_CONFIG 7 /* Device not configured */ I liked Dirk's suggestion on the previous thread, so I'm gonna propose 2 quick steps: a- let's try to map each of this to errno codes; b- let's document when we should return each of them. You probably have b) ready from the other thread as well, so let me give it a try with a). If we get this two right, then we end up with both the guidelines for documenting and the transition patch Dirk suggested. After he deprecates DEV_*, moving to errno codes will be as easy as a few seds. So: DEV_OK = 0 DEV_FAIL = (??) DEV_INVALID_OP = -EPERM or -ENOTSUP (??) DEV_INVALID_CONF = -EINVAL DEV_USED = -EBUSY DEV_NO_ACCESS = -EAGAIN DEV_NO_SUPPORT = -ENODEV or -ENXIO (??) DEV_NOT_CONFIG = (??) DEV_NOT_IMPLEMENTED = -ENOSYS *this last one is from your previous RFC. How bad does that look?! Regards, jesus
|
|