An updated spec for this case, included below, is now ready for review as a fast-track. The spec includes marks where changed. I've reset the timer for a week, to 12/09/2009.
------------------- Introduction =========== Future Intel high-end server platforms support IOH/CPU/memory hot plug. To enable ACPI based IOH/CPU/memory hot plug, an ACPI hot plug daemon (acpihpd) is needed to handle events generated by the ACPI subsystem and maintain state changes. Release Binding =============== minor Dependency =========== The acpihpd daemon has dependency on syseventd daemon to relay hot plug events. It also has dependency on cfgadm framework and sbd plugin to handle hot plug events. Acpihpd receives hot plug events from syseventd and invokes cfgadm library to handle these events. Technical Detail ================ The acpihpd daemon registers for DR request events and handles them when they arrive. The acpihpd daemon would subscribe to EC_DR/ESC_DR_REQ sysevents (defined in PSARC/2000/189). When IOH/CPU/memory hot plug events arrive, the acpihpd parses the DR request and calls into the cfgadm library to add/remove devices from the system. DR requests are handled by cfgadm framework. The events that the acpihpd is interested in are published by ACPI virtual nexus driver (acpinex). ACPI BIOS generates ACPI system notifications when user initiates a device insertion/removal. These notifications will be forwarded to acpinex driver by the acpica driver. When acpinex driver gets notifications, it translates the device into Attachment Point and generates EC_DR/ESC_DR_REQ events. When EC_DR/ESC_DR_REQ events are relayed to acpihpd daemon, it invokes cfgadm library to handle the events. It also takes the responsibility to udpate other components as part of the DR operation, for example, notify power management by executing pmconfig command. The acpihpd is started and stopped using the standard Solaris service management facility. The acpihpd is an smf service, and will only be enabled on the platforms which supports IOH/CPU/memory hot plug via an i86pc specific | profile. Unfortunately, the service has to run as root as it relies on the | sysevent library which will reject any request from a non-root user. The | privileges will be restricted to 'basic,!proc_info,sys_config,sys_mount, | sys_devices'. | Interface table and Stability ============================= Interface Classification Comments ---------------------------------------------------------------------------- /usr/platform/i86pc/lib/acpihpd Project Private ACPI HP daemon /usr/platform/i86pc/lib/amd64/acpihpd Project Private ACPI HP daemon /lib/svc/method/acpihp Project Private acpihp service /var/svc/manifest/platform/i86pc/ Project Private acpihp manifest acpihpd.xml System Administration Commands acpihpd(1M) NAME acpihpd - ACPI hot plug daemon SYNOPSIS /usr/platform/i86pc/lib/acpihpd DESCRIPTION The ACPI hot plug daemon is a daemon process that runs on x86 platforms. The daemon is started by the service management facility. It communicates with the syseventd and cfgadm sub-systems to handle ACPI events from hotpluggable devices. The service FMRI for acpihpd is: svc:/platform/i86pc/acpihpd:default OPTIONS The acpihpd does not support any options. ERRORS acpihpd uses syslog(3C) to report status and error messages. All of the messages are logged with the LOG_DAEMON facility. Error messages are logged with the LOG_ERR and LOG_NOTICE priorities, and informational messages are logged with the LOG_DEBUG priority. The default entries in the /etc/syslog.conf file log all of the DCS error messages to the /var/adm/messages log. ATTRIBUTES See attributes(5) for descriptions of the following attri- butes: ____________________________________________________________ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | |_____________________________|_____________________________| | Availability | SUNWacpihpd | |_____________________________|_____________________________| SEE ALSO svcs(1), inetadm(1M), svcadm(1M), syslog(3C), syslog.conf(4), attributes(5) NOTES The acpihpd service is managed by the service management facil- ity, smf(5), under the service identifier: svc:/platform/i86pc/acpihpd:default |