On 28/07/08 08:14 -0700, ron minnich wrote:
Actually v3 has one user. Our Sandia Labs compute miniclusters use the digital logic boards and run v3. I just remembered this the other day. I forgot it because v3 has been so usable on those boards we no longer think about it.
If you think about it, SMI, VSA, ACPI, EFI, and even the old BIOS -- all are there to virtualize resources that in some cases don't even exist, but in other cases are non-standard.I am wondering about stepping back from the problem and going at it with this approach -- that a runtime BIOS is really there to virtualize resourcs. Viewed this way, the answer is somewhat easier. The runtime BIOS can be a hypervisor. The models supported by these many varying systems are viewed as subset functions of a hypervisor.
If this seems crazy, it is actually the approach used in the PS/3. is that good or bad?
Where do we get a hypervisor? From the Xen guys, for one choice.
Just a thought. Rather than merely redo old ideas like SMI and old-style BIOS, we could step out ahead and do something very powerful.
If you really think about it, though, legacy BIOS services isn't so much like a hypervisor, rather a hypervisor is more like a legacy BIOS - it obfusticates the underlying hardware by acting as a go-between for the hardware and the operating systems. What we have today is really DOS on steroids.
I like where you are going, though - thinking of the firmware as a living, breathing entity throughout the life of the system is radically different then where we are now, and its good to consider the consequences. Unfortunately, we don't get much latitude in designing the interfaces that we are given (we still need to play in SMM's sandbox), but we can design the backend to provide the services we need while still going light on resources. I think the first step is to figure out what such a "hypervisor" would look like, and where it would live. Then, we start plugging in common services and see how well it reacts.
Jordan