>  > >  > Basically, linux_mmap2 takes 6 args, and this looks here like only 5 args are
>  > >  > making it in... I checked this because the sixth argument to linux_mmap2() in
>  > >  > truss was showing 0x6, but when I printed out that arg from the kernel, it
>  > >  > was showing 0x0. Am I correct here?
>  > >  >
>  > >  > Ken
>  > >
>  > > Yes.  According to http://john.fremlin.de/linux/asm/, linux used to
>  > > parse only 5 args but now it parses six.  Try adding:
>  > >    args[5] = tf->tf_ebp;
>  > >
>  > I don't think that arg is there:
>  >
>  > Apr 23 10:36:13 ken /kernel: tf->tf_ebp = -1077938040
>  >
>  > Ken
>
> My guess is that we're not doing something we should be doing in
> int0x80_syscall in order to get that last arg.  But I do not have
> enough x86 knowledge to understand how the trapframe is constructed,
> so I cannot tell what needs to be done.
>
> Perhaps somebody with more x86 fu can help.
>
> Sorry,

Crap, I don't know what's going on either, I was just looking at the asm
in src/sys/i386/i386/exception.s, but I'm not very good with asm either,
Can anyone help? I'm cross-posting to -current since nobody on hackers or
emulation is able to help.

Ken


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to