macro_rules! read_write_sysreg {
($sysreg:ident $(: $asm_sysreg:ident)?, $type:ident $(: $bitflags_type:ty)?, safe_read, safe_write $(, $fake_sysregs:expr)?) => { ... };
($sysreg:ident : ($coproc:ident, $opc1:literal, $crm:ident, $crn:ident, $opc2:literal), $type:ident $(: $bitflags_type:ty)?, safe_read, safe_write $(, $fake_sysregs:expr)?) => { ... };
($sysreg:ident : ($coproc:ident, $opc1:literal, $crm:ident), $type:ident $(: $bitflags_type:ty)?, safe_read, safe_write $(, $fake_sysregs:expr)?) => { ... };
(
$(#[$attributes:meta])*
$sysreg:ident $(: $asm_sysreg:ident)?, $type:ident $(: $bitflags_type:ty)?, safe_read $(, $fake_sysregs:expr)?
) => { ... };
(
$(#[$attributes:meta])*
$sysreg:ident : ($coproc:ident, $opc1:literal, $crm:ident, $crn:ident, $opc2:literal), $type:ident $(: $bitflags_type:ty)?, safe_read $(, $fake_sysregs:expr)?
) => { ... };
(
$(#[$attributes:meta])*
$sysreg:ident : ($coproc:ident, $opc1:literal, $crm:ident), $type:ident $(: $bitflags_type:ty)?, safe_read $(, $fake_sysregs:expr)?
) => { ... };
}Expand description
Generates public functions named read_$sysreg and write_$sysreg to read or write
(respectively) a value of type $type from/to the system register $sysreg.
safe_read and safe_write should only be specified for system registers which are indeed safe
to read from or write any value to.