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