v.0.1.3
Adrenalift v0.1.3 Release Notes
Highlights
This release focuses on stability on Intel-based platforms. Previous versions could crash with an access violation (BSOD or silent process termination) when the physical memory scan hit device MMIO regions mapped above the 4 GB boundary — a layout common on Intel systems with Resizable BAR enabled. Version 0.1.3 resolves this with two complementary fixes: accurate MMIO region discovery via WMI and crash-proof memory reads via the Windows SEH mechanism.
What's New
Above-4 GB MMIO region exclusion (Intel ReBAR / NVMe BARs)
On Intel platforms (and some AMD configurations), PCI Express devices such as GPUs with Resizable BAR and NVMe controllers map large memory-mapped I/O windows above the 4 GB line. The scanner now queries Win32_DeviceMemoryAddress via WMI at startup to discover all device MMIO regions and automatically excludes them from the physical memory scan. This prevents the scanner from probing address ranges that belong to hardware devices rather than system RAM.
Safe physical memory reads (SEH-protected)
All physical memory reads now go through kernel32.ReadProcessMemory on the application's own process instead of raw ctypes.memmove. ReadProcessMemory has built-in Structured Exception Handling — if a mapped page triggers an access violation (unmapped hole, device MMIO, firmware-reserved region), the call returns a short read instead of killing the process. This eliminates the class of fatal crashes that users on Intel systems were experiencing during the initial scan.
Improved scan logging
The scanner now logs detailed information about discovered MMIO exclusion regions, chunk counts, and the effective scan ceiling. This makes it easier to diagnose platform-specific issues from the log file alone.
Changes since v0.1.2
- New:
_get_device_mmio_ranges()— WMI-based discovery of all device memory address ranges, including 64-bit PCIe BARs - New:
_build_mmio_exclusion_set()— unified MMIO exclusion combining the legacy below-4 GB hole with above-4 GB device regions - New:
_safe_read_mapped()— SEH-protected memory copy viaReadProcessMemoryreplacing rawctypes.memmove - Changed:
_build_scannable_chunks()now excludes above-4 GB MMIO regions from both firmware-guided and fallback scan paths - Changed:
_is_scannable()accepts an additionaldevice_mmio_rangesparameter for above-4 GB filtering - Changed:
scan_memory_windows()window-based rescans also respect above-4 GB exclusions - Changed:
_offset_scan_chunk_list()uses safe reads and handles partial read results gracefully - Changed:
_mp_scan_range()and_mp_scan_range_windows()worker functions use safe reads
Affected Platforms
| Platform | Impact |
|---|---|
| Intel + AMD GPU (ReBAR on) | Major — eliminates scan-time access violations |
| Intel + AMD GPU (ReBAR off) | Minor — safe reads add resilience for edge-case memory holes |
| AMD CPU + AMD GPU | Minimal — above-4 GB MMIO regions are typically smaller; safe reads add defense in depth |
Upgrade Notes
- Drop-in replacement for v0.1.2 — no configuration changes required.
- The WMI query adds ~1-2 seconds to the scan startup on first run.
- Check the log file (
overclock_log.txt) for the new "above-4GB MMIO region(s)" entries to confirm the exclusion is active.