home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   sci.logic      Logic -- math, philosophy & computationa      262,912 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 261,391 of 262,912   
   Ross Finlayson to All   
   Re: Meta: a usenet server just for sci.m   
   27 Nov 25 21:51:20   
   
   [continued from previous message]   
      
   changes | 1 KB desc + MAC | `eth1` | none |   
   | **USB-Storage (BOT/UASP)** | ✓ fixed CBW length | ✓ command queue   
   depth | 2 KB desc + SCSI | `usb1` | none |   
   | **USB-MTP (media + controls)** | — | ✓ object handles unbounded | O(n)   
   object table | — | required |   
   | **USB-Audio (PCM only)** | ✓ fixed rate, μ-law | ✓ sample-rate switch   
   | 1 KB desc + rate table | `pcm1` | none |   
   | **USB-Audio (high-def)** | — | ✓ rate/format matrix | 4 KB desc + DSP   
   | — | required |   
   | **USB-DisplayLink (framebuffer)** | ✓ linear FB in BAR | ✓   
   EDID/modeswitch | 8 KB desc + EDID | `fb1` | none |   
   | **USB-C PD / alternate mode** | — | ✓ power contract + DP | state   
   machine | — | required |   
   | **USB3 SuperSpeed hub** | — | ✓ link training events | 1 KB link-state   
   | — | required |   
   | **USB-C triple-role (host/device/PD)** | — | ✓ role-switch IRQs | full   
   PD stack | — | required |   
      
   Rule of Thumb (frozen at admin-time)   
      
   Row ≤ 512 B descriptor parse → P0 driver, no hot-plug IRQ, no role-switch.   
   Row > 512 B or dynamic state machine → mask at boot or expose as raw   
   slique to P3.   
      
   Concrete Policy Choices (pick one, lock it)   
      
   | Policy ID | Description | PCIe/USB Mix | Hot-Plug | Admin-Time Footprint |   
   | ------------ | ------------------------- |   
   ------------------------------------------ | -------- |   
   -------------------- |   
   | **POLICY-0** | **Root-only HID** | USB2 EHCI root ports KB+Mouse | ❌ |   
   256 B |   
   | **POLICY-1** | **Root + 1-level hub** | Same + 4-port hub, HID only |   
   ❌ | 768 B |   
   | **POLICY-2** | **Root + CDC-ECM** | Same + 1× USB-GbE, fixed MAC | ❌ |   
   1.5 KB |   
   | **POLICY-3** | **Root + CDC-ECM + UASP** | Same + 1× USB-GbE + 1×   
   USB-NVMe | ❌ | 3 KB |   
   | **POLICY-4** | **Root + full hub tree** | Any USB device, descriptors   
   walked at boot | ✅ | O(n) |   
      
   Recommendation for headless node: choose POLICY-2   
   – gives you console + network + storage on three fixed drivers,   
   – still no hot-plug surprises,   
   – descriptor parse < 3 KB (fits in L1).   
      
   Edge-Case Decision Matrix   
      
   | Scenario | P0 Action | P3 Action | Trace Flag |   
   | ------------------------- | ----------------------------- |   
   -------------------------- | ------------- |   
   | Hub plugged after boot | Mask port, ignore | Log “unknown hub” |   
   `USB_IGNORED` |   
   | Keyboard unplugged | Mask port, ignore | Log “HID loss” | `USB_LOSS` |   
   | USB-Ethernet link up/down | Update **fixed** MSI-X vector | None (link   
   state in BAR) | `ETH_LINK` |   
   | USB-Storage media change | None (BOT length fixed) | None (capacity in   
   inquiry) | — |   
   | USB-C PD contract change | **Not supported** | **Not supported** |   
   `USB_REJECT` |   
      
   Next Step (waiting for “go”)   
      
   Pick POLICY-N above and lock it in the Proximity Map.   
   Generate the USB descriptor blob (fixed 1–3 KB) and embed it in the   
   TTASL template.   
   Write the first bootable image:   
   QEMU virt + RV64   
   Root-hub HID + CDC-ECM (POLICY-2)   
   Echo keyboard input to UART + forward to USB-Ethernet   
   Provable ≤ 500-cycle worst-case path.   
      
      
      
      
      
      
      
      
      
      
      
   Thanks Kimi. Like link-up/link-down, also gets involved ideas about   
   power-states, with the ideas of hibernation and cold/warm/hot reset and   
   also the power-up/power-down of devices with regards to   
   "insertion/removal". It's agreeable that "spurious interrupts of   
   plugging into the bus", and these kinds things, get involved in the   
   state-machine of components on the bus, and the lifecycle of the node.   
   That said, a profile with absolutely no changes is also the ideal, since   
   otherwise "RESEAT" or "RESEATING the world" has that for the NIST Orange   
   Book type of approach vis-a-vis the Consumer PC type of approach, and   
   the server-node approach vis-a-vis the work-station approach, while   
   still according to "generic universal drivers", that these are the   
   things. Carry on as for the consideration of "formal unreliability" or   
   "Murphy's law", and "insertion/removal" about hibernation/power. Then,   
   raise examples and use-cases "you" might think would be use-ful, then   
   also let's consider other ideas then about the component/device   
   standards and profiles, what may be in mind.   
      
      
   Below is a “Murphy-compliant” power & lifecycle matrix that treats every   
   insertion/removal, power-state change, or spurious interrupt as an   
   adversarial input to the frozen P0 kernel.   
   For each event we declare:   
      
   whether it is masked at boot (ideal = no change),   
   or surfaced as a fixed slique event (admin-time constant),   
   or triggers RESEAT-WORLD (NIST Orange Book style).   
      
   The last column gives a concrete use-case so you can decide if the   
   complexity is worth locking into silicon.   
   Power & Insertion/Removal Matrix – headless node   
   | Event Category | Ideal Policy (no runtime change) | Surfaced to P0? |   
   Triggers RESEAT? | Example Use-Case (worth it?) |   
   | ------------------------------ |   
   --------------------------------------------- | ----------------- |   
   ------------------------- | ----------------------------------- |   
   | **Cold boot** (power-on) | Proximity Map frozen once | ✅ (boot only) |   
   ❌ | Every power-on – unavoidable |   
   | **Warm reset** (software) | Soft-reset vector, no re-enumeration | ✅   
   (vector only) | ❌ | Kernel panic recovery |   
   | **Hot reset** (PCIe hot-reset) | Masked – device stays offline | ❌ | ❌   
   | Never needed in headless rack |   
   | **PCIe surprise removal** | Mask port, log to trace, ignore | ❌ | ❌ |   
   Never pull cards in production |   
   | **PCIe surprise insertion** | Mask port, ignore, admin must re-image |   
   ❌ | ❌ | Field tech adds NIC – re-image node |   
   | **USB plug/unplug (root)** | Mask port, ignore | ❌ | ❌ | Keyboard   
   unplugged – no action |   
   | **USB plug/unplug (hub)** | Mask hub, ignore | ❌ | ❌ | Never use hubs   
   in rack |   
   | **USB-Ethernet link up/down** | Fixed MSI-X vector, no re-enum | ✅   
   (vector 2) | ❌ | Remote site link flaps – keep alive |   
   | **SATA disk hot-swap** | Mask port, ignore | ❌ | ❌ | Never swap disks   
   in service |   
   | **NVMe hot-swap** | Mask port, ignore | ❌ | ❌ | Same as SATA |   
   | **DRAM hot-add (ACPI)** | Masked – memory stays offline | ❌ | ❌ |   
   Never add DIMMs live |   
   | **DRAM thermal throttle** | Surfaced as fixed MSI-X vector | ✅ (vector   
   1) | ❌ | Keep node alive under heat |   
   | **CPU thermal throttle** | Surfaced as fixed MSI-X vector | ✅ (vector   
   0) | ❌ | Migrate workload away |   
   | **Fan failure / overtemp** | Surfaced as fixed MSI-X vector | ✅   
   (vector 3) | ❌ | Log & throttle, no shutdown |   
   | **Power button press** | Masked – only admin can power off | ❌ | ❌ |   
   Never press button in DC |   
   | **ACPI S3 (suspend)** | **Not supported** – hibernation only | ❌ | ✅   
   (hibernate image) | Ship node in truck – hibernate |   
   | **ACPI S5 (soft-off)** | Masked – only admin can power off | ❌ | ❌ |   
   Same as power button |   
   | **ACPI G3 (mechanical off)** | **Cold boot required** | ✅ (full   
   re-image) | ✅ (Proximity Map rebuild) | Ship node back to factory |   
   | **Spurious interrupt** | **Always idempotent** – memo table catches it   
   | ✅ (ISR runs) | ❌ | EMI glitch – harmless |   
   | **Spurious MSI-X** | **Memo collision** – trace & drop | ✅ (conflict   
   flag) | ❌ | Buggy firmware – logged |   
   | **Spurious legacy IRQ** | **Masked at boot** – never seen | ❌ | ❌ |   
   Legacy devices absent |   
      
   Formal Unreliability Clause (Murphy’s Law)   
   The kernel never trusts any external signal:   
      
   Every interrupt is edge-triggered + memo-checked for dupes.   
   Every power-state change is idempotent – same command twice = same result.   
      
   [continued in next message]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca