1. A method comprising: communicating with a kernel, running on a primary processor, by a second processor in response to detection of a state change; performing a hardware operation, in response to the state change, using the kernel without waking user space on the primary processor, the user space being suspended; and resuming a sleep mode of the primary processor by suspending the kernel.