an initial commit of smpbootstrap. The 64-bit portion is not yet done. Short explanation:
commit90fd6bd8752858bb2718e1886d2adad79d867f11
authorschulz <schulz@fb15a70f-31f2-0310-bbcc-cdcc74a49acc>
Tue, 8 Apr 2008 20:54:02 +0000 (8 20:54 +0000)
committerschulz <schulz@fb15a70f-31f2-0310-bbcc-cdcc74a49acc>
Tue, 8 Apr 2008 20:54:02 +0000 (8 20:54 +0000)
treefa80ffc32199568a99d1531b7ba270a51dc50834
parent304649d6e83b45133183e274a7ffb2cd396af797
an initial commit of smpbootstrap. The 64-bit portion is not yet done. Short explanation:

When application processors in SMP environment are awaken, they start to execute some code in 16-bit real mode. This code set's 32-bit global descriptor table and jumps into 32-bit protected mode. The 32-bit portion prepares (loads) 64-bit global description table, enables 64-bit MMU paging and finally enables the long mode. Once whole setup is done, 32-bit code makes a far call to the 64-bit code which is expected to set the stack up and jump to the routine written in C which should know how to deal with an application processor.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@28262 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
arch/x86_64-pc/kernel/smpbootstrap.c [new file with mode: 0644]