MCPcopy Create free account
hub / github.com/cloud-hypervisor/cloud-hypervisor / set_reg_field

Function set_reg_field

devices/src/tpm.rs:205–209  ·  view source on GitHub ↗

Set a particular field in a Register

(regs: &mut [u32; TPM_CRB_R_MAX], reg: CrbRegister, value: u32)

Source from the content-addressed store, hash-verified

203
204// Set a particular field in a Register
205fn set_reg_field(regs: &mut [u32; TPM_CRB_R_MAX], reg: CrbRegister, value: u32) {
206 let (base, offset, len) = get_field(reg);
207 let mask = (!(0_u32) >> (32 - len)) << offset;
208 regs[base as usize] = (regs[base as usize] & !mask) | ((value << offset) & mask);
209}
210
211// Get the value of a particular field in a Register
212const fn get_reg_field(regs: &[u32; TPM_CRB_R_MAX], reg: CrbRegister) -> u32 {

Callers 4

request_completedMethod · 0.85
resetMethod · 0.85
writeMethod · 0.85
test_set_get_reg_fieldFunction · 0.85

Calls 1

get_fieldFunction · 0.85

Tested by 1

test_set_get_reg_fieldFunction · 0.68