Ejemplo n.º 1
0
 def _write_phys_mem( self, phys_address, length, buf ):
     # temp hack
     if 4 == length:
         dword_value = struct.unpack( 'I', buf )[0]
         edk2.writemem_dword( phys_address, dword_value )
     else:
         edk2.writemem( phys_address, buf, length )
Ejemplo n.º 2
0
 def _write_phys_mem(self, phys_address, length, buf):
     # temp hack
     if 4 == length:
         dword_value = struct.unpack('I', buf)[0]
         edk2.writemem_dword(phys_address, dword_value)
     else:
         edk2.writemem(phys_address, buf, length)
Ejemplo n.º 3
0
 def write_phys_mem(self, phys_address_hi, phys_address_lo, length, buf):
     if 4 == length:
         dword_value = struct.unpack('I', buf)[0]
         edk2.writemem_dword(phys_address_lo, phys_address_hi,
                             bytestostring(dword_value))
     else:
         edk2.writemem(phys_address_lo, phys_address_hi, bytestostring(buf),
                       length)
Ejemplo n.º 4
0
 def write_mmio_reg(self, phys_address, size, value):
     if logger().VERBOSE:
         logger().log( '[efi] helper does not support 64b PA' )
     if size == 4:
         return edk2.writemem_dword( phys_address, value )
     else:
         logger().error( '[efi] unsupported size %d by write_mmio_reg' % size )
Ejemplo n.º 5
0
 def write_mmio_reg(self, phys_address, size, value):
     if logger().DEBUG:
         logger().log('[efi] helper does not support 64b PA')
     if size == 4:
         return edk2.writemem_dword(phys_address, value)
     else:
         buf = struct.pack(size * "B", value)
         edk2.writemem(phys_address, buf, size)
Ejemplo n.º 6
0
 def write_mmio_reg(self, phys_address, size, value):
     phys_address_lo = phys_address & 0xFFFFFFFF
     phys_address_hi = (phys_address >> 32) & 0xFFFFFFFF
     if size == 4:
         return edk2.writemem_dword(phys_address_lo, phys_address_hi, value)
     else:
         buf = struct.pack(size * "B", value)
         edk2.writemem(phys_address_lo, phys_address_hi, buf, size)
Ejemplo n.º 7
0
 def write_mmio_reg(self, phys_address, size, value):
     if logger().VERBOSE:
         logger().log('[efi] helper does not support 64b PA')
     if size == 4:
         return edk2.writemem_dword(phys_address, value)
     else:
         logger().error('[efi] unsupported size %d by write_mmio_reg' %
                        size)
Ejemplo n.º 8
0
 def write_mmio_reg(self, phys_address, size, value):
     if logger().DEBUG:
         logger().log( '[efi] helper does not support 64b PA' )
     if size == 4:
         return edk2.writemem_dword( phys_address, value )
     else:
         buf = struct.pack(size*"B", value)
         edk2.writemem( phys_address, buf, size )