diff --git a/repos/dde_ipxe/src/drivers/nic/main.cc b/repos/dde_ipxe/src/drivers/nic/main.cc index fc2e494e3..aa574f130 100644 --- a/repos/dde_ipxe/src/drivers/nic/main.cc +++ b/repos/dde_ipxe/src/drivers/nic/main.cc @@ -104,7 +104,8 @@ class Ipxe_session_component : public Nic::Session_component Genode::size_t const rx_buf_size, Genode::Allocator &rx_block_md_alloc, Genode::Env &env) - : Session_component(tx_buf_size, rx_buf_size, rx_block_md_alloc, env) + : Session_component(tx_buf_size, rx_buf_size, Genode::CACHED, + rx_block_md_alloc, env) { instance = this; diff --git a/repos/dde_linux/src/drivers/nic/fec/component.cc b/repos/dde_linux/src/drivers/nic/fec/component.cc index cbe1623c4..db7a41480 100644 --- a/repos/dde_linux/src/drivers/nic/fec/component.cc +++ b/repos/dde_linux/src/drivers/nic/fec/component.cc @@ -174,7 +174,8 @@ Session_component::Session_component(Genode::size_t const tx_buf_size, Genode::Allocator & rx_block_md_alloc, Genode::Env & env, Genode::Session_label label) -: Nic::Session_component(tx_buf_size, rx_buf_size, rx_block_md_alloc, env), +: Nic::Session_component(tx_buf_size, rx_buf_size, Genode::CACHED, + rx_block_md_alloc, env), _ndev(_register_session_component(*this, label)), _has_link(_ndev ? !(_ndev->state & (1UL << __LINK_STATE_NOCARRIER)) : false) { diff --git a/repos/dde_linux/src/drivers/usb_net/component.cc b/repos/dde_linux/src/drivers/usb_net/component.cc index cbe1623c4..6bb4ae1d5 100644 --- a/repos/dde_linux/src/drivers/usb_net/component.cc +++ b/repos/dde_linux/src/drivers/usb_net/component.cc @@ -174,7 +174,7 @@ Session_component::Session_component(Genode::size_t const tx_buf_size, Genode::Allocator & rx_block_md_alloc, Genode::Env & env, Genode::Session_label label) -: Nic::Session_component(tx_buf_size, rx_buf_size, rx_block_md_alloc, env), +: Nic::Session_component(tx_buf_size, rx_buf_size, Genode::CACHED, rx_block_md_alloc, env), _ndev(_register_session_component(*this, label)), _has_link(_ndev ? !(_ndev->state & (1UL << __LINK_STATE_NOCARRIER)) : false) { diff --git a/repos/dde_linux/src/lib/usb/include/usb_nic_component.h b/repos/dde_linux/src/lib/usb/include/usb_nic_component.h index 97ed48425..11ed11ff4 100644 --- a/repos/dde_linux/src/lib/usb/include/usb_nic_component.h +++ b/repos/dde_linux/src/lib/usb/include/usb_nic_component.h @@ -188,7 +188,8 @@ class Usb_nic::Session_component : public Nic::Session_component Genode::Allocator &rx_block_md_alloc, Genode::Env &env, Device *device) - : Nic::Session_component(tx_buf_size, rx_buf_size, rx_block_md_alloc, env), + : Nic::Session_component(tx_buf_size, rx_buf_size, Genode::CACHED, + rx_block_md_alloc, env), _device(device) { _device->session(this); } diff --git a/repos/dde_linux/src/lib/wifi/nic.cc b/repos/dde_linux/src/lib/wifi/nic.cc index 368db2b60..c95a657de 100644 --- a/repos/dde_linux/src/lib/wifi/nic.cc +++ b/repos/dde_linux/src/lib/wifi/nic.cc @@ -181,7 +181,8 @@ class Wifi_session_component : public Nic::Session_component Genode::size_t const rx_buf_size, Genode::Allocator &rx_block_md_alloc, Genode::Env &env, net_device *ndev) - : Session_component(tx_buf_size, rx_buf_size, rx_block_md_alloc, env), + : Session_component(tx_buf_size, rx_buf_size, Genode::CACHED, + rx_block_md_alloc, env), _ndev(ndev) { _ndev->lx_nic_device = this; diff --git a/repos/os/include/nic/component.h b/repos/os/include/nic/component.h index 50e09beab..d034d88dc 100644 --- a/repos/os/include/nic/component.h +++ b/repos/os/include/nic/component.h @@ -34,15 +34,16 @@ class Nic::Communication_buffers Nic::Packet_allocator _rx_packet_alloc; Genode::Attached_ram_dataspace _tx_ds, _rx_ds; - Communication_buffers(Genode::Allocator &rx_block_md_alloc, - Genode::Ram_allocator &ram, - Genode::Region_map ®ion_map, - Genode::size_t tx_size, - Genode::size_t rx_size) + Communication_buffers(Genode::Allocator &rx_block_md_alloc, + Genode::Ram_allocator &ram, + Genode::Region_map ®ion_map, + Genode::size_t tx_size, + Genode::size_t rx_size, + Genode::Cache_attribute cache_policy) : _rx_packet_alloc(&rx_block_md_alloc), - _tx_ds(ram, region_map, tx_size), - _rx_ds(ram, region_map, rx_size) + _tx_ds(ram, region_map, tx_size, cache_policy), + _rx_ds(ram, region_map, rx_size, cache_policy) { } }; @@ -91,13 +92,14 @@ class Nic::Session_component : Communication_buffers, public Session_rpc_object * resources and open connections from * within the Session_component */ - Session_component(Genode::size_t const tx_buf_size, - Genode::size_t const rx_buf_size, - Genode::Allocator &rx_block_md_alloc, - Genode::Env &env) + Session_component(Genode::size_t const tx_buf_size, + Genode::size_t const rx_buf_size, + Genode::Cache_attribute cache_policy, + Genode::Allocator &rx_block_md_alloc, + Genode::Env &env) : Communication_buffers(rx_block_md_alloc, env.ram(), env.rm(), - tx_buf_size, rx_buf_size), + tx_buf_size, rx_buf_size, cache_policy), Session_rpc_object(env.rm(), _tx_ds.cap(), _rx_ds.cap(), @@ -123,14 +125,15 @@ class Nic::Session_component : Communication_buffers, public Session_rpc_object * within the Session_component * \param ep entrypoint for RPC */ - Session_component(Genode::size_t const tx_buf_size, - Genode::size_t const rx_buf_size, - Genode::Allocator &rx_block_md_alloc, - Genode::Env &env, - Genode::Entrypoint &ep) + Session_component(Genode::size_t const tx_buf_size, + Genode::size_t const rx_buf_size, + Genode::Cache_attribute cache_policy, + Genode::Allocator &rx_block_md_alloc, + Genode::Env &env, + Genode::Entrypoint &ep) : Communication_buffers(rx_block_md_alloc, env.ram(), env.rm(), - tx_buf_size, rx_buf_size), + tx_buf_size, rx_buf_size, cache_policy), Session_rpc_object(env.rm(), _tx_ds.cap(), _rx_ds.cap(), diff --git a/repos/os/src/drivers/nic/spec/linux/main.cc b/repos/os/src/drivers/nic/spec/linux/main.cc index 7393b4033..cdacb78a7 100644 --- a/repos/os/src/drivers/nic/spec/linux/main.cc +++ b/repos/os/src/drivers/nic/spec/linux/main.cc @@ -208,7 +208,7 @@ class Linux_session_component : public Nic::Session_component Genode::Allocator &rx_block_md_alloc, Server::Env &env) : - Session_component(tx_buf_size, rx_buf_size, rx_block_md_alloc, env), + Session_component(tx_buf_size, rx_buf_size, Genode::CACHED, rx_block_md_alloc, env), _config_rom(env, "config"), _tap_fd(_setup_tap_fd()), _rx_thread(env, _tap_fd, _packet_stream_dispatcher) { diff --git a/repos/os/src/drivers/nic/spec/pbxa9/lan9118.h b/repos/os/src/drivers/nic/spec/pbxa9/lan9118.h index 7ad3084fd..485e601d1 100644 --- a/repos/os/src/drivers/nic/spec/pbxa9/lan9118.h +++ b/repos/os/src/drivers/nic/spec/pbxa9/lan9118.h @@ -309,7 +309,8 @@ class Lan9118 : public Nic::Session_component Genode::size_t const rx_buf_size, Genode::Allocator &rx_block_md_alloc, Genode::Env &env) - : Session_component(tx_buf_size, rx_buf_size, rx_block_md_alloc, env), + : Session_component(tx_buf_size, rx_buf_size, Genode::CACHED, + rx_block_md_alloc, env), _mmio(env, mmio_base, mmio_size), _reg_base(_mmio.local_addr()), _timer(env), diff --git a/repos/os/src/drivers/nic/spec/zynq/hw/cadence_gem.h b/repos/os/src/drivers/nic/spec/zynq/hw/cadence_gem.h index e9a283ef4..639d4fae9 100644 --- a/repos/os/src/drivers/nic/spec/zynq/hw/cadence_gem.h +++ b/repos/os/src/drivers/nic/spec/zynq/hw/cadence_gem.h @@ -598,7 +598,8 @@ namespace Genode addr_t const base, size_t const size, const int irq) : Genode::Attached_mmio(env, base, size), - Session_component(tx_buf_size, rx_buf_size, rx_block_md_alloc, env), + Session_component(tx_buf_size, rx_buf_size, Genode::CACHED, + rx_block_md_alloc, env), _timer(env), _sys_ctrl(env, _timer), _tx_buffer(env, *_tx.sink(), _timer), diff --git a/repos/os/src/server/nic_loopback/main.cc b/repos/os/src/server/nic_loopback/main.cc index 69fef25de..130ec9f21 100644 --- a/repos/os/src/server/nic_loopback/main.cc +++ b/repos/os/src/server/nic_loopback/main.cc @@ -47,8 +47,8 @@ class Nic_loopback::Session_component : public Nic::Session_component Allocator &rx_block_md_alloc, Env &env) : - Nic::Session_component(tx_buf_size, rx_buf_size, rx_block_md_alloc, - env) + Nic::Session_component(tx_buf_size, rx_buf_size, CACHED, + rx_block_md_alloc, env) { } Nic::Mac_address mac_address() override diff --git a/repos/ports/src/app/openvpn/main.cc b/repos/ports/src/app/openvpn/main.cc index ee8f4ad96..4033a7687 100644 --- a/repos/ports/src/app/openvpn/main.cc +++ b/repos/ports/src/app/openvpn/main.cc @@ -134,7 +134,8 @@ class Openvpn_component : public Tuntap_device, Genode::size_t const rx_buf_size, Genode::Allocator &rx_block_md_alloc, Genode::Env &env) - : Session_component(tx_buf_size, rx_buf_size, rx_block_md_alloc, env) + : Session_component(tx_buf_size, rx_buf_size, Genode::CACHED, + rx_block_md_alloc, env) { char buf[] = { 0x02, 0x00, 0x00, 0x00, 0x00, 0x01 }; _mac_addr = Nic::Mac_address((void*)buf);