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 149 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

MmioBuffer & operator= (const MmioBuffer & )

Defined at line 150 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void MmioBuffer (mmio_buffer_t mmio, const MmioBufferOps * ops, const void * ctx)

Defined at line 152 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void ~MmioBuffer ()

Defined at line 158 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void MmioBuffer (MmioBuffer && other)

Defined at line 160 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

MmioBuffer & operator= (MmioBuffer && other)

Defined at line 162 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

mmio_buffer_t release ()

Defined at line 167 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

zx::result<MmioBuffer> Create (zx_off_t offset, size_t size, zx::vmo vmo, uint32_t cache_policy)

Defined at line 173 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void reset ()

Defined at line 183 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

MMIO_PTR void * get ()

Defined at line 188 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

zx_off_t get_offset ()

Defined at line 189 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

size_t get_size ()

Defined at line 190 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

zx::unowned_vmo get_vmo ()

Defined at line 191 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 193 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

zx::result<MmioPinnedBuffer> Pin (const zx::bti & bti)

Defined at line 202 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

uint32_t ReadMasked32 (uint32_t mask, zx_off_t offs)

Defined at line 216 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void ModifyBits32 (uint32_t bits, uint32_t mask, zx_off_t offs)

Defined at line 220 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void ModifyBits32 (uint32_t val, uint32_t start, uint32_t width, zx_off_t offs)

Defined at line 224 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void SetBits32 (uint32_t bits, zx_off_t offs)

Defined at line 228 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void ClearBits32 (uint32_t bits, zx_off_t offs)

Defined at line 230 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void CopyFrom32 (const MmioBuffer & source, zx_off_t source_offs, zx_off_t dest_offs, size_t count)

Defined at line 232 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

template <typename T>
T Read (zx_off_t offs)

Defined at line 238 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

template <typename T>
T ReadMasked (T mask, zx_off_t offs)

Defined at line 253 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

template <typename T>
void CopyFrom (const MmioBuffer & source, zx_off_t source_offs, zx_off_t dest_offs, size_t count)

Defined at line 258 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

template <typename T>
void Write (T val, zx_off_t offs)

Defined at line 269 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

template <typename T>
void ModifyBits (T bits, T mask, zx_off_t offs)

Defined at line 284 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

template <typename T>
void SetBits (T bits, zx_off_t offs)

Defined at line 290 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

template <typename T>
void ClearBits (T bits, zx_off_t offs)

Defined at line 295 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

template <typename T>
T GetBits (size_t shift, size_t count, zx_off_t offs)

Defined at line 300 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 307 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

template <typename T>
void ModifyBits (T bits, size_t shift, size_t count, zx_off_t offs)

Defined at line 312 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

template <typename T>
void ModifyBit (bool val, size_t shift, zx_off_t offs)

Defined at line 319 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 324 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 329 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

uint8_t Read8 (zx_off_t offs)

Defined at line 333 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

uint16_t Read16 (zx_off_t offs)

Defined at line 334 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

uint32_t Read32 (zx_off_t offs)

Defined at line 335 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

uint64_t Read64 (zx_off_t offs)

Defined at line 336 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void ReadBuffer (zx_off_t offs, void * buffer, size_t size)

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 341 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void Write8 (uint8_t val, zx_off_t offs)

Defined at line 345 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void Write16 (uint16_t val, zx_off_t offs)

Defined at line 346 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void Write32 (uint32_t val, zx_off_t offs)

Defined at line 347 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void Write64 (uint64_t val, zx_off_t offs)

Defined at line 348 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h

void WriteBuffer (zx_off_t offs, const void * buffer, size_t size)

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 353 of file ../../sdk/lib/driver/mmio/cpp/mmio-buffer.h