Skip site navigation (1)Skip section navigation (2)
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>