Re: First steps
Irma T Flores-Mendoza
Hi Allen, "I am preparing a list of the architectural options I know about.While many are identified by the architecture string (e.g. Zkne), there are many that are not, though some have been
given SBI names (e.g whether WLRL trap on illegal values or not.)"
Please reply back to this email with the list you were preparing (details in your email forwarded below). I will work on incorporating it to the Schema. Many thanks in advance
Regards,
From: tech-config@... <tech-config@...> on behalf of Allen Baum <allen.baum@...>
Sent: Wednesday, May 25, 2022 5:49 AM To: config <tech-config@...> Subject: [EXTERNAL] [RISC-V] [tech-config] First steps
And, of course, I need to add some other thoughts. The configuration structure is intended for on-line use; boot code and debuggers can read it and use it to create data structures that the boot code, OSes and debuggers will use. There is another
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
ZjQcmQRYFpfptBannerEnd
And, of course, I need to add some other thoughts.
The configuration structure is intended for on-line use; boot code and debuggers can read it and use it to create data structures that the boot code, OSes and debuggers will use.
There is another configuration format which is intended for off-line use.
While this was primarily developed for the architectural compatibility tests, it can also be used by toolchains to guide emulation, cross compilation and optimizations.
It is documented in the riscv-config github repo, and it is a YAML formatted schema that goes into great detail regarding not just the extensions supported,
but all architectural options, many of which have no name and no current way of interrogating a system to see which option is implemented
(besides trying something and seeing which result it gives, which could be a trap).
The majority of architectural op[tions can be determined by writing and reading CSRs fields
and seeing which bits can be written, and which bits are readonly and what their values are.
(e.g. reading MISA tells you which major extensions are supported; writing it will tell you which of those can be disabled).
Obviously, this only works for single bit fields; for wider fields it can be much, much more complicated)
The intent from the beginning was that there be a tool that can translate from one structure to the other,
though config-struct doesn't need to support the details that riscv-config is intended to support.
(i.e. offline use cannot read and write CSRs to determine what is supported) It is not necessary that there is a 1:1 correspondence from one to the other; the will be definitions in one that the other doesn’t
care about.
I am preparing a list of the architectural options I know about.
While many are identified by the architecture string (e.g. Zkne), there are many that are not, though some have been given SBI names (e.g whether WLRL trap on illegal values or not.)
On Mon, May 23, 2022 at 10:00 AM Philipp Tomsich <philipp.tomsich@...> wrote:
|
||||
|