A method for restarting a computing platform comprising: obtaining, by the computing platform, from an input/output "IO" device (645, 650) coupled with the computing platform, at least one register setting stored on the IO device that describes a hardware state of the IO device; saving, by the computing platform, the obtained at least one register setting of the IO device in storage of the computing platform, the storage being separate from the IO device; initializing the computing platform; trapping a software initiated reset request "SIRR" of the computing platform; converting the SIRR into a central processing unit "CPU" only initialization reset request when the SIRR is trapped; and initializing the CPU responsive to the conversion; restoring, by the computing platform, the IO device to a previous hardware state responsive to the trapping, the restoring including restoring at least one register of the IO device with the saved register setting previously obtained from the IO device; launching an operating system "OS" to restart the computing platform responsive to the restoration; wherein initializing the computing platform comprises one of: saving a copy of a previous OS loader image, wherein a basic IO system "BIOS" of the computing platform supports extensible firmware interface "EFI" and determining that an OS loader of the computing platform is attempting to transition into runtime, and maintaining boot services memory to facilitate ability of the computing platform to retain its firmware infrastructure during the restart of the computing platform, wherein a basic IO system "BIOS" of the computing platform supports extensible firmware interface "EFI"; or copying data associated with a legacy based basic IO system "BIOS" memory region of the computing platform into a buffer, wherein the buffer is indicated as unavailable to the OS or to an OS loader in a memory map. obtaining, by the computing platform, from an input/output "IO" device (645, 650) coupled with the computing platform, at least one register setting stored on the IO device that describes a hardware state of the IO device; saving, by the computing platform, the obtained at least one register setting of the IO device in storage of the computing platform, the storage being separate from the IO device; initializing the computing platform; trapping a software initiated reset request "SIRR" of the computing platform; converting the SIRR into a central processing unit "CPU" only initialization reset request when the SIRR is trapped; and initializing the CPU responsive to the conversion; restoring, by the computing platform, the IO device to a previous hardware state responsive to the trapping, the restoring including restoring at least one register of the IO device with the saved register setting previously obtained from the IO device; launching an operating system "OS" to restart the computing platform responsive to the restoration; wherein initializing the computing platform comprises one of: saving a copy of a previous OS loader image, wherein a basic IO system "BIOS" of the computing platform supports extensible firmware interface "EFI" and determining that an OS loader of the computing platform is attempting to transition into runtime, and maintaining boot services memory to facilitate ability of the computing platform to retain its firmware infrastructure during the restart of the computing platform, wherein a basic IO system "BIOS" of the computing platform supports extensible firmware interface "EFI"; or copying data associated with a legacy based basic IO system "BIOS" memory region of the computing platform into a buffer, wherein the buffer is indicated as unavailable to the OS or to an OS loader in a memory map. saving a copy of a previous OS loader image, wherein a basic IO system "BIOS" of the computing platform supports extensible firmware interface "EFI" and determining that an OS loader of the computing platform is attempting to transition into runtime, and maintaining boot services memory to facilitate ability of the computing platform to retain its firmware infrastructure during the restart of the computing platform, wherein a basic IO system "BIOS" of the computing platform supports extensible firmware interface "EFI"; or copying data associated with a legacy based basic IO system "BIOS" memory region of the computing platform into a buffer, wherein the buffer is indicated as unavailable to the OS or to an OS loader in a memory map.