diff --git a/xtoskrnl/CMakeLists.txt b/xtoskrnl/CMakeLists.txt index d6a2f57..26282a9 100644 --- a/xtoskrnl/CMakeLists.txt +++ b/xtoskrnl/CMakeLists.txt @@ -22,6 +22,7 @@ list(APPEND LIBXTOS_SOURCE # Specify list of kernel source code files list(APPEND XTOSKRNL_SOURCE + ${XTOSKRNL_SOURCE_DIR}/ar/${ARCH}/archsmp.S ${XTOSKRNL_SOURCE_DIR}/ar/${ARCH}/archsup.S ${XTOSKRNL_SOURCE_DIR}/ar/${ARCH}/cpufunc.c ${XTOSKRNL_SOURCE_DIR}/ar/${ARCH}/globals.c diff --git a/xtoskrnl/ar/amd64/archsmp.S b/xtoskrnl/ar/amd64/archsmp.S new file mode 100644 index 0000000..c71d7fc --- /dev/null +++ b/xtoskrnl/ar/amd64/archsmp.S @@ -0,0 +1,28 @@ +/** + * PROJECT: ExectOS + * COPYRIGHT: See COPYING.md in the top level directory + * FILE: xtoskrnl/ar/amd64/archsmp.S + * DESCRIPTION: AP bootstrap code for AMD64 architecture + * DEVELOPERS: Aiken Harris + */ + +#include + +.altmacro +.text + + +.global ArStartApplicationProcessor +ArStartApplicationProcessor: + /* 16-bit code (real mode) */ + .code16 + + cli + cld + hlt + + /* 32-bit code (protected mode) */ + .code32 + + /* 64-bit code (long mode) */ + .code64 diff --git a/xtoskrnl/ar/amd64/archsup.S b/xtoskrnl/ar/amd64/archsup.S index 3c530c4..1c18ab2 100644 --- a/xtoskrnl/ar/amd64/archsup.S +++ b/xtoskrnl/ar/amd64/archsup.S @@ -12,21 +12,6 @@ .text -.global ArStartApplicationProcessor -ArStartApplicationProcessor: - /* 16-bit code (real mode) */ - .code16 - - cli - cld - hlt - - /* 32-bit code (protected mode) */ - .code32 - - /* 64-bit code (long mode) */ - .code64 - /** * This macro creates a trap handler for the specified vector. * diff --git a/xtoskrnl/ar/i686/archsmp.S b/xtoskrnl/ar/i686/archsmp.S new file mode 100644 index 0000000..3f1f56f --- /dev/null +++ b/xtoskrnl/ar/i686/archsmp.S @@ -0,0 +1,25 @@ +/** + * PROJECT: ExectOS + * COPYRIGHT: See COPYING.md in the top level directory + * FILE: xtoskrnl/ar/i686/archsmp.S + * DESCRIPTION: AP bootstrap code for i686 architecture + * DEVELOPERS: Aiken Harris + */ + +#include + +.altmacro +.text + + +.global ArStartApplicationProcessor +ArStartApplicationProcessor: + /* 16-bit code (real mode) */ + .code16 + + cli + cld + hlt + + /* 32-bit code (protected mode) */ + .code32 diff --git a/xtoskrnl/ar/i686/archsup.S b/xtoskrnl/ar/i686/archsup.S index dec4396..e80ac42 100644 --- a/xtoskrnl/ar/i686/archsup.S +++ b/xtoskrnl/ar/i686/archsup.S @@ -12,18 +12,6 @@ .text -.global _ArStartApplicationProcessor -_ArStartApplicationProcessor: - /* 16-bit code (real mode) */ - .code16 - - cli - cld - hlt - - /* 32-bit code (protected mode) */ - .code32 - /** * This macro creates a trap handler for the specified vector. *