Patch mcsr test to allow any value of mhartid

- Kelvin can have a different `mhartid` value that 0 (e.g. in Matcha) --
  just make sure the CSR read doesn't assert.

Change-Id: I42cbead6e839d283ae1391e5d4c3b7691b2b510f
diff --git a/build_tools/bazel/repos.bzl b/build_tools/bazel/repos.bzl
index 8792bfa..adad000 100644
--- a/build_tools/bazel/repos.bzl
+++ b/build_tools/bazel/repos.bzl
@@ -44,6 +44,12 @@
         sha256 = "1c7eb58edd7399b3ad2f9624a2003862cd87a6904237a737f39cd3978bab46a8",
         urls = ["https://github.com/riscv-software-src/riscv-tests/archive/d4eaa5bd6674b51d3b9b24913713c4638e99cdd9.tar.gz"],
         strip_prefix = "riscv-tests-d4eaa5bd6674b51d3b9b24913713c4638e99cdd9",
+        patch_args = [
+            "-p1",
+        ],
+        patches = [
+            "//tests/riscv-tests:0001-mcsr.patch",
+        ],
     )
 
 def tflm_repos():
diff --git a/tests/riscv-tests/0001-mcsr.patch b/tests/riscv-tests/0001-mcsr.patch
new file mode 100644
index 0000000..0780462
--- /dev/null
+++ b/tests/riscv-tests/0001-mcsr.patch
@@ -0,0 +1,17 @@
+diff --git a/isa/rv64mi/mcsr.S b/isa/rv64mi/mcsr.S
+index 03cf29a..729889f 100644
+--- a/isa/rv64mi/mcsr.S
++++ b/isa/rv64mi/mcsr.S
+@@ -21,7 +21,11 @@ RVTEST_CODE_BEGIN
+ #endif
+ 
+   # Check that mhartid reports 0
+-  TEST_CASE(3, a0, 0x0, csrr a0, mhartid)
++  # TEST_CASE(3, a0, 0x0, csrr a0, mhartid)
++  # For Kelvin, just check that the CSR doosen't cause an exception.
++  # Depending on how the core is instantiated, this may have
++  # differing values.
++  csrr a0, mhartid
+ 
+   # Check that reading the following CSRs doesn't cause an exception
+   csrr a0, mimpid