SchOS/ldls/kpi
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz d437e42b49 LDLS: every MDIO read was RFLAGS; ACPI: an Embedded Controller
On the TUF A15 Linux's r8169 found its PHY and read its ID as 0x02460246.
mdio-bus keeps the register it has just read in r11 across
preempt_enable(), which on x86 is `decl %gs:__preempt_count; je` to a
call that preserves every register. LDLS gave __preempt_count zeroes, so
the count reached zero and the call was made -- to a logging stub,
whose syscall left RFLAGS (0x246) in r11. __preempt_count now starts at
PREEMPT_ENABLED (x86 keeps NEED_RESCHED inverted), and preempt_schedule
and its notrace twin are a bare ret.

The same laptop reported its battery full and on AC, unplugged. The EC
owns both, and with no EmbeddedControl handler _REG never told the
firmware the EC was usable, so _BST and _PSR answered their fallbacks.
The EC is found by PNP0C09 or the ECDT and served by the ACPI 12.3
byte protocol, installed before _INI. SCI queries are not handled yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
2026-10-25 15:11:36 +01:00
..
base.c LDLS: every MDIO read was RFLAGS; ACPI: an Embedded Controller 2026-10-25 15:11:36 +01:00
io.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
kpi.c Linux's own r8169 through LDLS, deep idle, and the GPU plan 2026-10-25 14:26:16 +01:00
kpi.h Linux's own r8169 through LDLS, deep idle, and the GPU plan 2026-10-25 14:26:16 +01:00
link_modes.inc Linux's own r8169 through LDLS, deep idle, and the GPU plan 2026-10-25 14:26:16 +01:00
net.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
pci.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
skb.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
string.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
thunk.c licence: SchOS is GPL-2.0-or-later, no longer Apache-2.0 2026-10-22 08:48:45 +02:00
work.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00