SchOS/kernel
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz d650ff433b udev: PCI bridges as parents, USB interfaces, the controller's own address, and the attributes lsusb reads
PCI devices now nest under the bridge they sit behind (from each bridge's
secondary..subordinate window), so a controller behind a root port is where
Linux would put it. USB interfaces (1-5:1.0) are directories with class,
number, a driver link and a uevent with INTERFACE= and a MODALIAS, announced
after the drivers have been offered the device and removed before it. The xHCI
driver tells the USB core its PCI address when it comes up, replacing the guess
that bus N was the Nth controller. Devices and root hubs carry version,
bMaxPacketSize0, bNumInterfaces, bmAttributes and the rest; lsusb -t from
Alpine's usbutils now draws the tree.

Checked on q35 with an xHCI behind a pcie-root-port and a USB keyboard on each
controller. Plain lsusb still fails: libusb wants usbfs, and refuses a kernel
that calls itself 0.1.0.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVRhxi9zpdW2uDUN4FVcao
2026-10-26 17:54:13 +01:00
..
acpi LDLS: every MDIO read was RFLAGS; ACPI: an Embedded Controller 2026-10-25 15:11:36 +01:00
arch/x86_64 Keyboard lights, TLB shootdowns, battery in sysfs, /proc/pid/maps 2026-10-25 13:43:27 +01:00
core Twelve login terminals, root only, console fixes, a faster build, a Niveus splash, and X back on evdev 2026-10-26 17:43:44 +01:00
dev Twelve login terminals, root only, console fixes, a faster build, a Niveus splash, and X back on evdev 2026-10-26 17:43:44 +01:00
drivers udev: PCI bridges as parents, USB interfaces, the controller's own address, and the attributes lsusb reads 2026-10-26 17:54:13 +01:00
fs udev: PCI bridges as parents, USB interfaces, the controller's own address, and the attributes lsusb reads 2026-10-26 17:54:13 +01:00
gmmos GMMOS: USB keyboards on xHCI 2026-10-25 01:23:14 +02:00
net libinput, seatd and libseat; sockets from accept() can pass descriptors 2026-10-26 16:51:39 +01:00
proc Users and permissions: accounts, login, enforced file permissions, setuid, su, passwd, doas 2026-10-26 13:16:07 +01:00
scff SCFF: the live root ships compressed, with Xorg and Window Maker 2026-10-24 21:17:31 +02:00
sys Twelve login terminals, root only, console fixes, a faster build, a Niveus splash, and X back on evdev 2026-10-26 17:43:44 +01:00
kernel.ld kernel: load at 16 MB, clear of what firmware keeps low 2026-10-24 00:13:53 +02:00