Re: Boot code awareness of the Hypervisor extension
The M-mode runtime firmware cannot be totally unaware of new extensions. At least, this is true for H-extension.
Currently M-mode runtime firmware (OpenSBI) does following to support H-extension:
For V-extension, the M-mode runtime firmware will have to emulate misaligned load-store for V-extension related load/store instructions.
From: tech-privileged@... <tech-privileged@...> On Behalf Of Greg Favor
Sent: 23 June 2020 10:54
To: Andrew Waterman <andrew@...>; tech-privileged@...
Cc: Greg Favor <gfavor@...>
Subject: Re: [RISC-V] [tech-privileged] Boot code awareness of the Hypervisor extension
I want to bring back up the Yes/No question I posed a couple of weeks ago - in which I was looking for a clear architectural statement of principle as to whether:
A) A new architecture extension must maintain backward compatibility with unaware M, S, and U mode software while the extension is left enabled. This tends to require additional resetting of key architectural state to achieve this - that (as Andrew agreed) should be specified in the extension's arch spec. (In the case of the Hypervisor extension, for example, three bits of CSR state must be reset to specific values to provide backward compatibility for well-behaved M/S/U code.)
B) It is alright to presume or require use of extension-aware M-mode boot software that will disable the relevant misa bits as necessary (at which point there is no need for architectural specification of reset state to ensure backward compatibility, nor any need to worry about this).
On Mon, Jun 8, 2020 at 6:25 PM Andrew Waterman <andrew@...> wrote: