Boot code awareness of the Hypervisor extension

Greg Favor

We have run across the situation of running "legacy" (i.e. current) boot code that naturally is unaware of the possible existence of the Hypervisor extension.  Since, on a platform that does implement the Hypervisor extension, misa.H is required to be reset to '1', there are architectural behavior changes that can trip up this boot code.  Both because the hypervisor extension is enabled and because new CSR's (some of which contain bits that, for example, affect the behavior of existing instructions) will remain uninitialized by this unaware boot code.

We suspect that the following is the view by the architecture:

Boot code that may run on platforms that may or may not support certain arch extensions (such as the Hypervisor extension) must be aware of their potential existence and be prepared to deal with misa indicating that they are or are not supported.

Conversely, unaware "legacy" boot code is not expected or required to run as-is on newer platforms that support newer arch extensions.  Such "old" boot code must be ported to run on platforms that implement new architecture extensions like the Hypervisor extension.  



Join to automatically receive all group messages.