commit | ce4e1f04e72770d34554cf1f6e57b822b54fc2a6 | [log] [tgz] |
---|---|---|
author | Chris Frantz <cfrantz@google.com> | Mon Aug 22 21:39:39 2022 -0700 |
committer | cfrantz <frantzcj+github@gmail.com> | Tue Sep 06 14:29:08 2022 -0700 |
tree | 91a40afdb3a122c0fba17b48a1ec9630389328db | |
parent | 96923417d1822da220ac564776e481e2e503ea1f [diff] |
[ottool] Enums that can round-trip unkown values This module adds C-like enums which can preserve un-enumerated values. In rust code, these enums should behave as though in addition to all enumerated values, there is also a NewType variant which is the catch-all for unenumerated values. The enums also have a custom Serialize/Deserialize implementations to facilitate an optimal user experience in text serialization formats. That is to say: for enumerated values, these enums serialize as the named discriminant. For un-enumerated values, these enums serialize as the integer value. See the doc-comments for more info. Signed-off-by: Chris Frantz <cfrantz@google.com>
OpenTitan is an open source silicon Root of Trust (RoT) project. OpenTitan will make the silicon RoT design and implementation more transparent, trustworthy, and secure for enterprises, platform providers, and chip manufacturers. OpenTitan is administered by lowRISC CIC as a collaborative project to produce high quality, open IP for instantiation as a full-featured product. See the OpenTitan site and OpenTitan docs for more information about the project.
This repository contains hardware, software and utilities written as part of the OpenTitan project. It is structured as monolithic repository, or “monorepo”, where all components live in one repository. It exists to enable collaboration across partners participating in the OpenTitan project.
The project contains comprehensive documentation of all IPs and tools. You can access it online at docs.opentitan.org.
Have a look at CONTRIBUTING and our documentation on project organization and processes for guidelines on how to contribute code to this repository.
Unless otherwise noted, everything in this repository is covered by the Apache License, Version 2.0 (see LICENSE for full text).