[Bug 291537] atrtc1: Warning: Couldn't map I/O.: system pauses, then reboots on Framework 13 laptop

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 24 Sep 2026 23:18:59 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291537

Anton Povalikhin <apovalixin@bk.ru> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |apovalixin@bk.ru

--- Comment #7 from Anton Povalikhin <apovalixin@bk.ru> ---
Root cause found and fix proposed:
https://github.com/freebsd/freebsd-src/pull/2442

On Arrow Lake (S/HX) platforms, reading the undecoded port 0x84 causes a hard
platform reset. rtcin_locked()/rtcout_locked() in sys/x86/isa/atrtc.c read
inb(0x84) as an I/O delay on every CMOS access, so the machine resets in atrtc
attach (or earlier, in the VGA probe's rtcin(RTC_EQUIPMENT)).

Verified on MSI Vector 17 HX AI (Core Ultra 9 275HX, HM870, BIOS E17S3IMS.112,
pure UEFI): a single inb(0x84) or inb(0x85) resets the machine immediately; the
CMOS ports 0x70/0x71 themselves work (register A reads 0x26), as do ports 0x80,
0x81, 0x8f, 0x61 and 0x3d4. Replacing the port read with cpu_lock_delay() makes
GENERIC 15.1 boot without any hints. With the fix applied the "atrtc1: Warning:
Couldn't map I/O." line still appears but is only cosmetic.

The PR also carries two small related changes: vga_isa honours
hint.vga.N.disabled in the identify routine, and ig4 gets the Arrow Lake-S/HX
LPSS I2C IDs (0x7f4c-0x7f4f, 0x7f7a, 0x7f7b) for the touchpad.

-- 
You are receiving this mail because:
You are the assignee for the bug.