What need to be restored from D3cold state
8.3.3. D3 State Restoring a function from D3 requires the operating system to reinitialize the function, beginning with, for the case of D3cold , restoring power to the device and initiating a PCI Bus Segment Reset. This is accomplished by either programming the hosting bus’s Originating Device to D0 or by other ACPI-type control methods. Full context must be restored to the function before it is capable of resuming normal operation. For example, reinitialization includes, but is not necessarily limited to, restoring the Base Address registers, re-enabling the I/O and memory spaces, re-enabling bus master capabilities, and unmasking any IRQs or PCI Interrupts as well as restoring the INT Line register. Furthermore, if the function has the DSI bit set, the operating system is required to execute whatever initialization code is necessary, either via the device driver’s initialization code or by executing POST.