All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: hadi@cyberus.ca
Cc: Thomas Gleixner <tglx@linutronix.de>,
	Suresh Siddha <suresh.b.siddha@intel.com>,
	Arjan van de Ven <arjan@linux.intel.com>,
	Ingo Molnar <mingo@elte.hu>, LKML <linux-kernel@vger.kernel.org>,
	Jan Beulich <jbeulich@novell.com>
Subject: Re: i387/FPU init issues...
Date: Sat, 03 May 2008 11:48:36 -0700	[thread overview]
Message-ID: <481CB384.2070704@zytor.com> (raw)
In-Reply-To: <1209834123.6972.48.camel@localhost>

[-- Attachment #1: Type: text/plain, Size: 970 bytes --]

jamal wrote:
> 
> Indeed it does - thanks.
> 
>> Please provide
>> also output of /proc/cpuinfo.
> 
> mambo:~# cat /proc/cpuinfo
> processor       : 0
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 3
> model name      : Pentium II (Klamath)
> stepping        : 3
> cpu MHz         : 1063.771
> cache size      : 128 KB
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 2
> wp              : yes
> flags           : fpu de pse tsc msr pae mce cx8 sep pge cmov mmx fxsr
> sse sse2
> bogomips        : 2160.92
> clflush size    : 32
> power management:
> 

This is very odd.

Could you try running the attached C program on this processor and 
report the result?  (Binary included for convenience.)

Arjan: this seems to directly contradict the Intel documentation.  Do 
you have any way to find out what the deal is with this?

	-hpa

[-- Attachment #2: p6nops.c --]
[-- Type: text/x-csrc, Size: 1609 bytes --]

#include <setjmp.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

#define P6_NOP1 ".byte 0x90\n"
#define P6_NOP2 ".byte 0x66,0x90\n"
#define P6_NOP3 ".byte 0x0f,0x1f,0x00\n"
#define P6_NOP4 ".byte 0x0f,0x1f,0x40,0\n"
#define P6_NOP5 ".byte 0x0f,0x1f,0x44,0x00,0\n"
#define P6_NOP6 ".byte 0x66,0x0f,0x1f,0x44,0x00,0\n"
#define P6_NOP7 ".byte 0x0f,0x1f,0x80,0,0,0,0\n"
#define P6_NOP8 ".byte 0x0f,0x1f,0x84,0x00,0,0,0,0\n"

static sigjmp_buf bail_buf;

static void sigill(int sig)
{
	(void)sig;
	siglongjmp(bail_buf, 1);
}

static int do_test(int n)
{
	struct sigaction old_sa, sa;
	int err;

	memset(&sa, 0, sizeof sa);
	sa.sa_handler = sigill;
	sigaction(SIGILL, &sa, &old_sa);

	err = sigsetjmp(bail_buf, 1);
	if (!err) {
		switch (n) {
		case -1:
			asm volatile("ud2a"); /* Test the mechanism */
			break;
		case 0:
			asm volatile("");
			break;
		case 1:
			asm volatile(P6_NOP1);
			break;
		case 2:
			asm volatile(P6_NOP2);
			break;
		case 3:
			asm volatile(P6_NOP3);
			break;
		case 4:
			asm volatile(P6_NOP4);
			break;
		case 5:
			asm volatile(P6_NOP5);
			break;
		case 6:
			asm volatile(P6_NOP6);
			break;
		case 7:
			asm volatile(P6_NOP7);
			break;
		case 8:
			asm volatile(P6_NOP8);
			break;
		default:
			abort();
		}
	}

	sigaction(SIGILL, &old_sa, NULL);
	return err;
}

int main(void)
{
	int i;
	int test, err = 0;

	if (!do_test(-1)) {
		printf("Trap mechanism broken!\n");
		return 2;
	}

	for (i = 0; i <= 8; i++) {
		test = do_test(i);
		err |= test;
		printf("Test %d: %s\n", i, test ? "err" : "ok");
	}

	return err;
}

[-- Attachment #3: p6nops --]
[-- Type: application/octet-stream, Size: 10555 bytes --]

  parent reply	other threads:[~2008-05-03 18:49 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-03 10:32 i387/FPU init issues jamal
2008-05-03 10:57 ` James Courtier-Dutton
2008-05-03 13:53   ` jamal
2008-05-03 15:31 ` Thomas Gleixner
2008-05-03 17:02   ` jamal
2008-05-03 17:34     ` Ingo Molnar
2008-05-03 17:39       ` Thomas Gleixner
2008-05-04 21:31         ` Jan Engelhardt
2008-05-04 21:37           ` H. Peter Anvin
2008-05-05 13:00           ` Lennart Sorensen
2008-05-03 18:48     ` H. Peter Anvin [this message]
2008-05-03 20:07       ` Mikael Pettersson
2008-05-03 20:03     ` H. Peter Anvin
2008-05-03 17:42   ` H. Peter Anvin
2008-05-03 17:50     ` James Courtier-Dutton
2008-05-03 17:51       ` H. Peter Anvin
2008-05-03 18:18     ` Thomas Gleixner
2008-05-03 18:58       ` Mikael Pettersson
2008-05-03 19:03         ` H. Peter Anvin
2008-05-03 19:08         ` H. Peter Anvin
2008-05-03 19:17           ` Thomas Gleixner
2008-05-03 19:24             ` H. Peter Anvin
2008-05-03 19:54               ` Ingo Molnar
2008-05-03 19:56                 ` H. Peter Anvin
2008-05-03 19:49     ` Maciej W. Rozycki
2008-05-03 20:06       ` H. Peter Anvin
2008-05-03 21:17         ` Maciej W. Rozycki
2008-05-03 21:46           ` jamal
     [not found]         ` <Pine.LNX.4.55.0805032209480.20206@c <1209851170.6972.64.camel@localhost>
2008-05-04 13:08           ` Sebastian Herbszt
2008-05-04 15:06             ` jamal
2008-05-04 15:21               ` Sebastian Herbszt
2008-05-04 20:24         ` Arjan van de Ven
2008-05-04 21:07           ` H. Peter Anvin

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=481CB384.2070704@zytor.com \
    --to=hpa@zytor.com \
    --cc=arjan@linux.intel.com \
    --cc=hadi@cyberus.ca \
    --cc=jbeulich@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=suresh.b.siddha@intel.com \
    --cc=tglx@linutronix.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.