From 5a35d3b00acfacf6b6dd85ce88938ed5e48cb806 Mon Sep 17 00:00:00 2001 From: "Vanilla I. Shu" Date: Sun, 9 Feb 2014 16:59:16 +0000 Subject: [PATCH] Add rump, it's netbsd kernel in userspace. --- misc/Makefile | 1 + misc/rump/Makefile | 30 +++ misc/rump/distinfo | 2 + misc/rump/files/patch-buildrump.sh | 10 + misc/rump/pkg-descr | 10 + misc/rump/pkg-plist | 396 +++++++++++++++++++++++++++++ 6 files changed, 449 insertions(+) create mode 100644 misc/rump/Makefile create mode 100644 misc/rump/distinfo create mode 100644 misc/rump/files/patch-buildrump.sh create mode 100644 misc/rump/pkg-descr create mode 100644 misc/rump/pkg-plist diff --git a/misc/Makefile b/misc/Makefile index bc2b8cf2ff13..e17776324d7e 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -406,6 +406,7 @@ SUBDIR += rubygem-mime-types SUBDIR += rubygem-rabbit SUBDIR += rubygem-vpim + SUBDIR += rump SUBDIR += saaghar SUBDIR += salias SUBDIR += seq2 diff --git a/misc/rump/Makefile b/misc/rump/Makefile new file mode 100644 index 000000000000..2a767b172eea --- /dev/null +++ b/misc/rump/Makefile @@ -0,0 +1,30 @@ +# Created by: vanilla +# $FreeBSD$ + +PORTNAME= rump +PORTVERSION= 20131213 +CATEGORIES= misc +MASTER_SITES= ftp://ftp.netbsd.org/pub/NetBSD/misc/stacktic/ +DISTNAME= buildrump-${PORTVERSION} + +MAINTAINER= vanilla@FreeBSD.org +COMMENT= Virtualized NetBSD kernel components in userspace + +LICENSE= BSD2CLAUSE + +USE_LDCONFIG= yes +USE_GCC= any + +.include + +.if ${OSVERSION} < 1000510 +IGNORE= require 10.0-Release or later +.endif + +do-build: + cd ${WRKSRC}; ${SETENV} CC=${CC} AR=${AR} NM=${NM} OBJCOPY=${OBJCOPY} ./buildrump.sh -r fullbuild + +do-install: + cd ${WRKSRC}/rump; ${PAX} -wr lib include ${STAGEDIR}${PREFIX}/ + +.include diff --git a/misc/rump/distinfo b/misc/rump/distinfo new file mode 100644 index 000000000000..e00440741eef --- /dev/null +++ b/misc/rump/distinfo @@ -0,0 +1,2 @@ +SHA256 (buildrump-20131213.tar.gz) = 340a09329c9f625534eb9cd6f525e3e2d1702c98f2b975a6fa4f4ad9e499a6f3 +SIZE (buildrump-20131213.tar.gz) = 36351647 diff --git a/misc/rump/files/patch-buildrump.sh b/misc/rump/files/patch-buildrump.sh new file mode 100644 index 000000000000..7fdcbc32dadb --- /dev/null +++ b/misc/rump/files/patch-buildrump.sh @@ -0,0 +1,10 @@ +--- buildrump.sh.orig 2013-12-14 17:51:57.000000000 +0800 ++++ buildrump.sh 2014-02-08 23:21:05.880728426 +0800 +@@ -893,6 +893,7 @@ evaltarget () + ;; + "freebsd") + RUMPKERN_UNDEF='-U__FreeBSD__' ++ ${KERNONLY} || EXTRA_RUMPCLIENT='-lpthread' + ;; + "linux") + RUMPKERN_UNDEF='-Ulinux -U__linux -U__linux__ -U__gnu_linux__' diff --git a/misc/rump/pkg-descr b/misc/rump/pkg-descr new file mode 100644 index 000000000000..1d5740c8bf36 --- /dev/null +++ b/misc/rump/pkg-descr @@ -0,0 +1,10 @@ +Rump (Runnable Userspace Meta Program) is a mechanism for running kernel code +as part of a user program's address space. As opposed to executing system calls +for requesting kernel services, rump programs do a library call into the kernel +code for equivalent functionality. Kernel code is simply recompiled as a +userspace shared library from the kernel sources instead of being rewritten, +so services imitate the same services being provided by the kernel. Select +architectures such as i386 and amd64 also support directly linking binary +kernel modules against rump programs. + +WWW: http://www.rumpkernel.org diff --git a/misc/rump/pkg-plist b/misc/rump/pkg-plist new file mode 100644 index 000000000000..315e2338d3d8 --- /dev/null +++ b/misc/rump/pkg-plist @@ -0,0 +1,396 @@ +include/rump/netconfig.h +include/rump/rump.h +include/rump/rump_namei.h +include/rump/rump_syscalls.h +include/rump/rump_syscalls_compat.h +include/rump/rumpclient.h +include/rump/rumpdefs.h +include/rump/rumpkern_if_pub.h +include/rump/rumpnet_if_pub.h +include/rump/rumpuser.h +include/rump/rumpuser_component.h +include/rump/rumpuser_port.h +include/rump/rumpvfs_if_pub.h +include/rump/rumpvnode_if.h +include/rump/scsitest.h +lib/librump.a +lib/librump.so +lib/librump.so.0 +lib/librump.so.0.0 +lib/librump_pic.a +lib/librumpclient.a +lib/librumpclient.so +lib/librumpclient.so.0 +lib/librumpclient.so.0.0 +lib/librumpclient_pic.a +lib/librumpdev.a +lib/librumpdev.so +lib/librumpdev.so.0 +lib/librumpdev.so.0.0 +lib/librumpdev_audio.a +lib/librumpdev_audio.so +lib/librumpdev_audio.so.0 +lib/librumpdev_audio.so.0.0 +lib/librumpdev_audio_pic.a +lib/librumpdev_bpf.a +lib/librumpdev_bpf.so +lib/librumpdev_bpf.so.0 +lib/librumpdev_bpf.so.0.0 +lib/librumpdev_bpf_pic.a +lib/librumpdev_cgd.a +lib/librumpdev_cgd.so +lib/librumpdev_cgd.so.0 +lib/librumpdev_cgd.so.0.0 +lib/librumpdev_cgd_pic.a +lib/librumpdev_disk.a +lib/librumpdev_disk.so +lib/librumpdev_disk.so.0 +lib/librumpdev_disk.so.0.0 +lib/librumpdev_disk_pic.a +lib/librumpdev_dm.a +lib/librumpdev_dm.so +lib/librumpdev_dm.so.0 +lib/librumpdev_dm.so.0.0 +lib/librumpdev_dm_pic.a +lib/librumpdev_drvctl.a +lib/librumpdev_drvctl.so +lib/librumpdev_drvctl.so.0 +lib/librumpdev_drvctl.so.0.0 +lib/librumpdev_drvctl_pic.a +lib/librumpdev_fss.a +lib/librumpdev_fss.so +lib/librumpdev_fss.so.0 +lib/librumpdev_fss.so.0.0 +lib/librumpdev_fss_pic.a +lib/librumpdev_md.a +lib/librumpdev_md.so +lib/librumpdev_md.so.0 +lib/librumpdev_md.so.0.0 +lib/librumpdev_md_pic.a +lib/librumpdev_netsmb.a +lib/librumpdev_netsmb.so +lib/librumpdev_netsmb.so.0 +lib/librumpdev_netsmb.so.0.0 +lib/librumpdev_netsmb_pic.a +lib/librumpdev_pad.a +lib/librumpdev_pad.so +lib/librumpdev_pad.so.0 +lib/librumpdev_pad.so.0.0 +lib/librumpdev_pad_pic.a +lib/librumpdev_pic.a +lib/librumpdev_pud.a +lib/librumpdev_pud.so +lib/librumpdev_pud.so.0 +lib/librumpdev_pud.so.0.0 +lib/librumpdev_pud_pic.a +lib/librumpdev_putter.a +lib/librumpdev_putter.so +lib/librumpdev_putter.so.0 +lib/librumpdev_putter.so.0.0 +lib/librumpdev_putter_pic.a +lib/librumpdev_raidframe.a +lib/librumpdev_raidframe.so +lib/librumpdev_raidframe.so.0 +lib/librumpdev_raidframe.so.0.0 +lib/librumpdev_raidframe_pic.a +lib/librumpdev_rnd.a +lib/librumpdev_rnd.so +lib/librumpdev_rnd.so.0 +lib/librumpdev_rnd.so.0.0 +lib/librumpdev_rnd_pic.a +lib/librumpdev_scsipi.a +lib/librumpdev_scsipi.so +lib/librumpdev_scsipi.so.0 +lib/librumpdev_scsipi.so.0.0 +lib/librumpdev_scsipi_pic.a +lib/librumpdev_scsitest.a +lib/librumpdev_scsitest.so +lib/librumpdev_scsitest.so.0 +lib/librumpdev_scsitest.so.0.0 +lib/librumpdev_scsitest_pic.a +lib/librumpdev_sysmon.a +lib/librumpdev_sysmon.so +lib/librumpdev_sysmon.so.0 +lib/librumpdev_sysmon.so.0.0 +lib/librumpdev_sysmon_pic.a +lib/librumpdev_ubt.a +lib/librumpdev_ubt.so +lib/librumpdev_ubt.so.0 +lib/librumpdev_ubt.so.0.0 +lib/librumpdev_ubt_pic.a +lib/librumpdev_ucom.a +lib/librumpdev_ucom.so +lib/librumpdev_ucom.so.0 +lib/librumpdev_ucom.so.0.0 +lib/librumpdev_ucom_pic.a +lib/librumpdev_ugenhc.a +lib/librumpdev_ugenhc.so +lib/librumpdev_ugenhc.so.0 +lib/librumpdev_ugenhc.so.0.0 +lib/librumpdev_ugenhc_pic.a +lib/librumpdev_ulpt.a +lib/librumpdev_ulpt.so +lib/librumpdev_ulpt.so.0 +lib/librumpdev_ulpt.so.0.0 +lib/librumpdev_ulpt_pic.a +lib/librumpdev_umass.a +lib/librumpdev_umass.so +lib/librumpdev_umass.so.0 +lib/librumpdev_umass.so.0.0 +lib/librumpdev_umass_pic.a +lib/librumpdev_usb.a +lib/librumpdev_usb.so +lib/librumpdev_usb.so.0 +lib/librumpdev_usb.so.0.0 +lib/librumpdev_usb_pic.a +lib/librumpdev_wscons.a +lib/librumpdev_wscons.so +lib/librumpdev_wscons.so.0 +lib/librumpdev_wscons.so.0.0 +lib/librumpdev_wscons_pic.a +lib/librumpfs_cd9660.a +lib/librumpfs_cd9660.so +lib/librumpfs_cd9660.so.0 +lib/librumpfs_cd9660.so.0.0 +lib/librumpfs_cd9660_pic.a +lib/librumpfs_efs.a +lib/librumpfs_efs.so +lib/librumpfs_efs.so.0 +lib/librumpfs_efs.so.0.0 +lib/librumpfs_efs_pic.a +lib/librumpfs_ext2fs.a +lib/librumpfs_ext2fs.so +lib/librumpfs_ext2fs.so.0 +lib/librumpfs_ext2fs.so.0.0 +lib/librumpfs_ext2fs_pic.a +lib/librumpfs_fdesc.a +lib/librumpfs_fdesc.so +lib/librumpfs_fdesc.so.0 +lib/librumpfs_fdesc.so.0.0 +lib/librumpfs_fdesc_pic.a +lib/librumpfs_ffs.a +lib/librumpfs_ffs.so +lib/librumpfs_ffs.so.0 +lib/librumpfs_ffs.so.0.0 +lib/librumpfs_ffs_pic.a +lib/librumpfs_hfs.a +lib/librumpfs_hfs.so +lib/librumpfs_hfs.so.0 +lib/librumpfs_hfs.so.0.0 +lib/librumpfs_hfs_pic.a +lib/librumpfs_kernfs.a +lib/librumpfs_kernfs.so +lib/librumpfs_kernfs.so.0 +lib/librumpfs_kernfs.so.0.0 +lib/librumpfs_kernfs_pic.a +lib/librumpfs_lfs.a +lib/librumpfs_lfs.so +lib/librumpfs_lfs.so.0 +lib/librumpfs_lfs.so.0.0 +lib/librumpfs_lfs_pic.a +lib/librumpfs_mfs.a +lib/librumpfs_mfs.so +lib/librumpfs_mfs.so.0 +lib/librumpfs_mfs.so.0.0 +lib/librumpfs_mfs_pic.a +lib/librumpfs_msdos.a +lib/librumpfs_msdos.so +lib/librumpfs_msdos.so.0 +lib/librumpfs_msdos.so.0.0 +lib/librumpfs_msdos_pic.a +lib/librumpfs_nfs.a +lib/librumpfs_nfs.so +lib/librumpfs_nfs.so.0 +lib/librumpfs_nfs.so.0.0 +lib/librumpfs_nfs_pic.a +lib/librumpfs_nfsserver.a +lib/librumpfs_nfsserver.so +lib/librumpfs_nfsserver.so.0 +lib/librumpfs_nfsserver.so.0.0 +lib/librumpfs_nfsserver_pic.a +lib/librumpfs_nilfs.a +lib/librumpfs_nilfs.so +lib/librumpfs_nilfs.so.0 +lib/librumpfs_nilfs.so.0.0 +lib/librumpfs_nilfs_pic.a +lib/librumpfs_ntfs.a +lib/librumpfs_ntfs.so +lib/librumpfs_ntfs.so.0 +lib/librumpfs_ntfs.so.0.0 +lib/librumpfs_ntfs_pic.a +lib/librumpfs_null.a +lib/librumpfs_null.so +lib/librumpfs_null.so.0 +lib/librumpfs_null.so.0.0 +lib/librumpfs_null_pic.a +lib/librumpfs_ptyfs.a +lib/librumpfs_ptyfs.so +lib/librumpfs_ptyfs.so.0 +lib/librumpfs_ptyfs.so.0.0 +lib/librumpfs_ptyfs_pic.a +lib/librumpfs_smbfs.a +lib/librumpfs_smbfs.so +lib/librumpfs_smbfs.so.0 +lib/librumpfs_smbfs.so.0.0 +lib/librumpfs_smbfs_pic.a +lib/librumpfs_syspuffs.a +lib/librumpfs_syspuffs.so +lib/librumpfs_syspuffs.so.0 +lib/librumpfs_syspuffs.so.0.0 +lib/librumpfs_syspuffs_pic.a +lib/librumpfs_sysvbfs.a +lib/librumpfs_sysvbfs.so +lib/librumpfs_sysvbfs.so.0 +lib/librumpfs_sysvbfs.so.0.0 +lib/librumpfs_sysvbfs_pic.a +lib/librumpfs_tmpfs.a +lib/librumpfs_tmpfs.so +lib/librumpfs_tmpfs.so.0 +lib/librumpfs_tmpfs.so.0.0 +lib/librumpfs_tmpfs_pic.a +lib/librumpfs_udf.a +lib/librumpfs_udf.so +lib/librumpfs_udf.so.0 +lib/librumpfs_udf.so.0.0 +lib/librumpfs_udf_pic.a +lib/librumpfs_umap.a +lib/librumpfs_umap.so +lib/librumpfs_umap.so.0 +lib/librumpfs_umap.so.0.0 +lib/librumpfs_umap_pic.a +lib/librumpfs_union.a +lib/librumpfs_union.so +lib/librumpfs_union.so.0 +lib/librumpfs_union.so.0.0 +lib/librumpfs_union_pic.a +lib/librumpfs_v7fs.a +lib/librumpfs_v7fs.so +lib/librumpfs_v7fs.so.0 +lib/librumpfs_v7fs.so.0.0 +lib/librumpfs_v7fs_pic.a +lib/librumpfs_zfs.a +lib/librumpfs_zfs.so +lib/librumpfs_zfs.so.0 +lib/librumpfs_zfs.so.0.0 +lib/librumpfs_zfs_pic.a +lib/librumpkern_crypto.a +lib/librumpkern_crypto.so +lib/librumpkern_crypto.so.0 +lib/librumpkern_crypto.so.0.0 +lib/librumpkern_crypto_pic.a +lib/librumpkern_sljit.a +lib/librumpkern_sljit.so +lib/librumpkern_sljit.so.0 +lib/librumpkern_sljit.so.0.0 +lib/librumpkern_sljit_pic.a +lib/librumpkern_solaris.a +lib/librumpkern_solaris.so +lib/librumpkern_solaris.so.0 +lib/librumpkern_solaris.so.0.0 +lib/librumpkern_solaris_pic.a +lib/librumpkern_tty.a +lib/librumpkern_tty.so +lib/librumpkern_tty.so.0 +lib/librumpkern_tty.so.0.0 +lib/librumpkern_tty_pic.a +lib/librumpkern_z.a +lib/librumpkern_z.so +lib/librumpkern_z.so.0 +lib/librumpkern_z.so.0.0 +lib/librumpkern_z_pic.a +lib/librumpnet.a +lib/librumpnet.so +lib/librumpnet.so.0 +lib/librumpnet.so.0.0 +lib/librumpnet_agr.a +lib/librumpnet_agr.so +lib/librumpnet_agr.so.0 +lib/librumpnet_agr.so.0.0 +lib/librumpnet_agr_pic.a +lib/librumpnet_bpfjit.a +lib/librumpnet_bpfjit.so +lib/librumpnet_bpfjit.so.0 +lib/librumpnet_bpfjit.so.0.0 +lib/librumpnet_bpfjit_pic.a +lib/librumpnet_bridge.a +lib/librumpnet_bridge.so +lib/librumpnet_bridge.so.0 +lib/librumpnet_bridge.so.0.0 +lib/librumpnet_bridge_pic.a +lib/librumpnet_config.a +lib/librumpnet_config.so +lib/librumpnet_config.so.0 +lib/librumpnet_config.so.0.0 +lib/librumpnet_config_pic.a +lib/librumpnet_local.a +lib/librumpnet_local.so +lib/librumpnet_local.so.0 +lib/librumpnet_local.so.0.0 +lib/librumpnet_local_pic.a +lib/librumpnet_net.a +lib/librumpnet_net.so +lib/librumpnet_net.so.0 +lib/librumpnet_net.so.0.0 +lib/librumpnet_net80211.a +lib/librumpnet_net80211.so +lib/librumpnet_net80211.so.0 +lib/librumpnet_net80211.so.0.0 +lib/librumpnet_net80211_pic.a +lib/librumpnet_net_pic.a +lib/librumpnet_netbt.a +lib/librumpnet_netbt.so +lib/librumpnet_netbt.so.0 +lib/librumpnet_netbt.so.0.0 +lib/librumpnet_netbt_pic.a +lib/librumpnet_netinet.a +lib/librumpnet_netinet.so +lib/librumpnet_netinet.so.0 +lib/librumpnet_netinet.so.0.0 +lib/librumpnet_netinet6.a +lib/librumpnet_netinet6.so +lib/librumpnet_netinet6.so.0 +lib/librumpnet_netinet6.so.0.0 +lib/librumpnet_netinet6_pic.a +lib/librumpnet_netinet_pic.a +lib/librumpnet_netmpls.a +lib/librumpnet_netmpls.so +lib/librumpnet_netmpls.so.0 +lib/librumpnet_netmpls.so.0.0 +lib/librumpnet_netmpls_pic.a +lib/librumpnet_npf.a +lib/librumpnet_npf.so +lib/librumpnet_npf.so.0 +lib/librumpnet_npf.so.0.0 +lib/librumpnet_npf_pic.a +lib/librumpnet_pic.a +lib/librumpnet_shmif.a +lib/librumpnet_shmif.so +lib/librumpnet_shmif.so.0 +lib/librumpnet_shmif.so.0.0 +lib/librumpnet_shmif_pic.a +lib/librumpnet_sockin.a +lib/librumpnet_sockin.so +lib/librumpnet_sockin.so.0 +lib/librumpnet_sockin.so.0.0 +lib/librumpnet_sockin_pic.a +lib/librumpuser.a +lib/librumpuser.so +lib/librumpuser.so.0 +lib/librumpuser.so.0.1 +lib/librumpuser_pic.a +lib/librumpvfs.a +lib/librumpvfs.so +lib/librumpvfs.so.0 +lib/librumpvfs.so.0.0 +lib/librumpvfs_fifofs.a +lib/librumpvfs_fifofs.so +lib/librumpvfs_fifofs.so.0 +lib/librumpvfs_fifofs.so.0.0 +lib/librumpvfs_fifofs_pic.a +lib/librumpvfs_layerfs.a +lib/librumpvfs_layerfs.so +lib/librumpvfs_layerfs.so.0 +lib/librumpvfs_layerfs.so.0.0 +lib/librumpvfs_layerfs_pic.a +lib/librumpvfs_pic.a +@dirrmtry include/rump