Date: Fri, 13 Jul 2007 03:27:51 -0500 From: "Scot Hetzel" <swhetzel@gmail.com> To: "Craig Boston" <craig@yekse.gank.org>, "Juergen Lock" <nox@jelal.kn-bremen.de>, freebsd-emulation@freebsd.org, freebsd-ports@freebsd.org Subject: Re: experimental qemu-devel port update, please test! Message-ID: <790a9fff0707130127v22c7d567rcd52488a8ecb34a1@mail.gmail.com> In-Reply-To: <20070712180750.GB77654@nowhere> References: <20070702203027.GA45302@saturn.kn-bremen.de> <46925324.9010908@freebsd.org> <3bbf2fe10707091140h6cdc7469nac5be03a8c8a60cb@mail.gmail.com> <200707092000.29768.dfr@rabson.org> <200707092149.l69LnXe9023835@saturn.kn-bremen.de> <20070712175252.GA77654@nowhere> <20070712180750.GB77654@nowhere>
next in thread | previous in thread | raw e-mail | index | archive | help
On 7/12/07, Craig Boston <craig@yekse.gank.org> wrote:
> Aha! The problem isn't that curproc is garbage, but rather that it's
> being interpreted wrong.
>
> struct proc has some extra fields when KSE is #defined. KSE recently
> became a kernel option and was put in the DEFAULTS file, so everyone's
> kernel has it defined. But kqemu is being compiled without it.
>
> I compiled with -DKSE and now kqemu works!
>
> This seems like it would be a common problem for modules compiled
> outside the kernel tree. Is there an established way to get the
> standard configuration options?
>
> I'm thinking also about other options like SMP, that for instance
> changes the way mutexes work.
>
Add the following option to the kernel configuration file:
# This allows you to actually store this configuration file into
# the kernel binary itself, where it may be later read by saying:
# strings -n 3 /boot/kernel/kernel | sed -n 's/^___//p' > MYKERNEL
#
options INCLUDE_CONFIG_FILE # Include this file in kernel
Then add the following to the kernel module port:
BOOTFILE!= sysctl -n kern.bootfile
.if !defined(KOPTION_KSE)
. if ${OSVERSION} > 700040
#KOPTION_KSE!= if ${SYSCTL} -b kern.conftxt | grep KSE ; then echo "yes" ; fi
KOPTION_KSE!= if config -x ${BOOTFILE} | grep KSE ; then echo "yes" ; fi
. else
KOPTION_KSE!= if strings -n 3 ${BOOTFILE} | grep KSE ; then echo "yes" ; fi
. endif
.endif
.if ${KOPTION_KSE} == yes
CFLAGS+= -DKSE
.endif
Scot
--
DISCLAIMER:
No electrons were mamed while sending this message. Only slightly bruised.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?790a9fff0707130127v22c7d567rcd52488a8ecb34a1>
