Makefile: suppress building ocpiocl tool when building statically
-- its lazy library loading approach is incompatible with static linking).
-- add "driver" "cleandriver" targets for building and cleaning kernel drivers
adapt/os/ocpios/interfaces/include/OcpiOsEther.h: update packet level API to use kernel driver if it is there
-- change the API to allow the ethernet neader, but keep the ethertype in the payload
-- add iovec option for sending
adapt/os/ocpios/linux/src/OcpiOsEther.cxx: ditto
-- add runtime check for existence of driver
-- check interface scanning on linux to use /sys to avoid needing kernel mode
adapt/os/ocpios/linux/src/OcpiOsSocket.cxx: deal properly with timeouts/interrupts on both darwin and linux
-- also a warning
core/application/src/OcpiApplication.cxx: warning
core/container/ctests/Makefile.ocpi.imports: add ether datagram protocol driver
core/container/ctests/bin/src/RTxTest_main.cxx: more error messages, avoid getaddrinfo for now
-- cope with partial socket reads for address exchange
-- delay loopback side to allow time for receiver to be ready (a bug workaround for now).
core/container/hdl_container/bin/src/ocpihdl_main.cxx: add support for new ethernet data mode/driver
-- new "send" and "receive" test to send data-mode packets.
core/container/hdl_container/impl/include/EtherDriver.h: updated for linux kernel driver
-- Some definitions moved to the new file that is now shared with the kernel driver code
core/container/hdl_container/impl/include/HdlAccess.h: add new pre-container "hdl device" class
core/container/hdl_container/impl/include/HdlContainer.h: use new precontainer "hdl device" objects
-- as a handoff from the hdl driver code from discovery to container instantiation
-- as a better way to handoff this information - as an object rather than misc args.
core/container/hdl_container/impl/include/HdlDriver.h: major changed due to linux kernel driver
-- much improved interfaces due to "hdl device" introduction
core/container/hdl_container/impl/include/HdlOCCP.h: make this usable when compiling kernel driver
core/container/hdl_container/impl/include/PciDriver.h: ditto for the PCI aspects of the driver
-- plus the new mmap api that uses the driver properly.
core/container/hdl_container/impl/src/HdlAccess.cxx: new hdl device object base class methods
core/container/hdl_container/impl/src/EtherDriver.cxx: new "hdl device" scheme and kernel driver
core/container/hdl_container/impl/src/HdlContainer.cxx: ditto
core/container/hdl_container/impl/src/HdlDriver.cxx: ditto, plus removed a bunch of commented-out stuff
core/container/hdl_container/impl/src/PciDriver.cxx: ditto, and use new kernel device driver if available
core/dataplane/rdma_driver_interface/interfaces/include/DtDriver.h: allow shared driver base classes in templates
core/dataplane/rdma_driver_interface/interfaces/src/DtSharedMemoryInternal.cxx:
-- allow protocol-specific part of endpoint string to end in ':' or ';' (';' is preferred now).
core/dataplane/rdma_drivers/datagram/include/DtDataGramXfer.h: major refactoried base classes
-- enable clean sharing of the datagram protocol base class among different link layer drivers
-- absorb more code into the generic core
-- absorb the server thread into the datagram socket class
core/dataplane/rdma_drivers/datagram/src/DtDataGramXfer.cxx: ditto
core/dataplane/rdma_drivers/datagram/src/DtDataGramUDPDriver.cxx: reworked the UDP driver to use the new core
-- reduced code in the UDP driver since more moved to core
core/dataplane/transport/impl/src/OcpiTransport.cxx: remove warning
core/local/util/driver/include/OcpiDriverManager.h: comment
jkamd_env_linux_x86_64.sh: force building of opencl even statically
test/hdl/scripts/loadBitStreamOnPlatform: update to work on spartan devices on ESN-less JTAG pods
test/hdl/scripts/probeXilinxUsb: ditto
test/hdl/src/getPci.h: update for kernel driver
test/hdl/src/ocfrp_check.c: ditto
tools/cdk/ocpiocl/Makefile.ocpi.imports: don't bother unless we have opencpi - temporary
adapt/os/ocpios/interfaces/include/KernelDriver.h: new file with kernel driver definitions needed for use code
adapt/os/ocpios/interfaces/include/OcpiOsIovec.h: new file with POSIX-friendly iovec definitions
core/container/hdl_container/impl/include/EtherDefs.h: new file to share definitions with kernel driver
core/dataplane/rdma_drivers/datagram/include/DtDataGramBoilerplate.h: new file
-- boiler plate for sharing datagram driver base classes
core/dataplane/rdma_drivers/datagram/src/DtDataGramEtherDriver.cxx: new file
-- a new datagram driver using link-layer ethernet, especially for talking to FPGAs.
adapt/os/ocpios/linux/driver/*: the new linux kernel driver for:
-- DMA memory
-- PCI device mapping
-- Link layer packet driver for control and dataplane protocols
tools/cdk/scripts/ocpi_linux_driver: link to device driver loading script
tools/cdk/scripts/ocpidriver: generic device driver loading script
Another major commit to finally share transport protocols properly among different containers,
and make external port support independent of any particular container.
This change moves more functionality out of the RCC container into the base class used by all
containers.  The major motivator was that HDL containers now support multiple protocols,
and not doing this would have required a lot of redundant code. Now the code is properly shared
so that different container types have an easier time using different transport protocols.
We also added the g++ printf attributes to all functions, methods, exceptions, etc. that take printf
variable arguments so that they are all now checked for consistency - a big win.

Makefile: another swipe at building ocpiocl in the right cases of shared libraries.
Makefile.ocpi.common: get rid of ancient incorrect dependency tracking of idl files
Makefile.ocpi.for-idl: ditto
adapt/os/ocpios/interfaces/include/OcpiOsDebug.h: enable g++ to check printf strings and args in ocpiDebug
adapt/os/ocpios/linux/src/OcpiOsEther.cxx: one of many files touched due to new printf arg warnings
-- no more files will be mentioned that simply fixed newly enabled warnings for ocpiDebug etc.
core/container/ctests/bin/src/GPPContainerTest_main.cxx: new packportdesc interface update
core/container/ctests/bin/src/RCCLbTest_main.cxx: ditto
core/container/ctests/bin/src/test_control_errors_main.cxx: some tests were obsolete and invalid
-- among other things, starting a started worker and stopping a stopped worker is ok now.
-- improve test output to name individual tests
core/container/ctests/bin/src/test_user_port_main.cxx: test using API not internal
core/container/ctests/workers/src/ProdWorker.c: nuke warning
core/container/hdl_container/Makefile.ocpi.imports: include ether datagram transports for testing
core/container/hdl_container/bin/src/ocpihdl_main.cxx: add ether datagram RDMA testing with HW
core/container/hdl_container/impl/include/HdlAccess.h: improve endpoint prep for container
core/container/hdl_container/impl/include/HdlContainer.h: ditto
core/container/hdl_container/impl/src/EtherDriver.cxx: ditto
core/container/hdl_container/impl/src/PciDriver.cxx: ditto
core/container/hdl_container/impl/src/HdlContainer.cxx: ditto
-- and remove code to share new external port code
core/container/hdl_container/impl/include/HdlOCCP.h: warning
core/container/hdl_container/impl/include/HdlOCDP.h: enable for C++ namespaces
core/container/interfaces/Makefile.ocpi.imports: depend on transport as well as transfer libs
core/container/interfaces/api/include/OcpiContainerApi.h: more consistency of "params" vs "props"
core/container/interfaces/api/include/OcpiContainerInterface.h: have base class be a time emitter
-- move port descriptor packing and unpacking to the port file
-- move transport session management into the base class
core/container/interfaces/api/src/OcpiContainerInterface.cxx: ditto
core/container/interfaces/api/include/OcpiContainerManager.h: transport global management is here now
-- it was in the rcc driver, now it is shared.
core/container/interfaces/api/src/OcpiContainerManager.cxx: ditto
core/container/interfaces/api/include/OcpiContainerPort.h: big changes to absorb external ports
-- put the mutex in the base class
-- adjust connection interface to increase shared code and external port code being generic
-- put port packing code here
core/container/interfaces/api/src/OcpiContainerPort.cxx: ditto, plus
-- don't mess with packed port descriptors when the containers are local
core/container/interfaces/api/include/OcpiWorker.h: allow ports to retrive worker names
core/container/interfaces/api/src/OcpiWorker.cxx: allow redundant control operations, and suppress them
core/container/ocl_container/impl/src/OcpiOclContainer.cxx: update for new interfaces and external ports
core/container/ocl_container/impl/src/OcpiOclPlatformManager.cxx: improve exception messages
core/container/rcc_container/include/OcpiRccContainer.h:  many moves into base classes
-- time::emit is in base class for all containers
-- transport object management (transport session) moved to base classes
core/container/rcc_container/src/OcpiRccContainer.cxx: ditto
core/container/rcc_container/include/OcpiRccDriver.h: transport global management moved to container manager
core/container/rcc_container/src/OcpiRccDriver.cxx: ditto
core/container/rcc_container/include/OcpiRccPort.h: big changes for moving functionality into base class
core/container/rcc_container/src/OcpiRccPort.cxx: ditto
core/container/rcc_container/src/OcpiRccMessagePort.cxx: tweaks for new connectivity interfaces
core/container/rcc_container/src/OcpiRccWorker.cxx: a better job of checking optional ports
-- when "stop" fails due to the worker returning an error, the worker is not stopped.
======= A number of files changes to ensure that endpoint ids (a.k.a. mailbox numbers) are uniformly uint16_t
core/dataplane/rdma_driver_interface/interfaces/include/DtHandshakeControl.h: ditto
core/dataplane/rdma_driver_interface/interfaces/include/DtSharedMemoryInterface.h: ditto
core/dataplane/rdma_driver_interface/interfaces/src/DtSharedMemoryInternal.cxx: ditto
core/dataplane/rdma_driver_interface/interfaces/include/DtTransferInterface.h: ditto
core/dataplane/rdma_driver_interface/interfaces/include/DtTransferInternal.h: ditto
core/dataplane/rdma_drivers/ofed/src/DtOfedXfer.cxx: ditto
core/dataplane/rdma_drivers/pci/include/DtPCIPioXfer.h: ditto
core/dataplane/rdma_drivers/pci/src/DtPCIPioXfer.cxx: ditto
core/dataplane/rdma_drivers/pio/include/DtPioXfer.h: ditto
core/dataplane/rdma_drivers/pio/src/DtPioXfer.cxx: ditto
core/dataplane/rdma_drivers/sockets/include/DtSocketsXfer.h: ditto
core/dataplane/rdma_drivers/sockets/src/DtSocketsXfer.cxx: ditto
core/dataplane/rdma_drivers/udp/include/DtUDPSocketXfer.h: ditto
core/dataplane/rdma_drivers/udp/src/DtUDPSocketXfer.cxx: ditto
core/dataplane/rdma_driver_interface/interfaces/include/DtTransferInternal.h: ditto
-- also add allocateProxyEndPoint function to allow hardware containers to generate endpoints properly
core/dataplane/rdma_driver_interface/interfaces/src/DtTransferInternal.cxx: ditto
core/dataplane/rdma_driver_interface/interfaces/include/OcpiRDTInterface.h: start nuking "RDT"
core/dataplane/rdma_drivers/datagram/include/DtDataGramXfer.h: 16 bit endpoints, correct signness
core/dataplane/rdma_drivers/datagram/src/DtDataGramEtherDriver.cxx: ditto
core/dataplane/rdma_drivers/datagram/src/DtDataGramUDPDriver.cxx: ditto
core/dataplane/rdma_drivers/datagram/src/DtDataGramXfer.cxx: ditto, plus a real boundary bug fix
core/dataplane/transport/impl/include/OcpiPort.h: adjust finalize interface to return correct feedback
-- i.e. relieve the caller of knowing which type of descriptor should be used afterward
core/dataplane/transport/impl/src/OcpiPort.cxx: ditto
-- also try to initialize the circuit eariler when possible
core/dataplane/transport/impl/include/OcpiTransport.h: provide an iterator typedef, use list rather than vector
core/dataplane/transport/impl/src/OcpiTransport.cxx: use list rather than vector to avoid holes, 16 bit mboxes
core/dataplane/transport/impl/src/OcpiCircuit.cxx: better debug messages for port closure
core/library/src/OcpiLibraryAssembly.cxx: printf warnings fixed due to new attributes
core/local/util/misc/include/OcpiUtilException.h: add g++ attributes for printf checking
core/local/util/misc/include/OcpiUtilMisc.h: ditto
core/local/util/misc/include/OcpiUtilSelfMutex.h: add SelfRefMutex when you want a reference
-- this makes this case the same API as the SelfMutex (inherited mutex) case.
core/local/util/misc/src/OcpiUtilException.cxx: make debug logging of exceptions clearer
core/local/util/parentChild/include/OcpiParentChild.h: make parent retrieval a const method
test/hdl/scripts/loadBitStreamOnPlatform: strip "PCI:" prefix that is now used
test/hdl/scripts/probeXilinxUsb: use listusbcables function rather than trying a bunch of names