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