[Pkg-xen-devel] Re: libc6-xen not used on AMD Geode LX system

Jérôme jerome.bertorelle at free.fr
Tue Jan 9 22:40:00 CET 2007


Aurelien Jarno wrote:
> Jérôme a écrit :
>   
>>     Hi,
>>
>>     I'm trying to install xen+Debian Etch on a Geode LX system. Xen 
>> boots fine, but although the package "libc6-xen" is installed I have a 
>> large number of such errors:
>>        4gb seg fixup, process syslogd (pid 1878), cs:ip 73:b7f24610
>>
>>     All processes triggers it, and from what I've found on the web it's 
>> a sign that libc6-xen is not recognized. Indeed:
>>     minimo:~:2# ldd /bin/echo
>>         linux-gate.so.1 =>  (0xffffe000)
>>         libc.so.6 => /lib/tls/libc.so.6 (0xb7e48000)
>>         /lib/ld-linux.so.2 (0xb7f82000)
>>
>>     It's /lib/tls and not /lib/tls/i686/cmov.
>>
>>     I have found on the web references to this issue for FC6, with a fix 
>> ("hwcap 0 nosegneg" in a file in /etc/ld.so.conf.d, and put the libs in 
>> /lib/tls/i686/cmov/nosegneg, ldconfig) but this does not help here. So 
>> it may be a capability issue?
>>
>>     When I look at the hardware capabilities needed with "ldconfig -Nv | 
>> grep '^/'" I get:
>>     lib/tls:        (hwcap: 0x8000000000000000)
>>     /usr/lib/i486:        (hwcap:    0x2000000000000)
>>     /usr/lib/i686:        (hwcap:    0x8000000000000)
>>     /usr/lib/i586:        (hwcap:    0x4000000000000)
>>     /lib/tls/i686:        (hwcap: 0x8008000000000000)
>>     /usr/lib/i686/cmov:    (hwcap:    0x8000000008000)
>>     /lib/tls/i686/cmov:    (hwcap: 0x8008000000008000)
>>
>>     0x8000 is CMOV support, which is present on the Geode LX. Here's the 
>> whole CPU info:
>>     minimo:~:3# cat /proc/cpuinfo
>>     processor       : 0
>>     vendor_id       : AuthenticAMD
>>     cpu family      : 5
>>     model           : 10
>>     model name      : Geode(TM) Integrated Processor by AMD PCS
>>     stepping        : 2
>>     cpu MHz         : 499.919
>>     cache size      : 128 KB
>>     fdiv_bug        : no
>>     hlt_bug         : no
>>     f00f_bug        : no
>>     coma_bug        : no
>>     fpu             : yes
>>     fpu_exception   : yes
>>     cpuid level     : 1
>>     wp              : yes
>>     flags           : fpu de pse tsc msr cx8 sep pge cmov clflush mmx 
>> mmxext 3dnowext 3dnow up
>>     bogomips        : 1001.25
>>
>>     The upper bit is required for TLS, so it's not the problem as TLS is 
>> supported. So it should be the middle bit 0x8000000000000 that is not 
>> supported. I found a reference to "MP support" but that seems weird --- 
>> why would MP support be required here?
>>     
>
> This bit means than you need a 686 CPU. This seems to be the case as you
> are using a -686 kernel, but it seems it is not correctly detected by
> the kernel. You can try to move the files from /lib/tls/i686/cmov into
> /lib/tls/i586/cmov, then run ldconfig and try again. Be aware that it
> can crash your system if your CPU really doesn't support 686 instructions.
>   
Thanks, that worked perfectly: the Xen libs are found, and after a 
reboot the virtual machines works perfectly. According to its data book 
the Geode LX is i686 compatible, see the Pentium Pro reference below:
"The instruction set supported by the core is a combination
of Intel’s Pentium, the AMD-K6 microprocessor and the
Athlon FPU, and the AMD Geode LX processor specific
instructions. Specifically, it supports the Pentium, Pentium
Pro, 3DNow! technology for the AMD-K6 and Athlon processors,
and MMX instructions for the Athlon processor."

So it seems to be a bug in the capability handling of ldconfig.

Thanks again,

Jérôme





More information about the Pkg-xen-devel mailing list