I'm sure if someone has thought of doing this before, but I haven't found mention of it anywhere.
Has any work been done toward the goal of "Hibernation"? I'm writing of the type that would use a separate partition equal to ram + swap space to store the current memory state. If no one has done any work to this effect, how difficult would it be? I may be willing to help the effort. I've never programmed for a BIOS, but I've done mmap() stuff before.
For suspend to RAM there is legitimate BIOS involvement.
For all else the OS can do it.
As for the OS independence argument. I don't see the point of making the hardware abstraction layer hardware independent.