AMD 64 SMP

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
yaocong
Posts: 22
Joined: Fri Sep 09, 2005 11:00 pm
Location: China
Contact:

AMD 64 SMP

Post by yaocong »

I would like to support SMP(multi-processors) in my kernel in amd64 paltform.

I would like to know that if SMP in amd64 is same as in IA-32 platform?
Could anybody give me a hint?

Thank you very much!
I like the Dream of the Red Chamber.
User avatar
xenos
Member
Member
Posts: 1121
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: AMD 64 SMP

Post by xenos »

My OS also supports AMD 64 SMP and the SMP detection and startup works exactly the same as on IA-32 SMP, at least before enabling long mode. It detects the MP config table, determines the number of processors and boots them up via IPI. Then they are switched to long mode.

The APICs and IPIs also work almost the same way as on IA-32, except that in long mode interrupt handling is different, of course.

For testing this you can use the free AMD SimNow! emulator which runs on a AMD 64 UP and simulates both UP and SMP machines.
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
yaocong
Posts: 22
Joined: Fri Sep 09, 2005 11:00 pm
Location: China
Contact:

Re: AMD 64 SMP

Post by yaocong »

thank you very much.

Actually ,I do not know how to use SMP in IA-32 or AMD64 Platform. ^-^

If there was any source code that can run rightly,I would be very appreciated ! ^_^
Last edited by yaocong on Sat Mar 25, 2006 12:00 am, edited 1 time in total.
I like the Dream of the Red Chamber.
User avatar
xenos
Member
Member
Posts: 1121
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: AMD 64 SMP

Post by xenos »

The most important thing to read is the multiprocessor specification:
http://www.intel.com/design/pentium/datashts/242016.htm
It covers the basic SMP detection and initialization. I also have some code on this and I'll upload it as soon as I find the time to put it in a clean form and maybe comment it...
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
yaocong
Posts: 22
Joined: Fri Sep 09, 2005 11:00 pm
Location: China
Contact:

Re: AMD 64 SMP

Post by yaocong »

Thank you again,
And IF you had uploaded it,please notify me by replying a post to this topic "AMD 64 SMP".

Thanks guy!
I like the Dream of the Red Chamber.
Post Reply