* instead of sending packet-stream signals for each possible rx/tx packet
via genode_nic_client_notify_peers, call the wakeup_remote callback
which implements the Vfs::Remote_io interface in vfs/ip.
genode_nic_client_notify_peers will only be called in case the vfs goes idle.
measured speed up: TX x9.1, RX x1.6
* retrieve genode_socket_info from Linux ipconfig.c
issue #5471
* add genode_socket_wakeup_remote and genode_socket_register_wakeup
which are used to support Vfs::Remote_io on the IP stack side
* add genode_socket_info in order to retrieve the address configuration
from the IP stack
issue #5471
The suspend mechanism is obsolete, use monitor call to wait for data for
blocking sockets. The old implementation using 'suspend' will not block for
pthreads because the 'suspend' functor issues a 'monitor' call itself.
issue #5471
This plugin provides a PRNG based on the Xoroshiro128+ algorithm
that reseeds itself after a specific amount of state was consumed.
For more detailed information please take a look at its README in
'repos/os/src/lib/vfs/xoroshiro/README'.
Fixes#5407
Some control URBs have to be handled synchronously within the
libusb, to meet the semantics of get_device_descriptor, set_interface,
etc., but this was using the VFS libusb plugin in a way that it
polled actively during the control URB being active. This commit
removes the not desired polling behaviour.
Fixgenodelabs/genode#5469
On x86_64, calling Hw_vcpu::run() will cause a startup exit that is
signaled to the VMM. The VMM will subsequently call with_state().
When Hw_vcpu::run() is called from the Hw_vcpu constructor, this can
lead to a situation where the VMM calls with_state() on a vCPU that
isn't fully constructed yet.
The VMM library API requires that the vCPU starts up in order to emit a
startup exit at construction. Call Hw_vcpu::run() from the
Vm_connection::Vcpu constructor instead of calling run() from the
Hw_vcpu constructor to avoid running a native vCPU that isn't fully
constructed yet.
Fixes#5442
Remove regression in Session_component::set_interface by always iterating
over all interfaces to potentially change each alternate setting (from
passive to active and vice versa).
Ref genodelabs/genode#5349Fixgenodelabs/genode#5467
This commit removes the dummy 'gai_strerror()' implementation in
favor of the one provided in the contrib sources to allow for better
diagnosing of DNS related problems.
As long as NLS is not set the implementation looks up the error string
via the error-code directly.
Fixes#5464.
_extra_dispatch_up is used by the ep and the vcpu
thread unsynchronized, which leads under sufficient load to race situations,
where both wait for each other and no one ever will continue. Remove
_extra_dispatch_up completely, which is not required, as the kernel interface
handles this specific state already.
Fixes#5461
Since Goa expects include files to reside at include/ or
include/spec/{x86,x86_64,arm_64,64bit}, the src/lib/.../opensslconf.h is
missed by Goa. This commit adds Goa compatibility for the openssl api
archive.
genodelabs/goa#81
When executed on NOVA, the platform driver will use the kernel IOMMU
(device PD) if the devices ROM either does not name any IOMMU or support
for the named IOMMU is not available (e.g. because the generic platform
driver is used). In the latter case, reserved-memory ranges were not
correctly added to the device PD.
genodelabs/genode#5066