[TASK] Optimize asynchronous scheduling in DLLKCAL with circbuffer instances

In order to optimize the CN request handling of the asynchronous scheduler the
CN requests are forwarded to an NMT and GEN circbuffer instance. Note that
only the node ID is forwarded to the queue.
In order to get a pending CN request the queue is simply read, which reduces
the former worst-case iterations from 2*254 down to 2!
On Altera Nios II target the processing time is reduced from 75 us to 15 us!

Change-Id: I6e569a363a1a712a08072fab84dfed4f4d5301f6
Reviewed-on: http://brateggevoat1/gerrit/1314
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Add circbuffer instances for ident and status requests

Add circbuffer instances to asynchronous scheduler for ident and status
requests.
Note that this approach avoids modulo operation in the former Fifo-
implementation!

Change-Id: I315fb6f4338224478f223e2acabfc18a12a0d220
Reviewed-on: http://brateggevoat1/gerrit/1323
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FEATURE] Add lock to Microblaze processor targets

This lock feature is used to enable a pseudo-atomic instruction for the PDO
triple buffer implementation.
Note that only the local implementation is added by this commit.

Change-Id: I904d079b6a1bbb0c14ded1aaa1926cc1735bdbc5
Reviewed-on: http://brateggevoat1/gerrit/1363
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Rename EplSdo.h

- Rename to sdo.h
- Adapt all references

Change-Id: Ie6bfae6b876bf20a136add3031c709db432b9485
Reviewed-on: http://brateggevoat1/gerrit/1452
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Rename typedefs in sdo.h

Change-Id: Ib2932ca1bceaf91dfee280fa8e405c8586517bfb
Reviewed-on: http://brateggevoat1/gerrit/1453
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Refactor sdo.h

Change-Id: I2708c38d3c3075e7f593259d48459a8185a70939
Reviewed-on: http://brateggevoat1/gerrit/1454
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Rename SDO UDP functions

- Rename functions
- Adapt references

Change-Id: Icbb9eeb92b6ce153d47a62ca5173342fe6ae6b32
Reviewed-on: http://brateggevoat1/gerrit/1455
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Rename and refactor EplSdoUdpu.h

- Rename into sdoudp.h
- Cleanup
- Adapt file references

Change-Id: I5d53e439488f925733d13f222e7ae8f8420fc264
Reviewed-on: http://brateggevoat1/gerrit/1456
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[FEATURE] Add virtual Ethernet driver for Linux userspace

Add a virtual Ethernet driver for Linux userspace. The driver uses
a TUN/TAP network interface for implementing the virtual Ethernet
interface.

Change-Id: Ib656c228020a1d41c40ea3229caaac2df6cddb85
Reviewed-on: http://brateggevoat1/gerrit/1461
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Cleanup virtual Ethernet for Linux kernel

- Rename veth-linux.c to veth-linuxkernel.c
- Cleanup file
- Remove functions for setting IP address and gateway

Change-Id: I46c69018f2e008de04158e7f0959d7518b8908dc
Reviewed-on: http://brateggevoat1/gerrit/1462
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Thomas Mair <thomas.mair@br-automation.com>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Add target specific functions for setting IP parameters

- Add global declarations in Epl.h
- Add implementation for Linux

Change-Id: I275843eb8fe47a05a8d23eed08fd6dbfb0858434
Reviewed-on: http://brateggevoat1/gerrit/1463
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Thomas Mair <thomas.mair@br-automation.com>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>
[TASK] Change veth init in control module

Change initialization of virtual Ethernet IP parameters in ctrlu.c
to use new target specific functions.

Change-Id: Icfcb3ad4e3bde391f48d453df191fbd08174e3ec
Reviewed-on: http://brateggevoat1/gerrit/1466
Tested-by: Jenkins <jenkins@brateggevoat1.br-automation.co.at>
Reviewed-by: Thomas Mair <thomas.mair@br-automation.com>
Reviewed-by: Joerg Zelenka <joerg.zelenka@br-automation.com>
Reviewed-by: Josef Baumgartner <josef.baumgartner@br-automation.com>