Andreas Herrmann 035a02c1e1 x86, amd: Restrict usage of c1e_idle()
Currently c1e_idle returns true for all CPUs greater than or equal to
family 0xf model 0x40. This covers too many CPUs.

Meanwhile a respective erratum for the underlying problem was filed
(#400). This patch adds the logic to check whether erratum #400
applies to a given CPU.
Especially for CPUs where SMI/HW triggered C1e is not supported,
c1e_idle() doesn't need to be used. We can check this by looking at
the respective OSVW bit for erratum #400.

Cc: <stable@kernel.org> # .32.x .33.x
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
LKML-Reference: <20100319110922.GA19614@alberich.amd.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2010-03-19 14:43:36 -07:00
..
2008-10-22 22:55:23 -07:00
2009-01-29 14:16:51 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-12-05 09:10:12 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:20 -07:00
2009-01-29 14:17:01 +01:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-04-07 13:36:36 +02:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2010-02-16 21:22:26 -08:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2010-03-01 12:35:57 -03:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-03-27 14:43:57 -04:00
2008-12-12 11:58:36 +01:00
2009-08-27 00:35:56 +02:00
2010-02-05 13:57:40 -08:00
2008-10-22 22:55:20 -07:00
2009-01-21 17:26:06 +09:00
2008-10-22 22:55:23 -07:00
2009-11-08 12:55:38 +01:00
2010-03-01 12:36:01 -03:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-06-13 15:37:30 +02:00
2010-03-01 12:36:14 -03:00
2008-10-22 22:55:23 -07:00
2009-07-30 16:03:46 +09:30
2010-01-05 15:34:49 +09:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2010-01-13 10:41:22 +01:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:20 -07:00
2009-02-02 23:27:09 +05:30
2010-02-12 09:42:39 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2010-01-22 16:05:42 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-06-15 12:40:02 +02:00
2008-10-22 22:55:20 -07:00
2009-04-01 08:59:16 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2010-03-01 12:35:51 -03:00
2009-01-31 00:19:32 +05:30
2008-10-22 22:55:23 -07:00
2010-03-12 15:52:32 -08:00
2010-03-12 15:52:32 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-07-19 18:27:52 +02:00
2008-10-22 22:55:23 -07:00
2010-03-12 15:52:32 -08:00
2010-03-12 15:52:32 -08:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-08-21 21:43:46 +02:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2008-12-14 16:24:38 -08:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:20 -07:00
2008-10-22 22:55:23 -07:00
2008-10-22 22:55:23 -07:00
2009-06-15 12:40:02 +02:00