[virtualization] Modify files in src/virtualization from lib/component to lib/sys
Bug: 24523
Change-Id: I4cfd4982dba97776e822400a32a8c029ac2b5f6c
diff --git a/src/virtualization/bin/vmm/device/BUILD.gn b/src/virtualization/bin/vmm/device/BUILD.gn
index e57f2b9..dc46c6a 100644
--- a/src/virtualization/bin/vmm/device/BUILD.gn
+++ b/src/virtualization/bin/vmm/device/BUILD.gn
@@ -34,10 +34,11 @@
]
public_deps = [
":device",
- "//garnet/public/lib/component/cpp",
"//garnet/public/lib/fsl",
"//sdk/fidl/fuchsia.virtualization.hardware",
+ "//sdk/lib/sys/cpp",
"//zircon/public/lib/async-loop-cpp",
+ "//zircon/public/lib/trace",
"//zircon/public/lib/trace-provider-with-fdio",
]
}
@@ -246,8 +247,8 @@
# TODO(MA-520): don't hard-code the driver
resources = [
{
- path = rebase_path(
- "${root_build_dir}/linux_x64-shared/libvulkan_intel.so")
+ path =
+ rebase_path("${root_build_dir}/linux_x64-shared/libvulkan_intel.so")
dest = "drivers/libvulkan_intel.so"
},
]
diff --git a/src/virtualization/bin/vmm/device/device_base.h b/src/virtualization/bin/vmm/device/device_base.h
index b0dffa3..a51652e 100644
--- a/src/virtualization/bin/vmm/device/device_base.h
+++ b/src/virtualization/bin/vmm/device/device_base.h
@@ -8,11 +8,11 @@
#include <fuchsia/virtualization/hardware/cpp/fidl.h>
#include <lib/async/cpp/trap.h>
#include <lib/async/default.h>
-#include <lib/component/cpp/startup_context.h>
#include <lib/fidl/cpp/binding_set.h>
#include <lib/fsl/handles/object_info.h>
+#include <lib/sys/cpp/component_context.h>
+#include <lib/trace/event.h>
#include <lib/zx/event.h>
-#include <trace/event.h>
#include "src/virtualization/bin/vmm/device/config.h"
#include "src/virtualization/bin/vmm/device/phys_mem.h"
@@ -40,8 +40,8 @@
PhysMem phys_mem_;
async::GuestBellTrapMethod<DeviceBase, &DeviceBase::OnQueueNotify> trap_{this};
- DeviceBase(component::StartupContext* context) {
- context->outgoing().AddPublicService(bindings_.GetHandler(static_cast<DeviceClass*>(this)));
+ explicit DeviceBase(sys::ComponentContext* context) {
+ context->outgoing()->AddPublicService(bindings_.GetHandler(static_cast<DeviceClass*>(this)));
}
// Prepares a device to start.
diff --git a/src/virtualization/bin/vmm/device/guest_view.cc b/src/virtualization/bin/vmm/device/guest_view.cc
index 5399270..b000085 100644
--- a/src/virtualization/bin/vmm/device/guest_view.cc
+++ b/src/virtualization/bin/vmm/device/guest_view.cc
@@ -5,13 +5,14 @@
#include "src/virtualization/bin/vmm/device/guest_view.h"
#include <lib/images/cpp/images.h>
-#include <src/lib/fxl/logging.h>
+
+#include "src/lib/fxl/logging.h"
GuestView::GuestView(
- scenic::ViewContext view_context,
+ scenic::ViewContextTransitional view_context,
fidl::InterfaceHandle<fuchsia::virtualization::hardware::ViewListener> view_listener,
GpuScanout* scanout)
- : BaseView(std::move(view_context), "Guest"),
+ : BaseViewTransitional(std::move(view_context), "Guest"),
background_(session()),
material_(session()),
scanout_(*scanout),
diff --git a/src/virtualization/bin/vmm/device/guest_view.h b/src/virtualization/bin/vmm/device/guest_view.h
index f95e10c..0e232a4 100644
--- a/src/virtualization/bin/vmm/device/guest_view.h
+++ b/src/virtualization/bin/vmm/device/guest_view.h
@@ -6,13 +6,13 @@
#define SRC_VIRTUALIZATION_BIN_VMM_DEVICE_GUEST_VIEW_H_
#include <fuchsia/virtualization/hardware/cpp/fidl.h>
-#include <lib/ui/base_view/cpp/base_view.h>
+#include <lib/ui/base_view/cpp/base_view_transitional.h>
#include "src/virtualization/bin/vmm/device/gpu_scanout.h"
-class GuestView : public scenic::BaseView {
+class GuestView : public scenic::BaseViewTransitional {
public:
- GuestView(scenic::ViewContext view_context,
+ GuestView(scenic::ViewContextTransitional view_context,
fidl::InterfaceHandle<fuchsia::virtualization::hardware::ViewListener> view_listener,
GpuScanout* scanout);
diff --git a/src/virtualization/bin/vmm/device/virtio_balloon.cc b/src/virtualization/bin/vmm/device/virtio_balloon.cc
index a6d24fc..246fa2f 100644
--- a/src/virtualization/bin/vmm/device/virtio_balloon.cc
+++ b/src/virtualization/bin/vmm/device/virtio_balloon.cc
@@ -4,7 +4,8 @@
#include <lib/async-loop/cpp/loop.h>
#include <lib/fit/defer.h>
-#include <trace-provider/provider.h>
+#include <lib/trace-provider/provider.h>
+
#include <virtio/balloon.h>
#include "src/virtualization/bin/vmm/device/device_base.h"
@@ -142,7 +143,7 @@
class VirtioBalloonImpl : public DeviceBase<VirtioBalloonImpl>,
public fuchsia::virtualization::hardware::VirtioBalloon {
public:
- VirtioBalloonImpl(component::StartupContext* context) : DeviceBase(context) {}
+ VirtioBalloonImpl(sys::ComponentContext* context) : DeviceBase(context) {}
// |fuchsia::virtualization::hardware::VirtioDevice|
void NotifyQueue(uint16_t queue) override {
@@ -221,8 +222,7 @@
int main(int argc, char** argv) {
async::Loop loop(&kAsyncLoopConfigAttachToThread);
trace::TraceProviderWithFdio trace_provider(loop.dispatcher());
- std::unique_ptr<component::StartupContext> context =
- component::StartupContext::CreateFromStartupInfo();
+ std::unique_ptr<sys::ComponentContext> context = sys::ComponentContext::Create();
VirtioBalloonImpl virtio_balloon(context.get());
return loop.Run();
diff --git a/src/virtualization/bin/vmm/device/virtio_block.cc b/src/virtualization/bin/vmm/device/virtio_block.cc
index f36602a..1286090 100644
--- a/src/virtualization/bin/vmm/device/virtio_block.cc
+++ b/src/virtualization/bin/vmm/device/virtio_block.cc
@@ -4,10 +4,11 @@
#include <lib/async-loop/cpp/loop.h>
#include <lib/fit/defer.h>
+#include <lib/trace-provider/provider.h>
+#include <lib/trace/event.h>
#include <fbl/ref_counted.h>
-#include <trace-provider/provider.h>
-#include <trace/event.h>
+#include <fbl/ref_ptr.h>
#include <virtio/block.h>
#include "src/virtualization/bin/vmm/device/block.h"
@@ -215,7 +216,7 @@
class VirtioBlockImpl : public DeviceBase<VirtioBlockImpl>,
public fuchsia::virtualization::hardware::VirtioBlock {
public:
- VirtioBlockImpl(component::StartupContext* context) : DeviceBase(context) {}
+ VirtioBlockImpl(sys::ComponentContext* context) : DeviceBase(context) {}
// |fuchsia::virtualization::hardware::VirtioDevice|
void NotifyQueue(uint16_t queue) override {
@@ -292,8 +293,7 @@
int main(int argc, char** argv) {
async::Loop loop(&kAsyncLoopConfigAttachToThread);
trace::TraceProviderWithFdio trace_provider(loop.dispatcher());
- std::unique_ptr<component::StartupContext> context =
- component::StartupContext::CreateFromStartupInfo();
+ std::unique_ptr<sys::ComponentContext> context = sys::ComponentContext::Create();
// The virtio-block device is single-threaded.
VirtioBlockImpl virtio_block(context.get());
diff --git a/src/virtualization/bin/vmm/device/virtio_console.cc b/src/virtualization/bin/vmm/device/virtio_console.cc
index 6615014..8b1128e 100644
--- a/src/virtualization/bin/vmm/device/virtio_console.cc
+++ b/src/virtualization/bin/vmm/device/virtio_console.cc
@@ -4,7 +4,7 @@
#include <lib/async-loop/cpp/loop.h>
#include <lib/fit/defer.h>
-#include <trace-provider/provider.h>
+#include <lib/trace-provider/provider.h>
#include "src/virtualization/bin/vmm/device/device_base.h"
#include "src/virtualization/bin/vmm/device/stream_base.h"
@@ -69,7 +69,7 @@
class VirtioConsoleImpl : public DeviceBase<VirtioConsoleImpl>,
public fuchsia::virtualization::hardware::VirtioConsole {
public:
- VirtioConsoleImpl(component::StartupContext* context) : DeviceBase(context) {}
+ VirtioConsoleImpl(sys::ComponentContext* context) : DeviceBase(context) {}
// |fuchsia::virtualization::hardware::VirtioDevice|
void NotifyQueue(uint16_t queue) override {
@@ -158,8 +158,7 @@
int main(int argc, char** argv) {
async::Loop loop(&kAsyncLoopConfigAttachToThread);
trace::TraceProviderWithFdio trace_provider(loop.dispatcher());
- std::unique_ptr<component::StartupContext> context =
- component::StartupContext::CreateFromStartupInfo();
+ std::unique_ptr<sys::ComponentContext> context = sys::ComponentContext::Create();
VirtioConsoleImpl virtio_console(context.get());
return loop.Run();
diff --git a/src/virtualization/bin/vmm/device/virtio_gpu.cc b/src/virtualization/bin/vmm/device/virtio_gpu.cc
index 74afd7a..90639a0 100644
--- a/src/virtualization/bin/vmm/device/virtio_gpu.cc
+++ b/src/virtualization/bin/vmm/device/virtio_gpu.cc
@@ -7,9 +7,10 @@
#include <fuchsia/ui/views/cpp/fidl.h>
#include <lib/async-loop/cpp/loop.h>
#include <lib/fit/defer.h>
+#include <lib/trace-provider/provider.h>
#include <lib/ui/scenic/cpp/session.h>
#include <lib/ui/scenic/cpp/view_token_pair.h>
-#include <trace-provider/provider.h>
+
#include <virtio/gpu.h>
#include "src/virtualization/bin/vmm/device/device_base.h"
@@ -278,7 +279,7 @@
class VirtioGpuImpl : public DeviceBase<VirtioGpuImpl>,
public fuchsia::virtualization::hardware::VirtioGpu {
public:
- VirtioGpuImpl(component::StartupContext* context) : DeviceBase(context), context_(*context) {
+ VirtioGpuImpl(sys::ComponentContext* context) : DeviceBase(context), context_(*context) {
scanout_.SetConfigChangedHandler(fit::bind_member(this, &VirtioGpuImpl::OnConfigChanged));
}
@@ -309,19 +310,19 @@
auto [view_token, view_holder_token] = scenic::ViewTokenPair::New();
// Create view.
- auto scenic = context_.ConnectToEnvironmentService<fuchsia::ui::scenic::Scenic>();
- scenic::ViewContext view_context = {
+ auto scenic = context_.svc()->Connect<fuchsia::ui::scenic::Scenic>();
+ scenic::ViewContextTransitional view_context = {
.session_and_listener_request =
scenic::CreateScenicSessionPtrAndListenerRequest(scenic.get()),
.view_token = std::move(view_token),
- .startup_context = &context_,
+ .component_context = &context_,
};
view_ =
std::make_unique<GuestView>(std::move(view_context), std::move(view_listener), &scanout_);
view_->SetReleaseHandler([this](zx_status_t status) { view_.reset(); });
// Present view.
- auto presenter = context_.ConnectToEnvironmentService<fuchsia::ui::policy::Presenter>();
+ auto presenter = context_.svc()->Connect<fuchsia::ui::policy::Presenter>();
presenter->PresentView(std::move(view_holder_token), nullptr);
}
@@ -358,7 +359,7 @@
}
}
- component::StartupContext& context_;
+ sys::ComponentContext& context_;
std::unique_ptr<GuestView> view_;
GpuScanout scanout_;
GpuResourceMap resources_;
@@ -369,8 +370,7 @@
int main(int argc, char** argv) {
async::Loop loop(&kAsyncLoopConfigAttachToThread);
trace::TraceProviderWithFdio trace_provider(loop.dispatcher());
- std::unique_ptr<component::StartupContext> context =
- component::StartupContext::CreateFromStartupInfo();
+ std::unique_ptr<sys::ComponentContext> context = sys::ComponentContext::Create();
VirtioGpuImpl virtio_gpu(context.get());
return loop.Run();
diff --git a/src/virtualization/bin/vmm/device/virtio_input.cc b/src/virtualization/bin/vmm/device/virtio_input.cc
index 0406761..b5aa262 100644
--- a/src/virtualization/bin/vmm/device/virtio_input.cc
+++ b/src/virtualization/bin/vmm/device/virtio_input.cc
@@ -4,12 +4,13 @@
#include <lib/async-loop/cpp/loop.h>
#include <lib/fit/defer.h>
-#include <trace-provider/provider.h>
-#include <virtio/input.h>
+#include <lib/trace-provider/provider.h>
#include <array>
#include <iomanip>
+#include <virtio/input.h>
+
#include "src/virtualization/bin/vmm/device/device_base.h"
#include "src/virtualization/bin/vmm/device/input.h"
#include "src/virtualization/bin/vmm/device/stream_base.h"
@@ -211,8 +212,8 @@
// Stream for event queue.
class EventStream : public StreamBase, public fuchsia::virtualization::hardware::ViewListener {
public:
- EventStream(component::StartupContext* context) {
- context->outgoing().AddPublicService(view_listener_bindings_.GetHandler(this));
+ EventStream(sys::ComponentContext* context) {
+ context->outgoing()->AddPublicService(view_listener_bindings_.GetHandler(this));
}
void DoEvent() {
@@ -358,8 +359,7 @@
class VirtioInputImpl : public DeviceBase<VirtioInputImpl>,
public fuchsia::virtualization::hardware::VirtioInput {
public:
- VirtioInputImpl(component::StartupContext* context)
- : DeviceBase(context), event_stream_(context) {}
+ VirtioInputImpl(sys::ComponentContext* context) : DeviceBase(context), event_stream_(context) {}
// |fuchsia::virtualization::hardware::VirtioDevice|
void NotifyQueue(uint16_t queue) override {
@@ -410,8 +410,7 @@
int main(int argc, char** argv) {
async::Loop loop(&kAsyncLoopConfigAttachToThread);
trace::TraceProviderWithFdio trace_provider(loop.dispatcher());
- std::unique_ptr<component::StartupContext> context =
- component::StartupContext::CreateFromStartupInfo();
+ std::unique_ptr<sys::ComponentContext> context = sys::ComponentContext::Create();
VirtioInputImpl virtio_input(context.get());
return loop.Run();
diff --git a/src/virtualization/bin/vmm/device/virtio_magma.cc b/src/virtualization/bin/vmm/device/virtio_magma.cc
index 7642857..16b4bc2 100644
--- a/src/virtualization/bin/vmm/device/virtio_magma.cc
+++ b/src/virtualization/bin/vmm/device/virtio_magma.cc
@@ -7,19 +7,19 @@
#include <fcntl.h>
#include <lib/async-loop/cpp/loop.h>
#include <lib/fit/defer.h>
+#include <lib/trace-provider/provider.h>
+#include <lib/trace/event.h>
#include <lib/zx/vmar.h>
#include <sys/stat.h>
#include <unistd.h>
#include <zircon/status.h>
#include <src/lib/fxl/logging.h>
-#include <trace-provider/provider.h>
-#include <trace/event.h>
#include "garnet/lib/magma/src/magma_util/macros.h"
#include "src/virtualization/bin/vmm/device/virtio_queue.h"
-VirtioMagma::VirtioMagma(component::StartupContext* context) : DeviceBase(context) {}
+VirtioMagma::VirtioMagma(sys::ComponentContext* context) : DeviceBase(context) {}
void VirtioMagma::Start(
fuchsia::virtualization::hardware::StartInfo start_info, zx::vmar vmar,
@@ -214,8 +214,7 @@
int main(int argc, char** argv) {
async::Loop loop(&kAsyncLoopConfigAttachToThread);
trace::TraceProviderWithFdio trace_provider(loop.dispatcher());
- std::unique_ptr<component::StartupContext> context =
- component::StartupContext::CreateFromStartupInfo();
+ std::unique_ptr<sys::ComponentContext> context = sys::ComponentContext::Create();
VirtioMagma virtio_magma(context.get());
return loop.Run();
diff --git a/src/virtualization/bin/vmm/device/virtio_magma.h b/src/virtualization/bin/vmm/device/virtio_magma.h
index 6b586b4..d3c69f4 100644
--- a/src/virtualization/bin/vmm/device/virtio_magma.h
+++ b/src/virtualization/bin/vmm/device/virtio_magma.h
@@ -14,10 +14,9 @@
#include <string>
#include <unordered_map>
-#include <src/lib/fxl/macros.h>
-
#include "garnet/lib/magma/include/magma_abi/magma.h"
#include "garnet/lib/magma/include/virtio/virtio_magma.h"
+#include "src/lib/fxl/macros.h"
#include "src/virtualization/bin/vmm/device/device_base.h"
#include "src/virtualization/bin/vmm/device/virtio_magma_generic.h"
#include "src/virtualization/bin/vmm/device/virtio_queue.h"
@@ -26,7 +25,7 @@
public DeviceBase<VirtioMagma>,
public fuchsia::virtualization::hardware::VirtioMagma {
public:
- VirtioMagma(component::StartupContext* context);
+ explicit VirtioMagma(sys::ComponentContext* context);
~VirtioMagma() override = default;
// |fuchsia::virtualization::hardware::VirtioDevice|
diff --git a/src/virtualization/bin/vmm/device/virtio_net.cc b/src/virtualization/bin/vmm/device/virtio_net.cc
index ae8def1..42d5e28 100644
--- a/src/virtualization/bin/vmm/device/virtio_net.cc
+++ b/src/virtualization/bin/vmm/device/virtio_net.cc
@@ -9,14 +9,15 @@
#include <lib/fit/defer.h>
#include <lib/fit/promise.h>
#include <lib/fit/scope.h>
+#include <lib/trace-provider/provider.h>
#include <lib/zx/fifo.h>
-#include <trace-provider/provider.h>
-#include <virtio/net.h>
#include <zircon/device/ethernet.h>
#include <memory>
#include <queue>
+#include <virtio/net.h>
+
#include "guest_ethernet.h"
#include "src/virtualization/bin/vmm/device/device_base.h"
#include "src/virtualization/bin/vmm/device/stream_base.h"
@@ -143,8 +144,8 @@
public fuchsia::virtualization::hardware::VirtioNet,
public GuestEthernetReceiver {
public:
- VirtioNetImpl(component::StartupContext* context) : DeviceBase(context), context_(*context) {
- netstack_ = context_.ConnectToEnvironmentService<fuchsia::netstack::Netstack>();
+ VirtioNetImpl(sys::ComponentContext* context) : DeviceBase(context), context_(*context) {
+ netstack_ = context_.svc()->Connect<fuchsia::netstack::Netstack>();
}
// |fuchsia::virtualization::hardware::VirtioDevice|
@@ -261,7 +262,7 @@
callback();
}
- component::StartupContext& context_;
+ sys::ComponentContext& context_;
GuestEthernet guest_ethernet_{this};
fidl::Binding<fuchsia::hardware::ethernet::Device> device_binding_ =
fidl::Binding<fuchsia::hardware::ethernet::Device>(&guest_ethernet_);
@@ -278,8 +279,7 @@
int main(int argc, char** argv) {
async::Loop loop(&kAsyncLoopConfigAttachToThread);
trace::TraceProviderWithFdio trace_provider(loop.dispatcher());
- std::unique_ptr<component::StartupContext> context =
- component::StartupContext::CreateFromStartupInfo();
+ std::unique_ptr<sys::ComponentContext> context = sys::ComponentContext::Create();
VirtioNetImpl virtio_net(context.get());
diff --git a/src/virtualization/bin/vmm/device/virtio_rng.cc b/src/virtualization/bin/vmm/device/virtio_rng.cc
index 999e330..9e8fd6e 100644
--- a/src/virtualization/bin/vmm/device/virtio_rng.cc
+++ b/src/virtualization/bin/vmm/device/virtio_rng.cc
@@ -4,7 +4,7 @@
#include <lib/async-loop/cpp/loop.h>
#include <lib/fit/defer.h>
-#include <trace-provider/provider.h>
+#include <lib/trace-provider/provider.h>
#include "src/virtualization/bin/vmm/device/device_base.h"
#include "src/virtualization/bin/vmm/device/stream_base.h"
@@ -26,7 +26,7 @@
class VirtioRngImpl : public DeviceBase<VirtioRngImpl>,
public fuchsia::virtualization::hardware::VirtioRng {
public:
- VirtioRngImpl(component::StartupContext* context) : DeviceBase(context) {}
+ VirtioRngImpl(sys::ComponentContext* context) : DeviceBase(context) {}
// |fuchsia::virtualization::hardware::VirtioDevice|
void NotifyQueue(uint16_t queue) override {
@@ -61,8 +61,7 @@
int main(int argc, char** argv) {
async::Loop loop(&kAsyncLoopConfigAttachToThread);
trace::TraceProviderWithFdio trace_provider(loop.dispatcher());
- std::unique_ptr<component::StartupContext> context =
- component::StartupContext::CreateFromStartupInfo();
+ std::unique_ptr<sys::ComponentContext> context = sys::ComponentContext::Create();
VirtioRngImpl virtio_rng(context.get());
return loop.Run();
diff --git a/src/virtualization/bin/vmm/device/virtio_wl.cc b/src/virtualization/bin/vmm/device/virtio_wl.cc
index 189ab5c..5d13dee 100644
--- a/src/virtualization/bin/vmm/device/virtio_wl.cc
+++ b/src/virtualization/bin/vmm/device/virtio_wl.cc
@@ -6,13 +6,13 @@
#include <lib/async-loop/cpp/loop.h>
#include <lib/fit/defer.h>
+#include <lib/trace-provider/provider.h>
+#include <lib/trace/event.h>
#include <lib/zx/socket.h>
-#include <src/lib/fxl/logging.h>
-#include <trace-provider/provider.h>
-#include <trace/event.h>
#include <vector>
+#include "src/lib/fxl/logging.h"
#include "src/virtualization/bin/vmm/bits.h"
static constexpr uint32_t DRM_FORMAT_ARGB8888 = 0x34325241;
@@ -185,7 +185,7 @@
async::Wait tx_wait_;
};
-VirtioWl::VirtioWl(component::StartupContext* context) : DeviceBase(context) {}
+VirtioWl::VirtioWl(sys::ComponentContext* context) : DeviceBase(context) {}
void VirtioWl::Start(fuchsia::virtualization::hardware::StartInfo start_info, zx::vmar vmar,
fidl::InterfaceHandle<fuchsia::virtualization::WaylandDispatcher> dispatcher,
@@ -927,8 +927,7 @@
int main(int argc, char** argv) {
async::Loop loop(&kAsyncLoopConfigAttachToThread);
trace::TraceProviderWithFdio trace_provider(loop.dispatcher());
- std::unique_ptr<component::StartupContext> context =
- component::StartupContext::CreateFromStartupInfo();
+ std::unique_ptr<sys::ComponentContext> context = sys::ComponentContext::Create();
VirtioWl virtio_wl(context.get());
return loop.Run();
diff --git a/src/virtualization/bin/vmm/device/virtio_wl.h b/src/virtualization/bin/vmm/device/virtio_wl.h
index 7fdae3f..eaed16f 100644
--- a/src/virtualization/bin/vmm/device/virtio_wl.h
+++ b/src/virtualization/bin/vmm/device/virtio_wl.h
@@ -8,14 +8,15 @@
#include <lib/async/cpp/wait.h>
#include <lib/fit/function.h>
#include <lib/zx/channel.h>
-#include <virtio/virtio_ids.h>
-#include <virtio/wl.h>
#include <zircon/compiler.h>
#include <zircon/types.h>
#include <deque>
#include <unordered_map>
+#include <virtio/virtio_ids.h>
+#include <virtio/wl.h>
+
#include "src/virtualization/bin/vmm/device/device_base.h"
#include "src/virtualization/bin/vmm/device/virtio_queue.h"
@@ -78,7 +79,7 @@
virtual zx_status_t Duplicate(zx::handle* handle) { return ZX_ERR_NOT_SUPPORTED; }
};
- VirtioWl(component::StartupContext* context);
+ explicit VirtioWl(sys::ComponentContext* context);
~VirtioWl() override = default;
zx_status_t OnDeviceReady(uint32_t negotiated_features);