[resend] The project team for Hot-Plug Support for ACPI-based Systems, PSARC/2009/104, wishes to amend their case with some changes.
The changes are in response to experience gained during development with ACPI and the port to i386 of the sparc DR driver and during code review. This case was approved in February 2009 but has not yet integrated so no consumers exist that would be affected at this time. An explanation for each one of the changes is provided below, followed by diffs between the original and amended proposals. The complete amended proposal is provided in the case directory with the name final.spec. I believe these amendments as proposed can be accepted as approved, given no consumers, without necessarily re-opening the case for full review; but if anyone thinks otherwise, I can promote the case to a full fast-track. -jg -------------------------- From: "Liu, Jiang" <jiang....@intel.com> We are requesting following updates to PSARC/2009/104. 1) Add device nodes /devices/fw/sb at x/mem at y to support memory devices on future non-hotplug-capable systems. With recent technical trend, future non-hotplug-capable systems may also expose ACPI memory devices to support memory power management. On such platforms, device nodes /devices/fw/sb at x/mem at y will be created for ACPI memory devices. 2) Add device nodes /devices/fw/sb at x/cpu at y for Processor devices under /_SB. ACPI Spec 1.0 defines that Processor device can exist under /_PR, this has been covered by PSARC/2009/104. Later ACPI Specs define that Processor devices could also exist under /_SB, we missed this case in PSARC/2009/104. 3) Add /devices/fw/acpidr and change attachment point configuration to match requirements of DR driver. At beginning, we planned to port sbd driver from SPARC and defined APs according to sbd driver's requirements. With more investigation, we have switched to more advanced dr driver from SPARC. With new design, dr driver will bind to /devices/fw/acpidr on hotplug-capable system and create APs as follows if applicable: AP Device Minor Node Configuration Node Description SBx /devices/fw/acpidr:SBx /dev/cfg/SBx system board CPUx /devices/fw/acpidr:CPUx /dev/cfg/CPUx CPU board MEMx /devices/fw/acpidr:MEMx /dev/cfg/MEMx memory board IOx /devices/fw/acpidr:IOx /dev/cfg/IOx IO board 4) Delete device nodes for IOH, such as /devices/fw/sb at x/ioh at y and /devices/fw/sb at x/socket at y/ioh at z. In previous proposal, device nodes will created for each IOH(IO Hub Chipset) to host Intel IOMMU and IOAPIC devices. With more discussions with IO and IOMMU experts, the trend is to integrate support of IOMMU/IOAPIC device into PCI host bridge driver, and DR manager will deal with PCI host bridge devices directly. With that change, device nodes for IOH become useless. Liu Jiang (Gerry) Diffs between original and amended spec: ---------------------------------------- @@ -11,7 +11,7 @@ Gerry Liu <jiang.liu at intel.com> 1.3. Date of This Document: - January 29th, 2009 + July 17th, 2009 2. Project Summary 2.1. Project Description: @@ -72,7 +72,9 @@ 4.1.2.1 Device tree structure when ACPI is disabled or not available /devices/fw Pseudo nexus node to host system devices - /devices/fw/cpu at x Logical CPU + /devices/fw/cpu at x Logical CPU under ACPI /_PR subtree + /devices/fw/sb at x/cpu at y Logical CPU under ACPI /_SB subtree + /devices/fw/sb at x/mem at z ACPI memory device /devices/pci at x,0 PCI host bridge @@ -79,14 +81,12 @@ 4.1.2.2 Device tree structure for system with CPU/memory/IOH hotplug feature /devices/fw Pseudo nexus node to host system devices + /devices/fw/acpidr Pseudo node for hotplug driver /devices/fw/sb at x Pseudo nexus node for system board /devices/fw/sb at x/socket at y Pseudo nexus node to host devices in physical CPU /devices/fw/sb at x/socket at y/cpu at z Logical CPU /devices/fw/sb at x/socket at y/mem at z ACPI memory device - /devices/fw/sb at x/socket at y/ioh at z IOH embedded in physical CPU - /devices/fw/sb at x/ioh at y Pseudo nexus node to host device in IOH - except PCI host bridge /devices/fw/sb at x/hpet at y High precesion event timer /devices/fw/sb at x/slpbtn at y ACPI sleep button /devices/fw/sb at x/pwrbtn at y ACPI power button @@ -97,16 +97,14 @@ This can vary from platform to platform and the information is available from the ACPI table. Examples of possible Attachment Points are: - i) System board is hot pluggable. Socket on the board is hotpluggable. - AP Device Minor Node Configuration Node - sbx /devices/fw:sbx /dev/cfg/sbx - sbx::sockety - /dev/cfg/sbx/sockety - ii) Socket is hot pluggable. Non-embedded IOH is hotpluggable. System - board is not hot pluggable. - AP Device Minor Node Configuration Node - sockety /devices/fw/sbx:socket /dev/cfg/sbx/sockety - iohy /devices/fw/sbx:iohy /dev/cfg/iohy + Device Minor Node Configuration Node Description + SBx /devices/fw/acpidr:SBx /dev/cfg/SBx system board + CPUx /devices/fw/acpidr:CPUx /dev/cfg/CPUx CPU board + MEMx /devices/fw/acpidr:MEMx /dev/cfg/MEMx memory board + IOx /devices/fw/acpidr:IOx /dev/cfg/IOx IO board + + 4.1.2.4 Device node properties Properties for all device nodes created by acpi device enumerator: compatible @@ -163,28 +161,25 @@ ----------------------------------------------------------------------------- /devices/fw Cons Priv Pseudo nexus node to host system devices +/devices/fw/acpidr Cons Priv Pseudo node for hotplug driver + /devices/fw/sb at x Cons Priv Pseudo nexus node for system board /devices/fw/sb at x/ Cons Priv Pseudo nexus node to host devices in socket at y physical CPU -/devices/fw/sb at x/ Cons Priv Logical CPU -socket at y/cpu at z +/devices/fw/cpu at x Cons Priv Logical CPU +/devices/fw/sb at x/ Cons Priv Logical CPU +[socket at y/]cpu at z + /devices/fw/sb at x/ Cons Priv ACPI memory device -socket at y/mem at z +[socket at y/]mem at z -/devices/fw/sb at x/ Cons Priv IOH embedded in physical CPU -socket at y/ioh at z -/devices/fw/sb at x/ioh at y Cons Priv Pseudo nexus node to host device in IOH - except PCI host bridge - 4.6. Doc Impact: - cfgadm_fw(1M) man page will be added. This will be similiar to - cfgadm_sbd(1M) with x86 specific platform information - - cfgadm(1M) will need to be modified to point to cfgadm_fw(1M) + cfgadm_sbd(1M) will be enhanced to include x86 platform specific + information. 4.11. Security Impact: None