unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Juliana Sims <juli@incana.org>
To: 64820@debbugs.gnu.org
Cc: Juliana Sims <juli@incana.org>
Subject: [bug#64820] [PATCH] gnu: rvvm: Add rvvm.
Date: Mon, 24 Jul 2023 02:47:06 -0400	[thread overview]
Message-ID: <5d52e9ee0beb37dba6726441d5180e371448c1b7.1690181226.git.juli@incana.org> (raw)

Hello,

This patch adds the RISC-V Virtual Machine which seems like a handy little tool
and claims to be faster than qemu. Neat!

Thanks,
Juliana

* gnu/packages/virtualization.scm (rvvm): New symbol.
---
 gnu/packages/virtualization.scm | 53 ++++++++++++++++++++++++++-------
 1 file changed, 43 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 3f6c32f390..705d1ac183 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -1127,6 +1127,39 @@ (define-public ganeti-instance-debootstrap
 Debian or a derivative using @command{debootstrap}.")
     (license license:gpl2+)))
 
+(define-public rvvm
+  (package
+    (name "rvvm")
+    (version "0.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/LekKit/RVVM")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1ldabcrmpa044bahpqa6ymwbhhwy69slh77f0m3421sq6j50l06p"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (replace 'install
+                          (lambda _
+                            (let ((bindir (string-append #$output "/bin/")))
+                              (mkdir-p bindir)
+                              (copy-file "rvvm"
+                                         (string-append bindir "rvvm"))))))
+           #:tests? #f)) ;no tests
+    (home-page "https://github.com/LekKit/RVVM")
+    (synopsis "RISC-V virtual machine")
+    (description
+     "RVVM is a RISC-V CPU and system software implementation written in C.  It
+supports the entire RV64GC ISA, and it passes compliance tests for both RV64 and
+RV32.  OpenSBI, U-Boot, and custom firmwares boot and execute properly.  It is
+capable of running Linux, FreeBSD, OpenBSD, Haiku, and other OSes.  Furthermore,
+it emulates a variety of hardware and peripherals.")
+    (license (list license:gpl3+ license:mpl2.0))))
+
 (define-public spike
   (package
     (name "spike")
@@ -1134,22 +1167,22 @@ (define-public spike
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                     (url "https://github.com/riscv-software-src/riscv-isa-sim")
-                     (commit (string-append "v" version))))
+                    (url "https://github.com/riscv-software-src/riscv-isa-sim")
+                    (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
                (base32 "0cik2m0byfp9ppq0hpg3xyrlp5ag1i4dww7a7872mlm36xxqagg0"))))
     (build-system gnu-build-system)
     (arguments
      (list
-       #:phases
-       #~(modify-phases %standard-phases
-           (add-before 'configure 'configure-dtc-path
-             (lambda* (#:key inputs #:allow-other-keys)
-               ;; Reference dtc by its absolute store path.
-               (substitute* "riscv/dts.cc"
-                 (("DTC")
-                  (string-append "\"" (search-input-file inputs "/bin/dtc") "\""))))))))
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'configure 'configure-dtc-path
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; Reference dtc by its absolute store path.
+              (substitute* "riscv/dts.cc"
+                (("DTC")
+                 (string-append "\"" (search-input-file inputs "/bin/dtc") "\""))))))))
     (inputs
      (list bash-minimal dtc))
     (native-inputs

base-commit: a0c387cb7942742851397687c584b1cacefe5122
-- 
2.41.0





             reply	other threads:[~2023-07-24  6:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-24  6:47 Juliana Sims [this message]
2023-07-24 19:15 ` [bug#64820] [PATCH] gnu: rvvm: Add rvvm Juliana Sims
2023-07-25 18:42   ` [bug#64820] [PATCH v2] gnu: " Juliana Sims
2023-07-26  8:34     ` bug#64820: " Efraim Flashner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5d52e9ee0beb37dba6726441d5180e371448c1b7.1690181226.git.juli@incana.org \
    --to=juli@incana.org \
    --cc=64820@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).