From: "H. Peter Anvin" <hpa@zytor.com>
To: Lai Jiangshan <laijs@cn.fujitsu.com>
Cc: mingo@redhat.com, linux-kernel@vger.kernel.org,
tglx@linutronix.de, hpa@linux.intel.com,
linux-tip-commits@vger.kernel.org
Subject: Re: [tip:x86/alternatives] x86, alternatives: Use 16-bit numbers for cpufeature index
Date: Fri, 25 Jun 2010 08:35:19 -0700 [thread overview]
Message-ID: <4C24CCB7.2020806@zytor.com> (raw)
In-Reply-To: <4C2474EF.4050902@cn.fujitsu.com>
On 06/25/2010 02:20 AM, Lai Jiangshan wrote:
>>
>> x86, alternatives: Use 16-bit numbers for cpufeature index
>>
>> We already have cpufeature indicies above 255, so use a 16-bit number
>> for the alternatives index. This consumes a padding field and so
>> doesn't add any size, but it means that abusing the padding field to
>> create assembly errors on overflow no longer works. We can retain the
>> test simply by redirecting it to the .discard section, however.
>>
>
> My machine hits "invalid opcode" at *prepare_to_copy+0x79,
> and it can't boot up.
>
> (gdb) l *prepare_to_copy+0x79
> 0xc0101789 is in prepare_to_copy (/home/njubee/work/linux-2.6-tip/arch/x86/include/asm/xsave.h:118).
> 113
> 114 static inline void fpu_xsave(struct fpu *fpu)
> 115 {
> 116 /* This, however, we can work around by forcing the compiler to select
> 117 an addressing mode that doesn't require extended registers. */
> 118 __asm__ __volatile__(".byte " REX_PREFIX "0x0f,0xae,0x27"
> 119 : : "D" (&(fpu->state->xsave)),
> 120 "a" (-1), "d"(-1) : "memory");
> 121 }
> 122 #endif
>
There are no alternatives in that code, at all... so it makes me really
wonder what is going on. One possibility, of course, is that one
alternative has ended up with the wrong address. Will look...
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
next prev parent reply other threads:[~2010-06-25 15:35 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <tip-*@git.kernel.org>
2009-12-12 0:16 ` [tip:x86/urgent] nvram: Fix write beyond end condition; prove to gcc copy is safe tip-bot for H. Peter Anvin
2009-12-15 23:18 ` [tip:x86/urgent] x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers tip-bot for H. Peter Anvin
2010-02-19 6:21 ` [tip:x86/setup] x86-64, setup: Inhibit decompressor output if video info is invalid tip-bot for H. Peter Anvin
2010-02-19 21:41 ` [tip:x86/setup] x86, setup: Don't skip mode setting for the standard VGA modes tip-bot for H. Peter Anvin
2010-06-10 0:10 ` [tip:x86/alternatives] x86, alternatives: Use 16-bit numbers for cpufeature index tip-bot for H. Peter Anvin
2010-06-11 18:24 ` tip-bot for H. Peter Anvin
2010-06-25 9:20 ` Lai Jiangshan
2010-06-25 15:35 ` H. Peter Anvin [this message]
2010-06-28 7:58 ` Lai Jiangshan
2010-06-28 18:58 ` H. Peter Anvin
2010-06-28 19:06 ` H. Peter Anvin
2010-06-29 4:58 ` Lai Jiangshan
2010-06-29 7:07 ` [tip:x86/alternatives] x86, alternatives: correct obsolete use of "u8" in static_cpu_has() tip-bot for H. Peter Anvin
2010-06-29 7:06 ` [tip:x86/alternatives] x86, alternatives: Use 16-bit numbers for cpufeature index tip-bot for tip-bot for H. Peter Anvin
2010-06-29 9:15 ` Ingo Molnar
2010-06-29 15:33 ` H. Peter Anvin
2010-07-07 17:45 ` tip-bot for H. Peter Anvin
2010-07-20 2:06 ` [tip:x86/cpu] x86, cpu: Clean up formatting in cpufeature.h, remove override tip-bot for H. Peter Anvin
2010-07-20 2:06 ` [tip:x86/cpu] x86, cpu: Split addon_cpuid_features.c tip-bot for H. Peter Anvin
2010-08-12 6:12 ` [tip:x86/urgent] x86, asm: Refactor atomic64_386_32.S to support old binutils and be cleaner tip-bot for Luca Barbieri
2010-08-12 12:15 ` Luca Barbieri
2010-08-12 14:05 ` H. Peter Anvin
2010-08-12 15:18 ` Luca Barbieri
2010-08-12 15:33 ` [tip:x86/urgent] x86, asm: Use a lower case name for the end macro in atomic64_386_32.S tip-bot for Luca Barbieri
2010-08-19 19:06 ` [tip:x86/urgent] x86, asm: Refactor atomic64_386_32.S to support old binutils and be cleaner D. Stussy
2010-08-19 21:23 ` H. Peter Anvin
2010-08-20 8:21 ` Ingo Molnar
2010-08-25 0:37 ` [tip:x86/bios] x86, bios: By default, reserve the low 64K for all BIOSes tip-bot for H. Peter Anvin
2010-08-26 0:12 ` [tip:x86/bios] x86, bios: Make the x86 early memory reservation a kernel option tip-bot for H. Peter Anvin
2010-09-17 23:46 ` [tip:x86/idle] x86, mwait: Move mwait constants to a common header file tip-bot for 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=4C24CCB7.2020806@zytor.com \
--to=hpa@zytor.com \
--cc=hpa@linux.intel.com \
--cc=laijs@cn.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@redhat.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.