class MmioBuffer
Defined at line 146 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
MmioBuffer is wrapper around mmio_block_t.
Protected Members
mmio_
const MmioBufferOps * ops_
const void * ctx_
Public Methods
MmioView View (zx_off_t off)
Provides a slice view into the mmio.
The returned slice object must not outlive this object.
Defined at line 56 of file ../../sdk/lib/driver/mmio/cpp/mmio-view.h
MmioView View (zx_off_t off, size_t size)
Defined at line 58 of file ../../sdk/lib/driver/mmio/cpp/mmio-view.h
void MmioBuffer (const MmioBuffer & )
DISALLOW_COPY_AND_ASSIGN_ALLOW_MOVE
Defined at line 152 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
MmioBuffer & operator= (const MmioBuffer & )
Defined at line 153 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
const MmioBufferOps * GetDefaultOps ()
Defined at line 155 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void MmioBuffer (mmio_buffer_tmmio,const MmioBufferOps *ops,const void *ctx)
Defined at line 157 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void ~MmioBuffer ()
Defined at line 163 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void MmioBuffer (MmioBuffer && other)
Defined at line 165 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
MmioBuffer & operator= (MmioBuffer && other)
Defined at line 167 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
mmio_buffer_t release ()
Defined at line 175 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
zx::result<MmioBuffer> Create (zx_off_toffset,size_tsize,zx::vmovmo,uint32_tcache_policy)
Defined at line 181 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void reset ()
Defined at line 191 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
MMIO_PTR void * get ()
Defined at line 196 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
zx_off_t get_offset ()
Defined at line 197 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
size_t get_size ()
Defined at line 198 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
zx::unowned_vmo get_vmo ()
Defined at line 199 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
zx_status_t Pin (const zx::bti & bti, std::optional<MmioPinnedBuffer> * pinned_buffer)
Defined at line 201 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
zx::result<MmioPinnedBuffer> Pin (const zx::bti & bti)
Defined at line 210 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
uint32_t ReadMasked32 (uint32_t mask, zx_off_t offs)
Defined at line 224 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void ModifyBits32 (uint32_tbits,uint32_tmask,zx_off_toffs)
Defined at line 228 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void ModifyBits32 (uint32_tval,uint32_tstart,uint32_twidth,zx_off_toffs)
Defined at line 232 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void SetBits32 (uint32_t bits, zx_off_t offs)
Defined at line 236 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void ClearBits32 (uint32_t bits, zx_off_t offs)
Defined at line 238 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void CopyFrom32 (const MmioBuffer &source,zx_off_tsource_offs,zx_off_tdest_offs,size_tcount)
Defined at line 240 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
T Read (zx_off_t offs)
Defined at line 246 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
T ReadMasked (T mask, zx_off_t offs)
Defined at line 261 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
void CopyFrom (const MmioBuffer &source,zx_off_tsource_offs,zx_off_tdest_offs,size_tcount)
Defined at line 266 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
void Write (T val, zx_off_t offs)
Defined at line 277 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
void ModifyBits (Tbits,Tmask,zx_off_toffs)
Defined at line 292 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
void SetBits (T bits, zx_off_t offs)
Defined at line 298 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
void ClearBits (T bits, zx_off_t offs)
Defined at line 303 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
T GetBits (size_tshift,size_tcount,zx_off_toffs)
Defined at line 308 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
T GetBit (size_t shift, zx_off_t offs)
Defined at line 315 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
void ModifyBits (Tbits,size_tshift,size_tcount,zx_off_toffs)
Defined at line 320 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
void ModifyBit (boolval,size_tshift,zx_off_toffs)
Defined at line 327 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
void SetBit (size_t shift, zx_off_t offs)
Defined at line 332 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
template <typename T>
void ClearBit (size_t shift, zx_off_t offs)
Defined at line 337 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
uint8_t Read8 (zx_off_t offs)
Defined at line 341 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
uint16_t Read16 (zx_off_t offs)
Defined at line 342 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
uint32_t Read32 (zx_off_t offs)
Defined at line 343 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
uint64_t Read64 (zx_off_t offs)
Defined at line 344 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void ReadBuffer (zx_off_toffs,void *buffer,size_tsize)
Read `size` bytes from the MmioBuffer into `buffer`. There are no access width guarantees
when using this operation and must only be used with devices where arbitrary access widths are
supported.
Defined at line 349 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void Write8 (uint8_t val, zx_off_t offs)
Defined at line 353 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void Write16 (uint16_t val, zx_off_t offs)
Defined at line 354 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void Write32 (uint32_t val, zx_off_t offs)
Defined at line 355 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void Write64 (uint64_t val, zx_off_t offs)
Defined at line 356 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
void WriteBuffer (zx_off_toffs,const void *buffer,size_tsize)
Write `size` bytes from `buffer` into the MmioBuffer. There are no access width guarantees
when using this operation and must only be used with devices where arbitrary access widths are
supported.
Defined at line 361 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h
Friends
MmioBuffer MmioBuffer (MmioBuffer && bufferconst MmioBufferOps * opsconst void * ctx)