SystemPteTypeDetail

final class ntoseye.SystemPteTypeDetail

Subclass of BaseRecord.

One _MI_SYSTEM_PTE_TYPE bitmap allocator (!sysptes). Counts are in PTEs; the bitmap may cover several PTEs per bit (ptes_per_bit).

property address: int
property base_pte: int
property base_va: int | None

The virtual address that base_pte maps. None without MmPteBase.

property bitmap: int
property bitmap_bits: int
property bitmap_free: int

The free PTEs, counted from the clear bits of the bitmap, which the allocator hands out from. It differs from free when the target allocated between the two reads, by the PTEs a processor holds in the allocator’s CachedPtes, or where the counter does not hold.

property counters_hold: bool

Whether the kernel’s TotalSystemPtes and TotalFreeSystemPtes can be true of the bitmap: the total within the PTEs it covers, and neither count of free PTEs below zero or above the total. Windows 11 22631 ARM64 keeps its SystemPtes allocator’s free count below zero and its total at three times its bitmap, and its driver-image allocator’s free count far above its total; there the counters say nothing about how many PTEs are in use.

property failures: int
property flags: int
property free: int

TotalFreeSystemPtes, as read: one below zero reads as its two’s complement.

property free_run_count: int
property free_runs: list[SystemPteRun]

The free runs in address order, if the list was requested; bounded.

property free_runs_truncated: bool
property largest_free_run: int
property name: str

The MiState path of the allocator, e.g. Vs.SystemPteInfo.

property ptes_per_bit: int

The number of PTEs that each bitmap bit covers.

property total: int

TotalSystemPtes, the number of PTEs made available so far; the rest of the bitmap is reserved (its bits set) until the allocator expands. Not always true: see counters_hold.

property tracking: bool

Whether the kernel tracks which driver mapped each PTE (TrackPtes).

property unreadable_bitmap_bytes: int

The bitmap bytes that could not be read, which count as allocated.

property unscanned_bitmap_bits: int

The bits past the read limit for one bitmap (a corrupt SizeOfBitMap), which no count includes.

property used: int | None

The PTEs in use, total minus the free ones (counted_free); None where the counters do not hold.

property va_type: str | None

The _MI_SYSTEM_VA_TYPE name, without the MiVa prefix.