A resposta do TL: DR para sua pergunta é: Não como parte da implementação do hardware / BIOS S4, embora não haja nada que impeça que o OS / drivers o faça.
De acordo com a especificação da ACPI , o sistema operacional é responsável por inicializar todos os dispositivos do sistema para um estado utilizável após a restauração de uma hibernação S4.
Página de especificações ACPI 7-142 "System \ _S4 State":
- Devices states are compatible with the current Power Resource states. In other words, all devices are in the D3 state when the system state is S4
O estado D3 é definido como:
D3 - Off:
Power has been fully removed from the device. The device context is lost when this state is entered, so the OS software will reinitialize the device when powering it back on. Since device context and power are lost, devices in this state do not decode their addresses lines. Devices in this state have the longest restore times.
All classes of devices define this state.
Para que o driver funcione no Windows (ou em qualquer sistema operacional), será necessário alocar todos os buffers necessários e armazenar alguma quantidade de informações de estado. Isso será armazenado no espaço de memória do sistema operacional e, portanto, será armazenado no arquivo de hibernação.
O sistema operacional sabe quais dispositivos inicializar e provavelmente apenas chama o código de inicialização do driver registrado, que verificará se alguma informação de estado foi salva em seus buffers internos e restaurará a placa para um estado utilizável.
Isso apenas reitera que os próprios cartões não sabem como sair do estado de hibernação e chegar ao estado padrão de "ligar" até que o Windows (através dos drivers) diga o contrário. Não há necessidade de armazenar os registradores de cartão fora dos drivers dependentes do sistema operacional, o que fará com que seu espaço de memória seja salvo pelo processo de hibernação.