* [PATCH 2/3] x86/Kconfig : Exclude i586-class cpus lacking PAE support from HIGHMEM64G Kconfig group
2018-02-15 16:54 [PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group Matthew Whitehead
@ 2018-02-15 16:54 ` Matthew Whitehead
2018-02-16 10:49 ` [tip:x86/urgent] x86/Kconfig: Exclude i586-class CPUs lacking PAE support from the " tip-bot for Matthew Whitehead
2018-02-15 16:54 ` [PATCH 3/3] x86/Kconfig : Explicitly enumerate i686-class cpus in Kconfig Matthew Whitehead
` (2 subsequent siblings)
3 siblings, 1 reply; 9+ messages in thread
From: Matthew Whitehead @ 2018-02-15 16:54 UTC (permalink / raw)
To: tglx, mingo, hpa, x86, linux-kernel; +Cc: Matthew Whitehead
i586-class machines also lack support for Physical Address Extension (PAE),
so add them to the exclusion list
Signed-off-by: Matthew Whitehead <tedheadster@gmail.com>
---
arch/x86/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 72d5149..89bf3fa 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1360,7 +1360,7 @@ config HIGHMEM4G
config HIGHMEM64G
bool "64GB"
- depends on !M486
+ depends on !M486 && !M586 && !M586TSC && !M586MMX && !MGEODE_LX && !MGEODEGX1 && !MCYRIXIII && !MELAN && !MWINCHIPC6 && !WINCHIP3D && !MK6
select X86_PAE
---help---
Select this if you have a 32-bit processor and more than 4
--
1.8.3.1
^ permalink raw reply related [flat|nested] 9+ messages in thread* [tip:x86/urgent] x86/Kconfig: Exclude i586-class CPUs lacking PAE support from the HIGHMEM64G Kconfig group
2018-02-15 16:54 ` [PATCH 2/3] x86/Kconfig : Exclude i586-class cpus lacking PAE support from HIGHMEM64G " Matthew Whitehead
@ 2018-02-16 10:49 ` tip-bot for Matthew Whitehead
0 siblings, 0 replies; 9+ messages in thread
From: tip-bot for Matthew Whitehead @ 2018-02-16 10:49 UTC (permalink / raw)
To: linux-tip-commits
Cc: torvalds, peterz, tedheadster, mingo, hpa, jpoimboe, bp, luto,
tglx, dvlasenk, brgerst, linux-kernel, arjan
Commit-ID: 69b8d3fcabdc81d9efd82b4a506c8279cbaba692
Gitweb: https://git.kernel.org/tip/69b8d3fcabdc81d9efd82b4a506c8279cbaba692
Author: Matthew Whitehead <tedheadster@gmail.com>
AuthorDate: Thu, 15 Feb 2018 11:54:55 -0500
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 16 Feb 2018 10:36:39 +0100
x86/Kconfig: Exclude i586-class CPUs lacking PAE support from the HIGHMEM64G Kconfig group
i586-class machines also lack support for Physical Address Extension (PAE),
so add them to the exclusion list.
Signed-off-by: Matthew Whitehead <tedheadster@gmail.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1518713696-11360-2-git-send-email-tedheadster@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index a528c14..c1236b1 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1404,7 +1404,7 @@ config HIGHMEM4G
config HIGHMEM64G
bool "64GB"
- depends on !M486
+ depends on !M486 && !M586 && !M586TSC && !M586MMX && !MGEODE_LX && !MGEODEGX1 && !MCYRIXIII && !MELAN && !MWINCHIPC6 && !WINCHIP3D && !MK6
select X86_PAE
---help---
Select this if you have a 32-bit processor and more than 4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/3] x86/Kconfig : Explicitly enumerate i686-class cpus in Kconfig
2018-02-15 16:54 [PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group Matthew Whitehead
2018-02-15 16:54 ` [PATCH 2/3] x86/Kconfig : Exclude i586-class cpus lacking PAE support from HIGHMEM64G " Matthew Whitehead
@ 2018-02-15 16:54 ` Matthew Whitehead
2018-02-16 10:50 ` [tip:x86/urgent] x86/Kconfig: Explicitly enumerate i686-class CPUs " tip-bot for Matthew Whitehead
2018-02-16 10:49 ` [tip:x86/urgent] x86/Kconfig: Add missing i586-class CPUs to the X86_CMPXCHG64 Kconfig group tip-bot for Matthew Whitehead
2018-02-16 14:17 ` [PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to " Andy Shevchenko
3 siblings, 1 reply; 9+ messages in thread
From: Matthew Whitehead @ 2018-02-15 16:54 UTC (permalink / raw)
To: tglx, mingo, hpa, x86, linux-kernel; +Cc: Matthew Whitehead
The X86_P6_NOP config class leaves out many i686-class cpus. Instead,
explicitly enumerate all these cpus.
Using a configuration with M686 currently sets X86_MINIMUM_CPU_FAMILY=5
instead of the correct value 6.
Booting on an i586 it will fail to generate the "This kernel
requires an i686 CPU, but only detected an i586 CPU" message and
intentional halt as expected. It will instead just silently hang
when it hits i686-specific instructions.
Signed-off-by: Matthew Whitehead <tedheadster@gmail.com>
---
arch/x86/Kconfig.cpu | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index ec64aa7..8b8d229 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -385,7 +385,7 @@ config X86_CMOV
config X86_MINIMUM_CPU_FAMILY
int
default "64" if X86_64
- default "6" if X86_32 && X86_P6_NOP
+ default "6" if X86_32 && (MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MATOM || MCRUSOE || MCORE2 || MK7 || MK8)
default "5" if X86_32 && X86_CMPXCHG64
default "4"
--
1.8.3.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [tip:x86/urgent] x86/Kconfig: Explicitly enumerate i686-class CPUs in Kconfig
2018-02-15 16:54 ` [PATCH 3/3] x86/Kconfig : Explicitly enumerate i686-class cpus in Kconfig Matthew Whitehead
@ 2018-02-16 10:50 ` tip-bot for Matthew Whitehead
0 siblings, 0 replies; 9+ messages in thread
From: tip-bot for Matthew Whitehead @ 2018-02-16 10:50 UTC (permalink / raw)
To: linux-tip-commits
Cc: hpa, linux-kernel, dvlasenk, brgerst, mingo, tglx, tedheadster,
torvalds, jpoimboe, peterz, bp, arjan, luto
Commit-ID: 25d76ac888216c369dea91768764728b83769799
Gitweb: https://git.kernel.org/tip/25d76ac888216c369dea91768764728b83769799
Author: Matthew Whitehead <tedheadster@gmail.com>
AuthorDate: Thu, 15 Feb 2018 11:54:56 -0500
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 16 Feb 2018 10:36:39 +0100
x86/Kconfig: Explicitly enumerate i686-class CPUs in Kconfig
The X86_P6_NOP config class leaves out many i686-class CPUs. Instead,
explicitly enumerate all these CPUs.
Using a configuration with M686 currently sets X86_MINIMUM_CPU_FAMILY=5
instead of the correct value of 6.
Booting on an i586 it will fail to generate the "This kernel
requires an i686 CPU, but only detected an i586 CPU" message and
intentional halt as expected. It will instead just silently hang
when it hits i686-specific instructions.
Signed-off-by: Matthew Whitehead <tedheadster@gmail.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1518713696-11360-3-git-send-email-tedheadster@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/Kconfig.cpu | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index ec64aa7..8b8d229 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -385,7 +385,7 @@ config X86_CMOV
config X86_MINIMUM_CPU_FAMILY
int
default "64" if X86_64
- default "6" if X86_32 && X86_P6_NOP
+ default "6" if X86_32 && (MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MATOM || MCRUSOE || MCORE2 || MK7 || MK8)
default "5" if X86_32 && X86_CMPXCHG64
default "4"
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [tip:x86/urgent] x86/Kconfig: Add missing i586-class CPUs to the X86_CMPXCHG64 Kconfig group
2018-02-15 16:54 [PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group Matthew Whitehead
2018-02-15 16:54 ` [PATCH 2/3] x86/Kconfig : Exclude i586-class cpus lacking PAE support from HIGHMEM64G " Matthew Whitehead
2018-02-15 16:54 ` [PATCH 3/3] x86/Kconfig : Explicitly enumerate i686-class cpus in Kconfig Matthew Whitehead
@ 2018-02-16 10:49 ` tip-bot for Matthew Whitehead
2018-02-16 14:17 ` [PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to " Andy Shevchenko
3 siblings, 0 replies; 9+ messages in thread
From: tip-bot for Matthew Whitehead @ 2018-02-16 10:49 UTC (permalink / raw)
To: linux-tip-commits
Cc: dvlasenk, hpa, peterz, jpoimboe, linux-kernel, tglx, brgerst, bp,
arjan, tedheadster, mingo, torvalds, luto
Commit-ID: f960cfd12650fad43c1cde07a1f7642cf2c57f97
Gitweb: https://git.kernel.org/tip/f960cfd12650fad43c1cde07a1f7642cf2c57f97
Author: Matthew Whitehead <tedheadster@gmail.com>
AuthorDate: Thu, 15 Feb 2018 11:54:54 -0500
Committer: Ingo Molnar <mingo@kernel.org>
CommitDate: Fri, 16 Feb 2018 10:36:39 +0100
x86/Kconfig: Add missing i586-class CPUs to the X86_CMPXCHG64 Kconfig group
Several i586-class CPUs supporting this instruction are missing from
the X86_CMPXCHG64 config group.
Using a configuration with either M586TSC or M586MMX currently sets
X86_MINIMUM_CPU_FAMILY=4 instead of the correct value of 5.
Booting on an i486 it will fail to generate the "This kernel
requires an i586 CPU, but only detected an i486 CPU" message and
intentional halt as expected. It will instead just silently hang
when it hits i586-specific instructions.
The M586 CPU is not in this list because at least the Cyrix 5x86
lacks this instruction, and perhaps others.
Signed-off-by: Matthew Whitehead <tedheadster@gmail.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1518713696-11360-1-git-send-email-tedheadster@gmail.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
arch/x86/Kconfig.cpu | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu
index 65a9a47..ec64aa7 100644
--- a/arch/x86/Kconfig.cpu
+++ b/arch/x86/Kconfig.cpu
@@ -374,7 +374,7 @@ config X86_TSC
config X86_CMPXCHG64
def_bool y
- depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM
+ depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586TSC || M586MMX || MATOM || MGEODE_LX || MGEODEGX1 || MK6 || MK7 || MK8
# this should be set for all -march=.. options where the compiler
# generates cmov.
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group
2018-02-15 16:54 [PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group Matthew Whitehead
` (2 preceding siblings ...)
2018-02-16 10:49 ` [tip:x86/urgent] x86/Kconfig: Add missing i586-class CPUs to the X86_CMPXCHG64 Kconfig group tip-bot for Matthew Whitehead
@ 2018-02-16 14:17 ` Andy Shevchenko
2018-02-16 15:08 ` tedheadster
3 siblings, 1 reply; 9+ messages in thread
From: Andy Shevchenko @ 2018-02-16 14:17 UTC (permalink / raw)
To: Matthew Whitehead
Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86,
Linux Kernel Mailing List
On Thu, Feb 15, 2018 at 6:54 PM, Matthew Whitehead
<tedheadster@gmail.com> wrote:
> Several i586-class cpus supporting this instruction are missing from
> the X86_CMPXCHG64 config group.
What about Intel Quark? MinuteIA core which is currently set as M586TSC.
> Using a configuration with either M586TSC or M586MMX currently sets
> X86_MINIMUM_CPU_FAMILY=4 instead of the correct value 5.
Are you sure about this? See above.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group
2018-02-16 14:17 ` [PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to " Andy Shevchenko
@ 2018-02-16 15:08 ` tedheadster
2018-02-16 16:32 ` Andy Shevchenko
0 siblings, 1 reply; 9+ messages in thread
From: tedheadster @ 2018-02-16 15:08 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86,
Linux Kernel Mailing List
Andy
On Fri, Feb 16, 2018 at 9:17 AM, Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
> On Thu, Feb 15, 2018 at 6:54 PM, Matthew Whitehead
> <tedheadster@gmail.com> wrote:
>> Several i586-class cpus supporting this instruction are missing from
>> the X86_CMPXCHG64 config group.
>
> What about Intel Quark? MinuteIA core which is currently set as M586TSC.
>
I am unsure what you are asking here. I do not see any option for
Intel Quark processor types in arch/x86/Kconfig.cpu. Are you saying
there should be one?
Or perhaps you are saying that Intel Quark is currently set for
M586TSC and it lacks the CMPXCHG64 instruction? If so, I would change
my config option from M586TSC to M586.
>> Using a configuration with either M586TSC or M586MMX currently sets
>> X86_MINIMUM_CPU_FAMILY=4 instead of the correct value 5.
>
> Are you sure about this? See above.
>
Yes I am sure of this, I tested it very well. A similar problem
happens with an M686 configuration for a different reason.
- Matthew
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 1/3] x86/Kconfig : Add missing i586-class cpus to X86_CMPXCHG64 Kconfig group
2018-02-16 15:08 ` tedheadster
@ 2018-02-16 16:32 ` Andy Shevchenko
0 siblings, 0 replies; 9+ messages in thread
From: Andy Shevchenko @ 2018-02-16 16:32 UTC (permalink / raw)
To: whiteheadm
Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86,
Linux Kernel Mailing List
On Fri, Feb 16, 2018 at 5:08 PM, tedheadster <tedheadster@gmail.com> wrote:
> On Fri, Feb 16, 2018 at 9:17 AM, Andy Shevchenko
> <andy.shevchenko@gmail.com> wrote:
>> On Thu, Feb 15, 2018 at 6:54 PM, Matthew Whitehead
>> <tedheadster@gmail.com> wrote:
>>> Several i586-class cpus supporting this instruction are missing from
>>> the X86_CMPXCHG64 config group.
>>
>> What about Intel Quark? MinuteIA core which is currently set as M586TSC.
> I am unsure what you are asking here. I do not see any option for
> Intel Quark processor types in arch/x86/Kconfig.cpu. Are you saying
> there should be one?
> Or perhaps you are saying that Intel Quark is currently set for
> M586TSC and it lacks the CMPXCHG64 instruction?
This is a good question.
The CPUID tells us family 5, model 9.
> If so, I would change
> my config option from M586TSC to M586.
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 9+ messages in thread