Support for Intel X1000
Rich Felker
dalias@libc.org
Tue May 12 14:04:00 GMT 2015
On Tue, May 12, 2015 at 10:28:11AM +0000, Kinsella, Ray wrote:
> Hi all,
>
> The Intel X1000 (32bit Pentium ISA) has a bug on the LOCK prefix,
> that cannot be fixed with an updated microcode and cannot be worked
> around by trapping elsewhere (in the Linux Kernel). This bug results in
> segfaults anywhere LOCK prefix has been used (lowlevel locks, atomics
> etc)
>
> The only workable solution is the following steps:-
>
> 1. Not using the LOCK prefix on the Intel X1000. This can be achieved
> either by defining UP (uniprocessor) or telling the assembler to omit
> the LOCK prefix "momit-lock-prefix=yes".
>
> 2. OS builders creating a UP version of glibc targeted for the X1000.
> The runtime linker then decides which glibc to load based on a HWCAP,
> in a similar way to how the Xen specific glibc is loaded.
>
> Clearly no changes are needed to glibc for this - as it already provides
> a UP build, however I wanted to socialize the approach to fixing the
> issue
> for comments here. Relevant patches will land with:-
>
> 1. The OS - LKML for the Linux Kernel to indicate a HWCAP for the
> broken LOCK prefix on X1000.
> 2. The OS Builders - Debian and others to build a version of glibc
> specifically to work around this issue and put there library where
> the runtime linker can find it.
>
> Feedback is welcome.
Since you asked for feedback, my feedback is that Intel needs to
recall this CPU model and replace all affected units.
Rich
More information about the Libc-alpha
mailing list