Le 22/04/2018 à 01:25, Joerg Sonnenberger a écrit :
Module Name:    src
Committed By:   joerg
Date:           Sat Apr 21 23:25:01 UTC 2018

Modified Files:
        src/sys/arch/amd64/amd64: locore.S

Log Message:
Do not use movq for loading arbitrary 64bit immediates. The ISA
restricts it to 32bit immediates.


To generate a diff of this commit:
cvs rdiff -u -r1.163 -r1.164 src/sys/arch/amd64/amd64/locore.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Mmh. Is there a compiler where this makes a difference? On NetBSD/GGG it
doesn't (because if it did, SVS would never have worked), but I see that
on MacOS the instruction indeed makes a difference, the encoding becomes:

        movq    0x0, %rax

Which is obviously not what we expect.

Is this the problem you were having a few weeks ago? That is to say, the
kernel that was crashing at boot time, did you compile it on another
system/compiler that generated a "movq 0x0,%rax"?

Anyway your change seems correct.

Thanks,
Maxime

Reply via email to