Re: [PATCH gnumach] smp: Remove hardcoded AP_BOOT_ADDR

2024-01-30 Thread Samuel Thibault
Damien Zammit, le mar. 30 janv. 2024 01:55:32 +, a ecrit: > On 1/29/24 9:20 PM, Samuel Thibault wrote: > > Damien Zammit, le lun. 29 janv. 2024 10:07:30 +, a ecrit: > >> - ljmp$BOOT_CS, $M(0f) > >> + xorl%eax, %eax > >> + mov %cs, %ax > >> + shll$4, %eax > >> + addl

Re: [PATCH gnumach] smp: Remove hardcoded AP_BOOT_ADDR

2024-01-30 Thread Samuel Thibault
Hello, Jessica Clarke, le mar. 30 janv. 2024 16:07:29 +, a ecrit: > On 30 Jan 2024, at 09:02, Samuel Thibault wrote: > > > > Jessica Clarke, le mar. 30 janv. 2024 02:32:07 +, a ecrit: > >> On 29 Jan 2024, at 10:20, Samuel Thibault wrote: > >>> > >>> Damien Zammit, le lun. 29 janv.

Re: [PATCH gnumach] smp: Remove hardcoded AP_BOOT_ADDR

2024-01-30 Thread Jessica Clarke
On 30 Jan 2024, at 09:02, Samuel Thibault wrote: > > Jessica Clarke, le mar. 30 janv. 2024 02:32:07 +, a ecrit: >> On 29 Jan 2024, at 10:20, Samuel Thibault wrote: >>> >>> Damien Zammit, le lun. 29 janv. 2024 10:07:30 +, a ecrit: - ljmp $BOOT_CS, $M(0f) + xorl %eax, %eax

Re: [PATCH gnumach] smp: Remove hardcoded AP_BOOT_ADDR

2024-01-30 Thread Samuel Thibault
Jessica Clarke, le mar. 30 janv. 2024 02:32:07 +, a ecrit: > On 29 Jan 2024, at 10:20, Samuel Thibault wrote: > > > > Damien Zammit, le lun. 29 janv. 2024 10:07:30 +, a ecrit: > >> - ljmp $BOOT_CS, $M(0f) > >> + xorl %eax, %eax > >> + mov %cs, %ax > >> + shll $4, %eax > >> + addl $M(0f),

Re: [PATCH gnumach] smp: Remove hardcoded AP_BOOT_ADDR

2024-01-29 Thread Jessica Clarke
On 29 Jan 2024, at 10:20, Samuel Thibault wrote: > > Damien Zammit, le lun. 29 janv. 2024 10:07:30 +, 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

Re: [PATCH gnumach] smp: Remove hardcoded AP_BOOT_ADDR

2024-01-29 Thread Damien Zammit
Hi Samuel, On 1/29/24 9:20 PM, Samuel Thibault wrote: > Damien Zammit, le lun. 29 janv. 2024 10:07:30 +, 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) >

Re: [PATCH gnumach] smp: Remove hardcoded AP_BOOT_ADDR

2024-01-29 Thread Samuel Thibault
Damien Zammit, le lun. 29 janv. 2024 10:07:30 +, 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

[PATCH gnumach] smp: Remove hardcoded AP_BOOT_ADDR

2024-01-29 Thread Damien Zammit
This took some time to figure out. Involves hand-crafted 16 bit assembly instructions [1] because GNU AS does not fully understand real-mode x86. [1] Intel Architecture Software Developer's Manual, Volume 2: Instruction Set Reference Manual --- i386/i386/cpuboot.S | 32