lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 08 Jan 2024 11:57:47 -0800
From: "H. Peter Anvin" <hpa@...or.com>
To: Borislav Petkov <bp@...en8.de>, Aleksander Mazur <deweloper@...pl>
CC: Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>,
        Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] x86/Kconfig: Transmeta Crusoe is cpu family 5, not 6

On January 7, 2024 11:47:16 AM PST, Borislav Petkov <bp@...en8.de> wrote:
>On Sun, Jan 07, 2024 at 02:16:57PM +0100, Aleksander Mazur wrote:
>> I found out I am no longer able to boot kernel compiled with CONFIG_MCRUSOE=y on
>> my HP t5300 with CPU: Transmeta(tm) Crusoe(tm) Processor TM5500 (family: 0x5,
>> model: 0x4, stepping: 0x3). It says:
>> 
>> > This kernel requires an i686 CPU, but only detected an i586 CPU.
>> > Unable to boot - please use a kernel appropriate for your CPU.    
>> 
>> It looks like this is caused by 25d76ac888216c369dea91768764728b83769799 which
>> started setting X86_MINIMUM_CPU_FAMILY=6 for MCRUSOE while CPUID gives family=5.
>> 
>> I was able to fix the problem with a patch included below. It just changes
>> X86_MINIMUM_CPU_FAMILY to 5
>
>... for MCRUSOE.
>
>> No other change was necessary (using -march=i686
>> seems fine).
>> 
>> /proc/cpuinfo:
>> processor	: 0
>> vendor_id	: GenuineTMx86
>> cpu family	: 5
>> model		: 4
>> model name	: Transmeta(tm) Crusoe(tm) Processor TM5500
>> stepping	: 3
>> cpu MHz		: 532.091
>> cache size	: 256 KB
>> fdiv_bug	: no
>> f00f_bug	: no
>> coma_bug	: no
>> fpu		: yes
>> fpu_exception	: yes
>> cpuid level	: 1
>> wp		: yes
>> flags		: fpu vme de pse tsc msr cx8 sep cmov mmx longrun lrti constant_tsc cpuid
>> bugs		: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit mmio_unknown
>> bogomips	: 1064.18
>> clflush size	: 32
>> cache_alignment	: 32
>> address sizes	: 32 bits physical, 32 bits virtual
>> power management:
>> 
>> --- a/arch/x86/Kconfig.cpu
>> +++ b/arch/x86/Kconfig.cpu
>> @@ -375,7 +375,7 @@
>>  config X86_MINIMUM_CPU_FAMILY
>>  	int
>>  	default "64" if X86_64
>> -	default "6" if X86_32 && (MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MATOM || MCRUSOE || MCORE2 || MK7 || MK8)
>> +	default "6" if X86_32 && (MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MVIAC3_2 || MVIAC7 || MEFFICEON || MATOM || MCORE2 || MK7 || MK8)
>>  	default "5" if X86_32 && X86_CMPXCHG64
>>  	default "4"
>
>Care to turn this into a proper patch with your SOB etc?
>
>Thx.
>

This is correct; Crusoe (TM3xxx/5xxx) implemented a 686 user level ISA but a 586 system level ISA.

So please make a formal patch and add:

Acked-by: H. Peter Anvin <hpa@...or.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