2007/7/12, Craig Boston <[EMAIL PROTECTED]>:
On Thu, Jul 12, 2007 at 12:52:52PM -0500, Craig Boston wrote:
> For some reason when the ioctl is issued, curproc points to a totally
> bogus proc structure.  curthread seems to be sane as far as I can tell,
> but the process it claims to belong to is full of junk.

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!

Ok, this patch should make this behaviour no more conditioned to KSE
presence or not:
http://people.freebsd.org/~attilio/kqemu.diff

Note: this is highly untested due to lack of time and stuffs, but it
should work.
You would test in all the 4 configuration:
- kernel with KSE, kqemu without
- kernel without KSE, kquemu without
- kernel with KSE, kqemu with
- kernel without KSE, kquemu without

They should all work. If they doesn't please let me know.

An alternative approach would be to just not making KSE stuffs
conditional, but even if I hate these ABI breakages I hate even more
adding 16 unused bytes to "struct thread" struct on amd64.

Thanks,
Attilio


--
Peace can only be achieved by understanding - A. Einstein
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to