public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: "Udo A. Steinberg" <sorisor@Hell.WH8.TU-Dresden.De>
Cc: Andi Kleen <ak@suse.de>, Linus Torvalds <torvalds@transmeta.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: 2.4.1-pre1 breaks XFree 4.0.2 and "w"
Date: Thu, 11 Jan 2001 18:46:45 +0100	[thread overview]
Message-ID: <20010111184645.B828@athlon.random> (raw)
In-Reply-To: <3A5C6417.6670FCB7@Hell.WH8.TU-Dresden.De> <20010110181516.X10035@nightmaster.csn.tu-chemnitz.de> <3A5C96BB.96B19DB@Hell.WH8.TU-Dresden.De> <200101110841.AAA01652@penguin.transmeta.com> <3A5D8583.F5F30BD2@Hell.WH8.TU-Dresden.De> <20010111111145.A19584@gruyere.muc.suse.de> <3A5D8B79.AD1E161D@Hell.WH8.TU-Dresden.De> <20010111183605.A828@athlon.random>
In-Reply-To: <20010111183605.A828@athlon.random>; from andrea@suse.de on Thu, Jan 11, 2001 at 06:36:05PM +0100

On Thu, Jan 11, 2001 at 06:36:05PM +0100, Andrea Arcangeli wrote:
> On Thu, Jan 11, 2001 at 11:31:21AM +0100, Udo A. Steinberg wrote:
> >  CONFIG_MK7=y
> 
> I'm looking into it.

The fxsr fixes from 2.4.1-pre1 allows athlon to correctly use FXSR too (when
nofxsr isn't passed to the kernel of course).

So then this 3dnow breaks here:

void *_mmx_memcpy(void *to, const void *from, size_t len)
{
	void *p=to;
	int i= len >> 6;	/* len/64 */

	if (!(current->flags & PF_USEDFPU))
		clts();
	else
	{
		__asm__ __volatile__ ( " fnsave %0; fwait\n"::"m"(current->thread.i387));
		current->flags &= ~PF_USEDFPU;
	}

The 3dnow is hardcoding the usage of old fnsave, whereas it should be using the
i387 operations in first place as all other parts of the kernel.

Then athlon will be able use both the faster fxsr and the 3dnow code
at the same time (whereas in 2.4.0 it wasn't wrongly using fxsr).

I also noticed this minor leftover:

--- ./arch/i386/kernel/i386_ksyms.c.~1~	Thu Dec 14 22:33:59 2000
+++ ./arch/i386/kernel/i386_ksyms.c	Thu Jan 11 17:15:21 2001
@@ -116,6 +116,7 @@
 EXPORT_SYMBOL(mmx_clear_page);
 EXPORT_SYMBOL(mmx_copy_page);
 #endif
+EXPORT_SYMBOL(mmu_cr4_features);
 
 #ifdef CONFIG_SMP
 EXPORT_SYMBOL(cpu_data);


Until I fix the 3dnow code to use the i387.c library please workaround
this way:

--- ./arch/i386/config.in.~1~	Thu Jan 11 17:52:05 2001
+++ ./arch/i386/config.in	Thu Jan 11 18:38:29 2001
@@ -109,7 +109,7 @@
    define_int  CONFIG_X86_L1_CACHE_SHIFT 6
    define_bool CONFIG_X86_TSC y
    define_bool CONFIG_X86_GOOD_APIC y
-   define_bool CONFIG_X86_USE_3DNOW y
+#   define_bool CONFIG_X86_USE_3DNOW y
    define_bool CONFIG_X86_PGE y
    define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
 fi


FXSR on athlon works like a charm in the aa 2.2.x patchkit because in 2.2.x
there are no special string operations that uses 3dnow.

Sorry for having missed that.

Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

  reply	other threads:[~2001-01-11 17:48 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-10 13:31 2.4.1-pre1 breaks XFree 4.0.2 and "w" Udo A. Steinberg
2001-01-10 17:15 ` Ingo Oeser
2001-01-10 17:07   ` Udo A. Steinberg
2001-01-10 20:00     ` Jonathan Hudson
2001-01-11  8:41     ` Linus Torvalds
2001-01-11 12:54       ` Alan Cox
     [not found]     ` <200101110841.AAA01652@penguin.transmeta.com>
2001-01-11 10:05       ` Udo A. Steinberg
2001-01-11 10:11         ` Andi Kleen
2001-01-11 10:31           ` Udo A. Steinberg
2001-01-11 17:36             ` Andrea Arcangeli
2001-01-11 17:46               ` Andrea Arcangeli [this message]
2001-01-11 17:48                 ` Andrea Arcangeli
2001-01-11 18:53                   ` Andrea Arcangeli
2001-01-12  2:08                 ` Linus Torvalds
2001-01-12  3:45                   ` Andrea Arcangeli
2001-01-12  4:26                     ` Linus Torvalds
2001-01-12 16:02                       ` Andrea Arcangeli
2001-01-12 16:42                         ` Richard A Nelson
2001-01-12 17:05                           ` Andrea Arcangeli
2001-01-12 17:35                             ` Linus Torvalds
2001-01-12 17:54                               ` Alan Cox
2001-01-12 18:35                                 ` Linus Torvalds
2001-01-12 18:57                                   ` Andrea Arcangeli
2001-01-12 19:19                                     ` Laramie Leavitt
2001-01-12 20:39                                     ` Mark Hahn
2001-01-12 18:24                               ` Andrea Arcangeli
2001-01-15 20:33                       ` [PATCH] i386/setup.c cpuinfo notsc Hugh Dickins
2001-01-15 20:48                         ` H. Peter Anvin
2001-01-15 21:38                           ` Maciej W. Rozycki
2001-01-15 21:41                             ` H. Peter Anvin
2001-01-15 21:51                               ` Maciej W. Rozycki
2001-01-16  3:47                                 ` H. Peter Anvin
2001-01-15 21:34                         ` Maciej W. Rozycki
2001-01-18 16:39                         ` [PATCH] udf writepage UnlockPage Hugh Dickins
2001-01-28 14:43                           ` Hugh Dickins
2001-01-12  4:28                   ` 2.4.1-pre1 breaks XFree 4.0.2 and "w" TimO
2001-01-12  6:06                   ` Udo A. Steinberg
2001-01-12  9:47                   ` Harold Oga
  -- strict thread matches above, loose matches on Subject: below --
2001-01-11  4:58 Floating point broken between 2.4.0-ac4 and -ac5? junio
2001-01-11 12:42 ` Alan Cox
2001-01-11 17:16   ` junio
2001-01-12  3:27 ` Aaron Lehmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20010111184645.B828@athlon.random \
    --to=andrea@suse.de \
    --cc=ak@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sorisor@Hell.WH8.TU-Dresden.De \
    --cc=torvalds@transmeta.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox