Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Aug 2007 11:19:19 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Roman Divacky <rdivacky@freebsd.org>
Cc:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 124465 for review
Message-ID:  <200708231119.19392.jhb@freebsd.org>
In-Reply-To: <200708011424.l71EOnG4029903@repoman.freebsd.org>
References:  <200708011424.l71EOnG4029903@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 01 August 2007 10:24:49 am Roman Divacky wrote:
> http://perforce.freebsd.org/chv.cgi?CH=124465
> 
> Change 124465 by rdivacky@rdivacky_witten on 2007/08/01 14:24:10
> 
> 	Initialize cr2 using rcr2() in signal context.
> 	
> 	PR: 77710
> 
> Affected files ...
> 
> .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_sysvec.c#2 edit
> 
> Differences ...
> 
> ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_sysvec.c#2 (text+ko) ====
> 
> @@ -359,6 +359,7 @@
>  	frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_esp;
>  	frame.sf_sc.uc_mcontext.sc_ss     = regs->tf_ss;
>  	frame.sf_sc.uc_mcontext.sc_err    = regs->tf_err;
> +	frame.sf_sc.uc_mcontext.sc_cr2    = rcr2();
>  	frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code);
>  
>  #ifdef DEBUG
> @@ -487,6 +488,7 @@
>  	frame.sf_sc.sc_esp_at_signal = regs->tf_esp;
>  	frame.sf_sc.sc_ss     = regs->tf_ss;
>  	frame.sf_sc.sc_err    = regs->tf_err;
> +	frame.sf_sc.sc_cr2    = rcr2();
>  	frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(ksi->ksi_trapno);
>  
>  	for (i = 0; i < (LINUX_NSIG_WORDS-1); i++)

This is wrong.  Use the same thing that the i386 freebsd code uses to set
sc_addr.  I think it is ksi->ksi_addr.  The sc_err part of the PR is already
fixed by the recent fixes for sc_err for wine.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200708231119.19392.jhb>