> Add an enum as sum type for `Mmio` and `SysMem`. This serves similar > purpose of `iosys_map`. Thanks to Rust's type system, all of projection and > struct read/write can be handled by the generic I/O projection mechanism > (i.e. `io_project!`, `io_read!, `io_write!`) for free, and there is no need > to provide things like `iosys_map_rd_field` or `iosys_map_wr_field`. An > enum type also makes it very easy to construct or destruct. > > This could be made more generic by implementing on a general purpose sum > type like `Either`; however this is kept specific unless a need arises that > warrants this to be generic over other I/O backends. > > Signed-off-by: Gary Guo <[email protected]>
Sashiko has reviewed this patch and found no issues. It looks great! -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=20
