Re: [PATCH 1/10] Cr4 is valid on some 486s

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Linus Torvalds wrote:

On Fri, 11 Nov 2005, Zachary Amsden wrote:
Agree nested exceptions are evil.  But where is this called from execption
context?

We have really nice ways of handling these things, so we should just use them.

For example, you can do

	static inline void read_cr4(void)
	{
		unsigned long cr4;
		alternative_input("xorl %0,%0",
				  "movl %%cr4,%0",
				  X86_FEATURE_CR4,
				  "r" (cr4));
		return cr4;
	}

and then just add that feature-flag discovery early on in boot (it needs to be pretty early, since the alternative instruction rewriting happens early).

We have several "calculated" features already. Things like X86_FEATURE_P4 etc.

Yes, this is fine, but is it worth writing the feature discovery code? I suppose it doesn't matter, as it gets jettisoned after init. I guess it is just preference.

Considering run time code size, the alternative approach wins, has no extra branches, and is just nicer. The faulting technique requires two extra dwords of space that can not be jettisonned. So obviously, I must do it (the alternative approach).

Could we consider doing the same with LOCK prefix for SMP kernels booted on UP? Evil grin.

Zach
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux