The googletest run files needlessly used rtc_drv where a dummy /dev/rtc
node would do. Remove this dependency to enable those tests on
base-linux.
Fixes#187
Avoid a runtime warning message since our backend does not provide
such constructor functions yet. If a backend requires them, it should
initiate their execution by itself within the backend init functions.
In coherence with the size_guard idea, the remote_rom packets are are
separated into a simple layer packet and a data packet. While basically
only managing common control informations, the layer packet may carry
any payload. The data packet, instead, manages the transmission of the
actual ROM payload and can be attached to the layer packet. This
simplifies the management of the notification packets UPDATE and SIGNAL
since they do not contain fields like 'offset' or 'payload_size'
anymore.
Now, a single thread manages all incoming RPC calls, signals and (thus)
network packets. This will hopefully make further synchronization
enhancements a lot easier.
Further changes:
* Following data packets are identified as such by their offset instead
of their packet type field. This simplifies the protocol.
* reduced redundancy in the packet building code
* rewrap lines with >79 columns
* fix compiler warnings
* split backend code
* Remove a few unnecessary include and using directives.
* In order to avoid global variables across modules, 'verbose' is a
member variable now. Later, its value may be set via constructor.
* The nested Rx class is merged with Backend_base. This way, we avoid
unnecessary maintenance as long as we don't have a clear design for
ROM multiplexing which may require the management of multiple IP
addresses etc.
* The HANDLER template argument is removed since client and server
inherit from Backend_base anyway. The receive method is virtual now.
* The signals packet_avail and ready_to_ack are directly passed to the
same signal handler now.
* Remove unnecessarily public/protected visibility from some members.
* Remove and add unnecessary and, due to inclusion order, secretly
missing include directives, respectively.
This patch also prevents the dynamic loading of the rtc_drv when
executed on Linux, which is needed because this version of the rtc_drv
is a hybrid Linux/Genode program.
A client of the Terminal service that connects to a shell on a remote
SSH server.
It is configured with a "host" file found in its root directory with the
following format:
<host name="sdf-eu.org" port="22" user="root" pass="foo" known="yes"/>
The port, pass, and known attributes are optional. The client will first
try to authenticate with a keypair found in the root directory with a
fallback to password authentication. The client will automatically
disconnect from hosts that are not found in "/known_hosts", unless the
"known" attribute is set to the negative in the host file.