dev: Added new LupIO-TMR device

This device is a virtual timer that provides both a real-time
counter, as well as a configurable timer with periodic and
one-shot modes.  It uses Ticks to measure time, and is
implemented as a BasicPioDevice.

The following are the specifications regarding the LupIO-TMR:
https://gitlab.com/luplab/lupio/lupio-specs/-/blob/main/lupio-tmr.md

Change-Id: I6fd6f4926494a44d20e1e0289f502535e84d7a69
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/53035
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
This commit is contained in:
Laura Hinman
2021-09-14 11:08:00 -07:00
committed by melissa jost
parent 64f7a6c371
commit fadb88c06b
4 changed files with 363 additions and 1 deletions

View File

@@ -29,14 +29,17 @@ Import('*')
SimObject('LupioBLK.py', tags='riscv isa')
SimObject('LupioRNG.py', tags='riscv isa')
SimObject('LupioRTC.py', tags='riscv isa')
SimObject('LupioTMR.py', tags='riscv isa')
SimObject('LupioTTY.py', tags='riscv isa')
DebugFlag('LupioBLK')
DebugFlag('LupioRNG')
DebugFlag('LupioRTC')
DebugFlag('LupioTMR')
DebugFlag('LupioTTY')
Source('lupio_blk.cc', tags='riscv isa')
Source('lupio_rng.cc', tags='riscv isa')
Source('lupio_rtc.cc', tags='riscv isa')
Source('lupio_tty.cc', tags='riscv isa')
Source('lupio_tmr.cc', tags='riscv isa')
Source('lupio_tty.cc', tags='riscv isa')