SMP - AP won't start

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Enerccio
Posts: 10
Joined: Sat Sep 01, 2012 7:17 am

SMP - AP won't start

Post by Enerccio »

I tried to start my APs via this code: https://github.com/Enerccio/PIKOKernel/ ... task.c#L64 but they won't budge at all, not even entering real mode, where I have "debug print" (outb into com port): https://github.com/Enerccio/PIKOKernel/ ... try.s#L212
cmpxchg64
Posts: 12
Joined: Thu Dec 24, 2015 8:46 am
Libera.chat IRC: fi-matbah

Re: SMP - AP won't start

Post by cmpxchg64 »

Does your memcpy work with dword sizes? Because you should write with dword size into the APIC registers. If it tries to write with byte-sized instructions, the APIC maybe tries to send a message with incomplete data.
Enerccio
Posts: 10
Joined: Sat Sep 01, 2012 7:17 am

Re: SMP - AP won't start

Post by Enerccio »

cmpxchg64 wrote:Does your memcpy work with dword sizes? Because you should write with dword size into the APIC registers. If it tries to write with byte-sized instructions, the APIC maybe tries to send a message with incomplete data.
Hmm that is true, it indeed does not work with dword sizes, instead sends byte by byte, let me change it.
Enerccio
Posts: 10
Joined: Sat Sep 01, 2012 7:17 am

Re: SMP - AP won't start

Post by Enerccio »

Yep that was it, not my cpus actually boot (they still insta reset but at least it is something :D)
Post Reply