示例#1
0
 def read_mmio_reg(self, phys_address, size):
     phys_address_lo = phys_address & 0xFFFFFFFF
     phys_address_hi = (phys_address >> 32) & 0xFFFFFFFF
     out_buf = edk2.readmem(phys_address_lo, phys_address_hi, size)
     if size == 8:
         value = struct.unpack('=Q', out_buf[:size])[0]
     elif size == 4:
         value = struct.unpack('=I', out_buf[:size])[0]
     elif size == 2:
         value = struct.unpack('=H', out_buf[:size])[0]
     elif size == 1:
         value = struct.unpack('=B', out_buf[:size])[0]
     else:
         value = 0
     return value
示例#2
0
 def _read_phys_mem(self, phys_address, length):
     return edk2.readmem(phys_address, length)
示例#3
0
 def read_phys_mem(self, phys_address_hi, phys_address_lo, length):
     return edk2.readmem(phys_address_lo, phys_address_hi, length)
示例#4
0
 def _read_phys_mem( self, phys_address, length ):
     return edk2.readmem( phys_address, length )