diff options
author | nox <nox@FreeBSD.org> | 2008-06-23 06:06:15 +0800 |
---|---|---|
committer | nox <nox@FreeBSD.org> | 2008-06-23 06:06:15 +0800 |
commit | fdb48fca06f68135cc9fc8cd735204defeae4f0d (patch) | |
tree | fdfdbca5fee2f9187e130ca9f949d3ae3974f121 /emulators | |
parent | c283c6225a0ed47d2c82028bf7ea8d229d94c1ff (diff) | |
download | freebsd-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/Makefile | 6 | ||||
-rw-r--r-- | emulators/kqemu-kmod-devel/distinfo | 6 | ||||
-rw-r--r-- | emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c | 46 |
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); } |