am: cleanup mm (#8730)

* am: cleanup mm

* cle

* ops

* entries
This commit is contained in:
nimlgen
2025-01-23 15:49:37 +03:00
committed by GitHub
parent 07ec99001a
commit e4512baea4
4 changed files with 32 additions and 29 deletions

View File

@@ -25,7 +25,7 @@ class AMPTFuzzer:
_vaddr = va.va_addr + _offset
for i in range(_n_ptes):
pte = helper_read_entry_components(_pt.get_entry(_pte_idx + i))
pte = helper_read_entry_components(_pt.entries[_pte_idx + i])
self.d.vram[pte['paddr']] = pattern # Mark this page
assert pte['valid'] == 1
@@ -41,7 +41,7 @@ class AMPTFuzzer:
frags_l = list(ctx.next(contig_range))
for f_offset, f_pt, f_pte_idx, f_n_ptes, f_pte_covers in frags_l:
for j in range(f_n_ptes):
f_pte = helper_read_entry_components(f_pt.get_entry(f_pte_idx + j))
f_pte = helper_read_entry_components(f_pt.entries[f_pte_idx + j])
assert f_pte['valid'] == 1
assert f_pte['paddr'] == start_paddr+f_offset+j*f_pte_covers, f"paddr {f_pte['paddr']:#x} not {start_paddr+f_offset+j*f_pte_covers:#x}"
@@ -53,7 +53,7 @@ class AMPTFuzzer:
def verify_memory(self, pages, pattern: int) -> bool:
for _offset, _pt, _pte_idx, _n_ptes, _pte_covers in pages:
for i in range(_n_ptes):
pte = helper_read_entry_components(_pt.get_entry(_pte_idx + i))
pte = helper_read_entry_components(_pt.entries[_pte_idx + i])
if self.d.vram[pte['paddr']] != pattern: return False
if pte['valid'] == 0: return False

View File

@@ -3,7 +3,9 @@ from tinygrad.runtime.support.am.amdev import AMMemoryManager, AMPageTableTraver
from tinygrad.helpers import mv_address
class FakeGMC:
def __init__(self): self.vm_base = 0x0
def __init__(self):
self.vm_base = 0x0
self.address_space_mask = (1 << 44) - 1
def flush_tlb(self, *args, **kwargs): pass
class FakePCIRegion:
@@ -72,7 +74,7 @@ class TestAMPageTable(unittest.TestCase):
for tup in results:
_offset, _pt, _pte_idx, _n_ptes, _pte_covers = tup
for i in range(_n_ptes):
pte = helper_read_entry_components(_pt.get_entry(_pte_idx + i))
pte = helper_read_entry_components(_pt.entries[_pte_idx + i])
assert pte['paddr'] == va + _offset + i * _pte_covers, f"Expected paddr {pte['paddr']:#x} to be {va + _offset + i * _pte_covers:#x}"
assert pte['valid'] == 1
@@ -81,7 +83,7 @@ class TestAMPageTable(unittest.TestCase):
for tup in results:
_offset, _pt, _pte_idx, _n_ptes, _pte_covers = tup
for i in range(_n_ptes):
pte = helper_read_entry_components(_pt.get_entry(_pte_idx + i))
pte = helper_read_entry_components(_pt.entries[_pte_idx + i])
assert pte['paddr'] == 0
assert pte['valid'] == 0
@@ -113,7 +115,7 @@ class TestAMPageTable(unittest.TestCase):
for tup in ctx.next(0x100000):
_offset, _pt, _pte_idx, _n_ptes, _pte_covers = tup
for i in range(_n_ptes):
pte = helper_read_entry_components(_pt.get_entry(_pte_idx + i))
pte = helper_read_entry_components(_pt.entries[_pte_idx + i])
assert pte['paddr'] == 0xdead0000 + _offset + i * _pte_covers, f"paddr {pte['paddr']:#x} not {0xdead0000 + _offset + i * _pte_covers:#x}"
assert pte['valid'] == 1