From fd544534168626eb0d3f28063686f5da07e34c67 Mon Sep 17 00:00:00 2001 From: Sean Cross Date: Wed, 8 Jan 2020 17:22:16 +0800 Subject: [PATCH] register: add vexriscv-specific registers Vexriscv in its normal configuration has its own registers for things such as machine interrupts and system interrupts. Add wrappers for these registers. Signed-off-by: Sean Cross --- src/register/mod.rs | 7 +++++++ src/register/vdci.rs | 4 ++++ src/register/vmim.rs | 4 ++++ src/register/vmip.rs | 4 ++++ src/register/vsim.rs | 4 ++++ src/register/vsip.rs | 4 ++++ 6 files changed, 27 insertions(+) create mode 100644 src/register/vdci.rs create mode 100644 src/register/vmim.rs create mode 100644 src/register/vmip.rs create mode 100644 src/register/vsim.rs create mode 100644 src/register/vsip.rs diff --git a/src/register/mod.rs b/src/register/mod.rs index df471c9..b478817 100644 --- a/src/register/mod.rs +++ b/src/register/mod.rs @@ -107,3 +107,10 @@ pub use self::mhpmeventx::*; // TODO: Debug Mode Registers + +// Vexriscv Registers +pub mod vdci; +pub mod vmim; +pub mod vmip; +pub mod vsim; +pub mod vsip; diff --git a/src/register/vdci.rs b/src/register/vdci.rs new file mode 100644 index 0000000..60141bc --- /dev/null +++ b/src/register/vdci.rs @@ -0,0 +1,4 @@ +//! uscratch register + +read_csr_as_usize!(0xCC0, __read_vdci); +write_csr_as_usize!(0xCC0, __write_vdci); diff --git a/src/register/vmim.rs b/src/register/vmim.rs new file mode 100644 index 0000000..eb231c0 --- /dev/null +++ b/src/register/vmim.rs @@ -0,0 +1,4 @@ +//! uscratch register + +read_csr_as_usize!(0xBC0, __read_vmim); +write_csr_as_usize!(0xBC0, __write_vmim); diff --git a/src/register/vmip.rs b/src/register/vmip.rs new file mode 100644 index 0000000..d975f54 --- /dev/null +++ b/src/register/vmip.rs @@ -0,0 +1,4 @@ +//! uscratch register + +read_csr_as_usize!(0xFC0, __read_vmip); +write_csr_as_usize!(0xFC0, __write_vmip); diff --git a/src/register/vsim.rs b/src/register/vsim.rs new file mode 100644 index 0000000..47eb5d6 --- /dev/null +++ b/src/register/vsim.rs @@ -0,0 +1,4 @@ +//! uscratch register + +read_csr_as_usize!(0x9C0, __read_vsim); +write_csr_as_usize!(0x9C0, __write_vsim); diff --git a/src/register/vsip.rs b/src/register/vsip.rs new file mode 100644 index 0000000..0a97c8d --- /dev/null +++ b/src/register/vsip.rs @@ -0,0 +1,4 @@ +//! uscratch register + +read_csr_as_usize!(0xDC0, __read_vsip); +write_csr_as_usize!(0xDC0, __write_vsip);