Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F151436467
D55356.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D55356.id.diff
View Options
diff --git a/emulators/Makefile b/emulators/Makefile
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -129,6 +129,7 @@
SUBDIR += rpcs3
SUBDIR += rubygem-fission
SUBDIR += rvvm
+ SUBDIR += rvvm-devel
SUBDIR += sameboy
SUBDIR += simh
SUBDIR += simh-hp2100
diff --git a/emulators/rvvm-devel/Makefile b/emulators/rvvm-devel/Makefile
new file mode 100644
--- /dev/null
+++ b/emulators/rvvm-devel/Makefile
@@ -0,0 +1,76 @@
+PORTNAME= RVVM
+DISTVERSION= g20260217
+CATEGORIES= emulators
+MASTER_SITES= https://github.com/LekKit/patches-misc/releases/download/rvvm-uboot-2024.7/:fw
+PKGNAMESUFFIX= -devel
+DISTFILES= ${FWFILES:.bin=.bin:fw}
+EXTRACT_ONLY= ${DISTFILE_DEFAULT}
+
+MAINTAINER= fuz@FreeBSD.org
+COMMENT= RISC-V Virtual Machine
+
+LICENSE= GPLv2 GPLv3 MPL20
+LICENSE_COMB= multi
+LICENSE_FILE_GPLv3= ${WRKSRC}/LICENSE-GPL
+LICENSE_FILE_MPL20= ${WRKSRC}/LICENSE-MPL
+LICENSE_DISTFILES_GPLv2= ${FWFILES}
+LICENSE_DISTFILES_GPLv3= ${DISTFILE_DEFAULT}
+LICENSE_DISTFILES_MPL20= ${DISTFILE_DEFAULT}
+
+FLAVORS= x11 nox11
+FLAVOR?= ${FLAVORS:[1]}
+nox11_PKGNAMESUFFIX= -devel-nox11
+
+USES= gmake pkgconfig
+USE_GITHUB= yes
+GH_ACCOUNT= LekKit
+GH_TAGNAME= 31bf78ceb001632d01c0d4f23df3e7b981884183
+USE_LDCONFIG= yes
+
+BUILDDIR= ${WRKDIR}/.build
+MAKE_ENV+= BUILDDIR=${BUILDDIR} \
+ USE_LIB=1 \
+ USE_LIB_STATIC=1 \
+ USE_LIB_SHARING=1
+TEST_TARGET= test
+TEST_DEPENDS= curl:ftp/curl
+SUB_FILES= pkg-message
+
+OPTIONS_DEFINE= FDT FPU JIT JNI SPINLOCK_DEBUG NET PCI RV64
+OPTIONS_DEFAULT=FDT FPU JIT JNI SPINLOCK_DEBUG NET PCI RV64
+FDT_DESC= enable automatic FDT generation
+FPU_DESC= enable floating point (F/D) CPU extension
+JIT_DESC= enable RVJIT accelerator
+JNI_DESC= include native JNI bindings in shared librvvm
+NET_DESC= enable unprivileged userland networking stack
+PCI_DESC= enable PCI support in ATA, etc devices
+RV64_DESC= enable riscv64 CPU support
+SPINLOCK_DEBUG_DESC= enable deadlock debugging (minimal runtime overhead)
+
+FWFILES= fw_jump.bin fw_payload.bin
+
+.for o in ${OPTIONS_DEFINE}
+$o_MAKE_ENV= USE_$o=1
+$o_MAKE_ENV_OFF= USE_$o=0
+.endfor
+
+.if ${FLAVOR} == x11
+USES+= xorg
+USE_XORG+= x11 xext
+.else
+MAKE_ENV+= USE_GUI=0 USE_X11=0 USE_WAYLAND=0 USE_SDL=0
+.endif
+
+.if defined(WITH_DEBUG)
+MAKE_ENV+= USE_DEBUG=1
+.endif
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/rvvm
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/librvvm.so
+ ${MKDIR} ${STAGEDIR}${DATADIR}
+.for f in ${FWFILES}
+ ${INSTALL_DATA} ${_DISTDIR}/$f ${STAGEDIR}${DATADIR}/
+.endfor
+
+.include <bsd.port.mk>
diff --git a/emulators/rvvm-devel/distinfo b/emulators/rvvm-devel/distinfo
new file mode 100644
--- /dev/null
+++ b/emulators/rvvm-devel/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1771430387
+SHA256 (fw_jump.bin) = 60f5aedaf90be271eef9e4f1a479171c183987f97f86208811e9212b121d5b45
+SIZE (fw_jump.bin) = 136776
+SHA256 (fw_payload.bin) = d97321ca71be85a98dcc1757b721616d6ed68304afe853336273cb19b424da6c
+SIZE (fw_payload.bin) = 2958016
+SHA256 (LekKit-RVVM-g20260217-31bf78ceb001632d01c0d4f23df3e7b981884183_GH0.tar.gz) = 02156a8b7178064683e4d134f549103cceaf910759e0c56eae621c5e26e5a23f
+SIZE (LekKit-RVVM-g20260217-31bf78ceb001632d01c0d4f23df3e7b981884183_GH0.tar.gz) = 524455
diff --git a/emulators/rvvm-devel/files/pkg-message.in b/emulators/rvvm-devel/files/pkg-message.in
new file mode 100644
--- /dev/null
+++ b/emulators/rvvm-devel/files/pkg-message.in
@@ -0,0 +1,11 @@
+RVVM has been installed.
+
+To execute a disk image, run
+
+ rvvm %%DATADIR%%/fw_payload.bin [flags] -i $disk.img
+
+To execute a custom kernel payload, run
+
+ rvvm %%DATADIR%%/fw_jump.bin [flags] -k $kernel.bin
+
+For further details, execute rvvm --help.
diff --git a/emulators/rvvm-devel/pkg-descr b/emulators/rvvm-devel/pkg-descr
new file mode 100644
--- /dev/null
+++ b/emulators/rvvm-devel/pkg-descr
@@ -0,0 +1,5 @@
+RVVM is a virtual machine / emulator for RISC-V guests, which emphasizes
+on performance, security, lean code and portability. It already runs a
+lot of guest operating systems, including Linux, Haiku, FreeBSD,
+OpenBSD, etc. It also aims to run RISC-V applications on a foreign-arch
+host without full OS guest & isolation (Userland emulation).
diff --git a/emulators/rvvm-devel/pkg-plist b/emulators/rvvm-devel/pkg-plist
new file mode 100644
--- /dev/null
+++ b/emulators/rvvm-devel/pkg-plist
@@ -0,0 +1,12 @@
+bin/rvvm
+include/rvvm/rvvm.h
+include/rvvm/rvvm_blk.h
+include/rvvm/rvvm_char.h
+include/rvvm/rvvm_fb.h
+include/rvvm/rvvm_gpio.h
+lib/librvvm.so
+lib/librvvm_static.a
+libdata/pkgconfig/rvvm-static.pc
+libdata/pkgconfig/rvvm.pc
+%%DATADIR%%/fw_jump.bin
+%%DATADIR%%/fw_payload.bin
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Apr 9, 9:50 AM (6 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31150361
Default Alt Text
D55356.id.diff (4 KB)
Attached To
Mode
D55356: emulators/rvvm-devel: new port
Attached
Detach File
Event Timeline
Log In to Comment