aboutsummaryrefslogtreecommitdiffstats
path: root/emulators
diff options
context:
space:
mode:
authornox <nox@FreeBSD.org>2008-06-23 06:06:15 +0800
committernox <nox@FreeBSD.org>2008-06-23 06:06:15 +0800
commitfdb48fca06f68135cc9fc8cd735204defeae4f0d (patch)
treefdfdbca5fee2f9187e130ca9f949d3ae3974f121 /emulators
parentc283c6225a0ed47d2c82028bf7ea8d229d94c1ff (diff)
downloadfreebsd-ports-gnome-fdb48fca06f68135cc9fc8cd735204defeae4f0d.tar.gz
freebsd-ports-gnome-fdb48fca06f68135cc9fc8cd735204defeae4f0d.tar.zst
freebsd-ports-gnome-fdb48fca06f68135cc9fc8cd735204defeae4f0d.zip
- Update to 1.4.0.p1 after repocopy from kqemu-kmod, this version is
needed for qemu svn and the experimental qemu-devel update available at: http://people.freebsd.org/~nox/qemu/qemu-devel-20080620.patch (see http://docs.freebsd.org/cgi/mid.cgi?20080620211216.GA75382 for the original announcement.) - Add CONFLICTS with the kqemu-kmod port. - Add D_NEEDMINOR as now required on -current for drivers that use the cloner library: http://svn.freebsd.org/viewvc/base?view=revision&revision=179726 (this last item was not yet in the original shar I put up for testing.)
Diffstat (limited to 'emulators')
-rw-r--r--emulators/kqemu-kmod-devel/Makefile6
-rw-r--r--emulators/kqemu-kmod-devel/distinfo6
-rw-r--r--emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c46
3 files changed, 49 insertions, 9 deletions
diff --git a/emulators/kqemu-kmod-devel/Makefile b/emulators/kqemu-kmod-devel/Makefile
index 2febf64685e1..37055b933a3f 100644
--- a/emulators/kqemu-kmod-devel/Makefile
+++ b/emulators/kqemu-kmod-devel/Makefile
@@ -6,14 +6,13 @@
#
PORTNAME= kqemu
-PORTVERSION= 1.3.0.p11
-PORTREVISION= 8
+PORTVERSION= 1.4.0.p1
CATEGORIES= emulators kld
MASTER_SITES= http://bellard.org/qemu/ \
http://qemu.org/ \
${MASTER_SITE_LOCAL}
MASTER_SITE_SUBDIR= nox
-PKGNAMESUFFIX= -kmod
+PKGNAMESUFFIX= -kmod-devel
DISTNAME= ${PORTNAME}-${PORTVERSION:C/.p/pre/}
DIST_SUBDIR= kqemu
@@ -24,6 +23,7 @@ ONLY_FOR_ARCHS= i386 amd64
HAS_CONFIGURE= yes
USE_GMAKE= yes
CONFIGURE_ARGS+= --prefix=${PREFIX} --cc=${CC}
+CONFLICTS= kqemu-kmod-[0-9]*
USE_RC_SUBR= kqemu
diff --git a/emulators/kqemu-kmod-devel/distinfo b/emulators/kqemu-kmod-devel/distinfo
index 783c7f9c74ce..40877c689e5e 100644
--- a/emulators/kqemu-kmod-devel/distinfo
+++ b/emulators/kqemu-kmod-devel/distinfo
@@ -1,3 +1,3 @@
-MD5 (kqemu/kqemu-1.3.0pre11.tar.gz) = 970521874ef8b1ba4598925ace5936c3
-SHA256 (kqemu/kqemu-1.3.0pre11.tar.gz) = 541aef5797e5c6c6a76e354c17c6513ca21fe3372ec79493a32f7e51ba785b0f
-SIZE (kqemu/kqemu-1.3.0pre11.tar.gz) = 161478
+MD5 (kqemu/kqemu-1.4.0pre1.tar.gz) = d738d8ca7332211ab716ec3213d82ee1
+SHA256 (kqemu/kqemu-1.4.0pre1.tar.gz) = bac3e84eae1c867b06cd06ed2bcf563ba8304bd4e5a900880c2abe61b9aab491
+SIZE (kqemu/kqemu-1.4.0pre1.tar.gz) = 168249
diff --git a/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c b/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c
index ac811e16d7fe..8f1b1e121347 100644
--- a/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c
+++ b/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c
@@ -1,5 +1,5 @@
Index: kqemu-freebsd.c
-@@ -208,9 +208,17 @@
+@@ -222,9 +222,17 @@
int CDECL kqemu_schedule(void)
{
/* kqemu_log("kqemu_schedule\n"); */
@@ -17,7 +17,27 @@ Index: kqemu-freebsd.c
return SIGPENDING(curthread);
}
#endif
-@@ -320,8 +328,15 @@
+@@ -258,6 +266,10 @@
+ static struct clonedevs *kqemuclones;
+ static TAILQ_HEAD(,kqemu_instance) kqemuhead = TAILQ_HEAD_INITIALIZER(kqemuhead);
+ static eventhandler_tag clonetag;
++#ifndef D_NEEDMINOR
++/* see http://svn.freebsd.org/viewvc/base?view=revision&revision=179726 */
++#define D_NEEDMINOR 0
++#endif
+ #endif
+
+ static d_close_t kqemu_close;
+@@ -282,7 +294,7 @@
+ /* bmaj */ -1
+ #else
+ .d_version = D_VERSION,
+- .d_flags = D_NEEDGIANT,
++ .d_flags = D_NEEDGIANT | D_NEEDMINOR,
+ .d_open = kqemu_open,
+ .d_ioctl = kqemu_ioctl,
+ .d_close = kqemu_close,
+@@ -334,8 +346,15 @@
#if __FreeBSD_version >= 500000
dev->si_drv1 = NULL;
TAILQ_REMOVE(&kqemuhead, ks, kqemu_ent);
@@ -33,7 +53,27 @@ Index: kqemu-freebsd.c
free(ks, M_KQEMU);
--kqemu_ref_count;
}
-@@ -500,7 +515,13 @@
+@@ -412,6 +431,19 @@
+ ks->state = s;
+ break;
+ }
++ case KQEMU_SET_PHYS_MEM: {
++ struct kqemu_phys_mem kphys_mem;
++ if (!s) {
++ ret = -EIO;
++ break;
++ }
++ kphys_mem = *(struct kqemu_phys_mem *)addr;
++ ret = kqemu_set_phys_mem(s, &kphys_mem);
++ if (ret != 0) {
++ ret = -EINVAL;
++ }
++ break;
++ }
+ case KQEMU_EXEC: {
+ struct kqemu_cpu_state *ctx;
+ if (s == NULL) {
+@@ -514,7 +546,13 @@
while ((ks = TAILQ_FIRST(&kqemuhead)) != NULL) {
kqemu_destroy(ks);
}