template <typename ForcedAccessType = void>

class RegisterMmioScaled

Defined at line 29 of file ../../zircon/system/ulib/hwreg/include/hwreg/mmio.h

This can be passed to ReadFrom and WriteTo methods. The RegisterAddr object holds an offset from

an MMIO base address stored in this object.

The template parameter defines a type meant to be used for MMIO operations (read/write).

This implies that values are casted to and from |ForcedAccessType|. This affects register

offsets as well, since offsets will be scaled with by |sizeof(ForcedAccessType)|.

|ForcedAccessType = void| is a special case where unscaled and unconstrained MMIO operations are

performed; that is no casting is performed between types and no scaling is applied to the

offsets.

Public Methods

void RegisterMmioScaled<ForcedAccessType> (volatile void * mmio)

Defined at line 31 of file ../../zircon/system/ulib/hwreg/include/hwreg/mmio.h

template <typename IntType>
void Write (IntType val, uint32_t offset)

Write |val| to the |sizeof(IntType)| byte field located |offset| bytes from

|base()|.

Defined at line 36 of file ../../zircon/system/ulib/hwreg/include/hwreg/mmio.h

template <typename IntType>
IntType Read (uint32_t offset)

Read the value of the |sizeof(IntType)| byte field located |offset| bytes from

|base()|.

Defined at line 44 of file ../../zircon/system/ulib/hwreg/include/hwreg/mmio.h

uintptr_t base ()

Defined at line 49 of file ../../zircon/system/ulib/hwreg/include/hwreg/mmio.h