Re: [systemd-devel] rdrand generated with march=winchip-c6 in systemd-241

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 11, 2019 at 1:19 PM tedheadster <tedheadster@xxxxxxxxx> wrote:
>
> On Sat, May 11, 2019 at 12:30 PM Florian Weimer <fw@xxxxxxxxxxxxx> wrote:
> > Can you capture register contents at the point of the crash?
> >
> > Does this reproduce in a chroot?  Maybe you can trace the whole thing
> > with a debugger.  Does the crash reproduce if you single-step through
> > the whole function?
>
> Florian,
>   I figured out the problem, I just haven't written code to fix it.
> The documentation I can find is silent about what is returned in %ecx
> and %ebx when calling cpuid function 0x00000001 on IDT Winchip-C6 and
> Winchip2.
>
> I think %ecx  should properly contain 0x00000000, but it instead puts
> the 'auls' characters from cpuid function 0x00000000 (vendor string
> 'CentaurHauls') in %ecx:

Just a guess: I wonder if that 'auls' value is left over from the
previous CPUID result. If that's the case, a simple solution might be
to zero-out ebx, ecx, and edx in __cpuid().



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux