(self, addr:int, value:int)
| 89 | return bytes(self._xram[addr:addr+length]) |
| 90 | |
| 91 | def _xram_write_byte(self, addr:int, value:int): |
| 92 | for ctrl_addr, (host_addr, dma_size) in self._dma_regions.items(): |
| 93 | if ctrl_addr <= addr < ctrl_addr + dma_size: |
| 94 | (ctypes.c_ubyte * 1).from_address(host_addr + (addr - ctrl_addr))[0] = value |
| 95 | return |
| 96 | if addr == self.TLP_STATUS: |
| 97 | self._xram[addr] &= ~value & 0xFF |
| 98 | return |
| 99 | self._xram[addr] = value |
| 100 | if addr == self.TLP_TRIGGER and value == 0x0F: self._process_tlp() |
| 101 | |
| 102 | # --- TLP engine --- |
| 103 |
no test coverage detected