Index: head/emulators/kqemu-kmod-devel/Makefile =================================================================== --- head/emulators/kqemu-kmod-devel/Makefile (revision 215562) +++ head/emulators/kqemu-kmod-devel/Makefile (revision 215563) @@ -1,84 +1,84 @@ # New ports collection makefile for: kqemu-kmod # Date created: 2005/10/25 # Whom: nork@FreeBSD.org # # $FreeBSD$ # 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 MAINTAINER= nox@FreeBSD.org COMMENT= Kernel Accelerator for QEMU CPU Emulator (development version) 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 .include PORTDOCS= kqemu-doc.html kqemu-tech.html PLIST_FILES= "include/kqemu/kqemu.h" PLIST_FILES+= "@dirrm include/kqemu" PLIST_FILES+= "@cwd /" PLIST_FILES+= ${KMODDIR:C,^/,,}/kqemu.ko PLIST_FILES+= "@unexec kldxref ${KMODDIR}" MAKEFILE= Makefile.freebsd .if ${ARCH} == "amd64" MAKE_ARGS+= ARCH=x86_64 .endif # install where x11/nvidia-driver does also: KMODDIR= /boot/modules MAKE_ENV+= KMODDIR="${KMODDIR}" .if !exists(${SRC_BASE}/sys/Makefile) IGNORE= requires kernel source to be installed .endif .if ${OSVERSION} >= 700024 && ${OSVERSION} < 700053 && !defined(NOKSE) # XXX this is wrong if you have `nooption KSE' in your kernel config, # please define NOKSE in that case (no longer a problem after attilio's # Sun Jul 22 21:35:44 2007 UTC commit removing the KSE ABI incompatiblity) CFLAGS+= -DKSE .endif CFLAGS+= ${DEBUG_FLAGS} post-extract: .if ${OSVERSION} >= 700024 && ${OSVERSION} < 700053 && !defined(NOKSE) @${ECHO_MSG} "Compiling with -DKSE." @${ECHO_MSG} "If this is wrong (i.e. you have \`nooption KSE' in your kernel config)," @${ECHO_MSG} "then please define NOKSE." .endif do-build: @(cd ${BUILD_WRKSRC}/common; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} Makefile ${MAKE_ARGS} ${ALL_TARGET}) @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${ALL_TARGET}) do-install: @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${INSTALL_TARGET}) ${MKDIR} ${PREFIX}/include/kqemu ${INSTALL_DATA} ${WRKSRC}/kqemu.h ${PREFIX}/include/kqemu .if !defined(NOPORTDOCS) ${MKDIR} ${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/kqemu-doc.html ${WRKSRC}/kqemu-tech.html \ ${DOCSDIR} .endif .include Property changes on: head/emulators/kqemu-kmod-devel/Makefile ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.29 \ No newline at end of property +1.30 \ No newline at end of property Index: head/emulators/kqemu-kmod-devel/distinfo =================================================================== --- head/emulators/kqemu-kmod-devel/distinfo (revision 215562) +++ head/emulators/kqemu-kmod-devel/distinfo (revision 215563) @@ -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 Property changes on: head/emulators/kqemu-kmod-devel/distinfo ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.9 \ No newline at end of property +1.10 \ No newline at end of property Index: head/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c =================================================================== --- head/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c (revision 215562) +++ head/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c (revision 215563) @@ -1,49 +1,89 @@ Index: kqemu-freebsd.c -@@ -208,9 +208,17 @@ +@@ -222,9 +222,17 @@ int CDECL kqemu_schedule(void) { /* kqemu_log("kqemu_schedule\n"); */ +#if __FreeBSD_version < 700044 mtx_lock_spin(&sched_lock); mi_switch(SW_VOL, NULL); mtx_unlock_spin(&sched_lock); +#else + /* -current no longer uses sched_lock */ + struct thread *td = curthread; + thread_lock(td); + mi_switch(SW_VOL, NULL); + thread_unlock(td); +#endif 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); +#if __FreeBSD_version >= 700051 + destroy_dev_sched(dev); +#else +#if __FreeBSD_version >= 700024 + dev_relthread(dev); +#endif destroy_dev(dev); #endif +#endif 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); } +#if __FreeBSD_version >= 700051 + drain_dev_clone_events(); +#endif clone_cleanup(&kqemuclones); +#if __FreeBSD_version >= 700051 + destroy_dev_drain(&kqemu_cdevsw); +#endif #endif kqemu_global_delete(kqemu_gs); kqemu_gs = NULL; Property changes on: head/emulators/kqemu-kmod-devel/files/patch-kqemu-freebsd.c ___________________________________________________________________ Modified: cvs2svn:cvs-rev ## -1 +1 ## -1.8 \ No newline at end of property +1.9 \ No newline at end of property