class Builder
Defined at line 167 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h
Builder for configuring and instantiating an `EmbeddedServer` inside a C++
DFv2 driver.
Public Methods
void Builder (const Builder & )
Defined at line 175 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h
Builder & operator= (const Builder & )
Defined at line 176 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h
void Builder (std::string_view node_identity)
-----------------------------------------------------------------------------
Builder
-----------------------------------------------------------------------------
Defined at line 178 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
void ~Builder ()
Defined at line 181 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
void Builder (Builder && other)
Defined at line 188 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
template <typename MmioLike>
zx::result<uint32_t> AddMmioBuffer (std::string_view name, const MmioLike & mmio)
Convenience overload for `fdf::MmioBuffer` / `fdf::MmioView`-shaped types
exposing `get_vmo()`, `get_offset()`, and `get_size()`.
Defined at line 192 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h
Builder & operator= (Builder && other)
Defined at line 192 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
zx::result<uint32_t> AddStateVmoBank (std::string_viewname,const StateVmoBank &bank,std::initializer_list<uint64_t>writable_knob_offsets)
Defined at line 201 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h
Builder & SetEnabled (bool enabled)
Explicitly enables or disables the embedded server.
Defined at line 203 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
Builder & SetAllowMutatingSessions (bool allow)
Configures whether mutating sessions are permitted on this embedded server.
Defined at line 208 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
Builder & SetWritableRegisters (uint32_t resource_id, std::initializer_list<uint64_t> offsets)
Defined at line 211 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h
zx::result<uint32_t> AddMmioVmo (std::string_viewname,zx::unowned_vmovmo,size_toffset,size_tsize)
Shares a driver MMIO VMO with the embedded server. `vmo` is duplicated
internally with `ZX_RIGHT_SAME_RIGHTS`; the caller retains ownership.
Defined at line 213 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
Builder & SetMaskedWritableRegisters (uint32_t resource_id, std::initializer_list<MaskedRegister> registers)
Defined at line 227 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h
zx::result<uint32_t> AddStateVmoBank (std::string_viewname,const StateVmoBank &bank,cpp20::span<const uint64_t>writable_knob_offsets)
Registers a `StateVmoBank` and optionally marks 32-bit knob offsets as
host-writable under mutating sessions.
Defined at line 227 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
Builder & SetHardDeniedRanges (uint32_t resource_id, std::initializer_list<ByteRange> ranges)
Defined at line 236 of file ../../src/devices/driver-lab/cpp/include/lib/driver_lab/driver_lab.h
Builder & SetWritableRegisters (uint32_t resource_id, cpp20::span<const uint64_t> offsets)
Configures the permitted 32-bit writable register offsets on `resource_id`.
Defined at line 239 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
Builder & SetMaskedWritableRegisters (uint32_t resource_id, cpp20::span<const MaskedRegister> registers)
Configures 32-bit writable registers on `resource_id` that each permit
host changes only to the bits in `allow_mask`. Use this for control
registers that also hold reset or run/stop bits.
Like `SetWritableRegisters()`, this replaces any writable registers
previously configured on `resource_id`. To mix full-width and masked
registers on one resource, give the full-width ones a mask of
`0xffffffff`.
Defined at line 244 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
Builder & SetHardDeniedRanges (uint32_t resource_id, cpp20::span<const ByteRange> ranges)
Configures the hard-denied byte ranges (`[start, end)`) on `resource_id`.
Defined at line 259 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
uint32_t AddInterrupt (std::string_view name)
Registers a named interrupt resource for event tapping and returns its
assigned resource ID.
Defined at line 273 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
Builder & SetQuiesceHook (fit::function<void (bool)> hook)
Registers a synchronous quiesce hook invoked when a mutating host session
acquires (`paused = true`) or releases (`paused = false`) the mutation
lease.
Defined at line 284 of file ../../src/devices/driver-lab/cpp/driver_lab.cc
zx::result<EmbeddedServer> Build ()
Validates registered resources and builds the `EmbeddedServer`.
Defined at line 290 of file ../../src/devices/driver-lab/cpp/driver_lab.cc