mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-04-29 03:00:14 -04:00
6
test/external/external_fuzz_ampt.py
vendored
6
test/external/external_fuzz_ampt.py
vendored
@@ -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
|
||||
|
||||
|
||||
10
test/external/external_test_am.py
vendored
10
test/external/external_test_am.py
vendored
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user