Commit graph

12076 commits

Author SHA1 Message Date
Michael LeMay 73774def6b x86, galileo: Add sample non-driver protection domain
This patch adds a simple non-driver protection domain sample to serve
as an example for defining other non-driver protection domains.  It
simply performs a ping-pong test of protection domain switching
latency during boot, including optional accesses to a private metadata
region, and prints out the results.
2016-04-22 08:16:43 -07:00
Michael LeMay e0aefd11d9 x86: Add support for SW-switched segment-based protection domains
This patch extends the protection domain framework with a third plugin
that is a hybrid of the previous two.  The hardware task switching
mechanism has a strictly-defined format for TSS data structures that
causes more space to be consumed than would otherwise be required.
This patch defines a smaller data structure that is allocated for each
protection domain, only requiring 32 bytes instead of 128 bytes.  It
uses the same multi-segment memory layout as the TSS-based plugin and
leaves paging disabled.  However, it uses a similar mechanism as the
paging plugin to perform system call dispatches and returns.

For additional information, please refer to cpu/x86/mm/README.md.
2016-04-22 08:16:43 -07:00
Michael LeMay 4cdb7ba9b6 x86: Add TSS-based protection domain support
This patch extends the protection domain framework with an additional
plugin to use Task-State Segment (TSS) structures to offload much of
the work of switching protection domains to the CPU.  This can save
space compared to paging, since paging requires two 4KiB page tables
and one 32-byte page table plus one whole-system TSS and an additional
32-byte data structure for each protection domain, whereas the
approach implemented by this patch just requires a 128-byte data
structure for each protection domain.  Only a small number of
protection domains will typically be used, so
n * 128 < 8328 + (n * 32).

For additional information, please refer to cpu/x86/mm/README.md.

GCC 6 is introducing named address spaces for the FS and GS segments
[1].  LLVM Clang also provides address spaces for the FS and GS
segments [2].  This patch also adds support to the multi-segment X86
memory management subsystem for using these features instead of inline
assembly blocks, which enables type checking to detect some address
space mismatches.

