From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miguel Bolanos Subject: Re: Experimental fix for my memcpy_{to,from}fs problem Date: Wed, 02 Jun 2004 14:53:07 -0600 Sender: linux-8086-owner@vger.kernel.org Message-ID: <1086209587.3063.10.camel@talena.hsol.net> References: <20040601213231.GT21172@duckman.distro.conectiva> <20040601220235.GU21172@duckman.distro.conectiva> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Id: Content-Type: text/plain; charset="us-ascii" To: claudio@conectiva.com Cc: Eduardo Pereira Habkost , linux-8086@vger.kernel.org Applied. Thanks Mike On Tue, 2004-06-01 at 19:33, claudio@conectiva.com wrote: > On Tue, 1 Jun 2004, Eduardo Pereira Habkost wrote: > > > The following patch fixes the problem on my system. Probably > > with some versions of bcc the patch will break something. > > > > I've added code to save the contents of SI and DI, I don't know if the > > callers of these functions assume that SI and DI are touched, but just > > in case. > > > > Now the system booted and ran flawlessly. > > You may need to apply the same fix in strlen_fromfs(). > > diff -rud e/arch/i86/mm/user.c elks/arch/i86/mm/user.c > --- e/arch/i86/mm/user.c 2004-06-01 22:29:01.000000000 -0300 > +++ elks/arch/i86/mm/user.c 2004-06-01 22:27:54.000000000 -0300 > @@ -165,8 +165,9 @@ > > #ifndef S_SPLINT_S > #asm > - > - mov ax,[bp-6] ! source segment (local variable) > + push di > + push si > + mov ax,[bp-2] ! source segment (local variable) > mov es,ax > mov di,[bp+4] ! source address > cld > @@ -177,6 +178,8 @@ > sub di,[bp+4] ! calc len +1 > dec di > mov [bp-6],di ! save in local var ds > + pop si > + pop di > #endasm > #endif > > > - > To unsubscribe from this list: send the line "unsubscribe linux-8086" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >