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
|
|
@ -336,7 +336,7 @@ static struct spinlock input_lock;
|
|||
// 1 /dev/console the active terminal, so kernel messages and a
|
||||
// shell started on the console both follow a switch
|
||||
// 10 /dev/tty the caller's controlling terminal
|
||||
// 11..16 /dev/tty1..6 that terminal, whether or not it is on screen
|
||||
// 11..22 /dev/tty1..12 that terminal, whether or not it is on screen
|
||||
//
|
||||
// Anything else is the console, which is what an unrecognised minor meant
|
||||
// before there was more than one terminal to get wrong.
|
||||
|
|
@ -461,7 +461,7 @@ erase_one(struct vt *v)
|
|||
// Keyboard input
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// Alt+F1..F6, Ctrl+Alt+F1..F6 and the settable chord (AltGr+F1..F6 by
|
||||
// Alt+F-key, Ctrl+Alt+F-key and the settable chord (Ctrl+Alt+F1..F12 by
|
||||
// default) switch terminals. kbd.c reports them as
|
||||
// KBD_VT_SWITCH+n so that the
|
||||
// decision of what a chord *means* is made here, where the terminals are,
|
||||
|
|
|
|||
Loading…
Reference in a new issue