Demand paging, the RTL8168H, links that come up late, and Ctrl+Alt+F1..F12
- Anonymous memory can be reserved without being backed: large mappings, MAP_NORESERVE and PROT_NONE are recorded and each page appears, zeroed, on first touch -- from trap() for the program, from uva2ka() for the kernel on its behalf. WebKit reserves 4 GB at start and touches a sliver; backing it all failed with ENOMEM and Epiphany aborted. - r8169: the 8168G generation and later (the laptop's 8168H, XID 541) are taken from the firmware's out-of-band mode, get their PLL powered, the receive gate opened, and their PHY reached through the OCP window. The PHY's power-down bit is cleared; the old code kept it while restarting autonegotiation. Untested on the hardware so far. - The network thread follows each device's link into lwIP. The link was read once at attach, 0.02 s into boot; real autonegotiation takes seconds, so on hardware the interface stayed down for good. - Twelve terminals, switched with Ctrl+Alt+F1..F12 by default: the keys X uses, so the console and the desktop agree. AltGr+F-key is gone from the defaults (chvt -c altgr+F brings it back). - SO_PASSCRED on Unix sockets, with SCM_CREDENTIALS delivered by recvmsg. WebKit sets it on its IPC sockets and aborted when refused. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
This commit is contained in:
parent
3113eff7fe
commit
54b25708c3
24 changed files with 4166 additions and 68 deletions
|
|
@ -164,9 +164,10 @@ usb_kbd_getc(void)
|
|||
static int
|
||||
hid_special(uchar usage, uchar mods)
|
||||
{
|
||||
// F1..F6 with Alt, AltGr or Ctrl+Alt: switch terminals, as on Linux.
|
||||
// F1..F12 with left Alt or Ctrl+Alt: switch terminals, as on Linux and as
|
||||
// the PS/2 path does. AltGr alone is a layout's third level, not this.
|
||||
if (usage >= 0x3A && usage < 0x3A + NVT && (mods & HID_MOD_ALT) &&
|
||||
!(mods & HID_MOD_SHIFT))
|
||||
!(mods & HID_MOD_SHIFT) && ((mods & 0x04) || (mods & HID_MOD_CTRL)))
|
||||
return KBD_VT_SWITCH + (usage - 0x3A);
|
||||
if (usage >= 0x3A && usage <= 0x45)
|
||||
return KBD_F1 + (usage - 0x3A);
|
||||
|
|
|
|||
Loading…
Reference in a new issue