[1] https://gcc.gnu.org/onlinedocs/gcc/Named-Address-Spaces.html
[2] http://llvm.org/releases/3.3/tools/clang/docs/LanguageExtensions.html#target-specific-extensions
2016-04-22 08:16:39 -07:00
Joakim Eriksson 186138f6af added error check for extraction of aligned llao 2016-04-22 15:03:03 +02:00
Nicolas Tsiftes 6ae1b4ab66 Merge pull request #1463 from MichaelKlemm/FixUsingAtmega128RFA1
Fixed using target AVR ATmega128RFA1
2016-04-21 14:30:35 +02:00
Nicolas Tsiftes fb5f0f66dd Removed Deluge and associated test files. 2016-04-21 13:24:16 +02:00
Nicolas Tsiftes 417c76e965 Merge pull request #1611 from nvt/coffee-update-comments
Coffee: improve comments and code formatting
2016-04-21 12:14:43 +02:00
Nicolas Tsiftes 86733e8702 Clarified and cleaned up Coffee's documentation and the debug statements. Formatted some source code for easier reading. 2016-04-20 14:34:17 +02:00
Nicolas Tsiftes 7586195b79 Merge pull request #1608 from nvt/coffee-remove-protected-mem
Remove protected memory from Coffee
2016-04-20 13:36:28 +02:00
Nicolas Tsiftes be13fc7d23 Merge pull request #1605 from tonnenpinguin/pr_fix_slip_config
Add typecast to native border router switch statement
2016-04-20 12:51:43 +02:00
Nicolas Tsiftes 7f700c9564 Remove the protected memory code associated with sensornet checkpointing because this functionality has been removed from Contiki. 2016-04-20 12:47:37 +02:00
Nicolas Tsiftes 204dcb9bbc Merge pull request #1332 from tsparber/collect-view-add-osx
collect-view gui: Add support for OS X serialdump and motelist
2016-04-20 11:57:12 +02:00
Bernhard Hackl 2ad3d85d41 Fix slip config switch statement 2016-04-20 08:14:08 +00:00
Pere Tuset d9f4d97a41 Adapted OpenMote-CC2538 sensor drivers to Contiki sensor API. 2016-04-19 22:41:40 +02:00
Simon Duquennoy d828557563 Merge pull request #1425 from kkrentz/llsec-fixes
random LLSEC fixes
2016-04-19 17:29:00 +02:00
Simon Duquennoy de51dd5c30 Merge pull request #1598 from mguc/jn516x_llsecinit_ccm-star
JN516x NETSTACK_LLSEC.init and ccm-star fix
2016-04-19 17:27:15 +02:00
Simon Duquennoy ba72f0a131 Merge pull request #1422 from kkrentz/packetbuf-cleanup
packetbuf cleanup
2016-04-19 17:23:47 +02:00
Joakim Eriksson e9e31e9fd1 replaced add/remove ds6-nbr with an nbr-module controlled update of lladdress to avoid loss of other state information 2016-04-19 13:41:13 +02:00
Joakim Eriksson 2e852f758b added a null check on the lladdr before the memcmp. 2016-04-19 13:36:43 +02:00
Joakim Eriksson 223f002676 fixed the case when the lladdr did not change but the LLAO is there and it is not an override. 2016-04-19 13:36:43 +02:00
Joakim Eriksson 6f271bf853 fixed so that the comparison of old lladdr and llao lladdr is compared instead of two llaos - and improved code style on surrounding code 2016-04-19 13:36:43 +02:00
Joakim Eriksson b2f72fc996 replaces with aligned lladdress and also fixed the second memcpy to avoid risk of inconsistency when nodes change MAC address 2016-04-19 13:36:43 +02:00
Joakim Eriksson 510fc9e51e removed memcpy that cause inconsistency in nbr-table when adding nd6 neighbor with NS/NA. 2016-04-19 13:36:43 +02:00
George Oikonomou 040bada378 Merge pull request #1590 from OpenMote/master
Add OpenMote-CC2538 platform and examples.
2016-04-18 21:26:15 +01:00
George Oikonomou 00d5645d16 Merge pull request #1601 from philrhinehart/bugfix-cc26xx-ble-events
cc26xx-cc13xx BLE beacon event issue
2016-04-18 20:06:33 +01:00
Pere Tuset 3e00ea55d1 Updated the OpenMote-CC2538 platform and examples. 2016-04-18 16:48:48 +02:00
George Oikonomou cd6d76230d Merge pull request #1602 from philrhinehart/bugfix-cc26xx-rf-oscillators
cc26xx-cc13xx oscillator control issue
2016-04-18 12:00:44 +01:00
thomas-ha 3a76207b59 Use 64 bit values for MAC timer 2016-04-18 11:40:52 +02:00
Phil Rhinehart 5d5544151f Fixed bug in cc26xx-cc13xx rf-core. When running BLE in conjunction with ContikiMAC, oscillators were modified from an interrupt state causing occasional bus faults and infinite loops. We now check if BLE is active prior to modifiying the oscillators to avoid these conditions. 2016-04-18 17:17:07 +08:00
Phil Rhinehart 2a07dc0e0a This fixes an event handling issue in the cc26xx BLE driver. Currently, the rf_ble_beacon_process triggers the BLE beacon upon receiving any event, rather than verifying that the event timer has expired. This means that any PROCESS_BROADCAST (e.g. any sensor event) will fire the beacon. This commit adds logic to prevent this. 2016-04-18 17:14:37 +08:00
thomas-ha 6262025ef3 code style fixes and insert macros from .h 2016-04-15 15:50:20 +02:00
thomas-ha 3bf05d664e moving macros to .c 2016-04-15 15:50:01 +02:00
kkrentz 6fb6fd5bb9 packetbuf: No more splitting of header and data 2016-04-15 03:12:40 -07:00
Marko Gucanin d8db093eb2 renamed ccm-star.c to jn516x-ccm-star.c, adapted Makefile accordingly 2016-04-14 16:55:48 +02:00
Marko Gucanin f1110bf6df removed NETSTACK_LLSEC.init 2016-04-14 16:52:32 +02:00
kkrentz 0af4a18c09 packetbuf: Use MIN macro 2016-04-13 09:20:29 -07:00
kkrentz 3d79292e44 packetbuf: Simplified packetbuf_attr_clear 2016-04-13 09:20:29 -07:00
kkrentz 1014018c2d packetbuf: Removed debugging stuff 2016-04-13 09:20:29 -07:00
kkrentz 11c03eef79 packetbuf: Removed function prototypes 2016-04-13 09:20:29 -07:00
kkrentz a1b91d8b59 packetbuf: Removed commented code 2016-04-13 09:20:29 -07:00
Konrad Krentz d478c0f7f1 packetbuf: Deleted functions that are never called 2016-04-13 09:20:29 -07:00
kkrentz 7353829c72 llsec: Fix for Issue #1537 2016-04-13 09:16:09 -07:00
kkrentz 4a88e9e537 llsec: Removed TSCH_SECURITY_CONF_LEVEL and TSCH_SECURITY_LEVEL 2016-04-13 09:16:08 -07:00
kkrentz 431530bf6b llsec: Added READMEs 2016-04-13 09:16:07 -07:00
Hardy b3f2bba3ec Removed some unnecessary statics in do_event() and process_post().
This allows the optimizer to put the corresponding variables into registers.
See also discussion about other static variables:
https://sourceforge.net/p/contiki/mailman/message/35010460/
2016-04-13 18:12:47 +02:00
kkrentz 403d332555 llsec: Make decorated framer configurable 2016-04-13 07:54:46 -07:00
kkrentz 10d8b05bc6 llsec: Permit dynamic security levels 2016-04-13 07:54:46 -07:00
kkrentz 0379af3624 llsec: Do not define surrogates in packetbuf.h, as otherwise configuration errors go unnoticed 2016-04-13 07:54:46 -07:00
Antonio Lignan c9baf0cb57 Merge pull request #1192 from bkozak-scanimetrics/tcpip_put_temporaries_on_stack
changed tcpip static temporaries to stack vars
2016-04-13 09:30:33 +02:00
Antonio Lignan 8f064511d3 Merge pull request #1213 from joakimeriksson/dao_ack_handling
End-to-End DAO and DAO ACK handling for Contiki RPL.
2016-04-11 18:53:43 +02:00