Jessica Clarke, le mar. 30 janv. 2024 02:32:07 +0000, a ecrit: > On 29 Jan 2024, at 10:20, Samuel Thibault <samuel.thiba...@gnu.org> wrote: > > > > Damien Zammit, le lun. 29 janv. 2024 10:07:30 +0000, a ecrit: > >> - ljmp $BOOT_CS, $M(0f) > >> + xorl %eax, %eax > >> + mov %cs, %ax > >> + shll $4, %eax > >> + addl $M(0f), %eax > >> + movl %eax, M(ljmp_offset32) > > > > This won't work with pipelined processors, which assume a complete > > separation between code and data, and will thus have already loaded > > the jmp instruction before your modify it. > > That’s true of most architectures, but not x86. It architecturally > guarantees that self-modifying code works,
?? It was a very common way to detect pentium processors, back in the time. > > Rather either perform the relocation from the C code, > > Were your statement true, that wouldn’t fix the problem, Isn't an IPI a synchronizing thing? Samuel