From 6b852556a53266013f9a627cc413f009d64b8f17 Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Wed, 13 May 2026 22:01:49 +0200 Subject: [PATCH] Replace magic numbers with architectural defines --- xtoskrnl/ar/amd64/archsup.S | 12 ++++++------ xtoskrnl/ar/i686/archsup.S | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/xtoskrnl/ar/amd64/archsup.S b/xtoskrnl/ar/amd64/archsup.S index 9bfd3f1..a9e482b 100644 --- a/xtoskrnl/ar/amd64/archsup.S +++ b/xtoskrnl/ar/amd64/archsup.S @@ -401,7 +401,7 @@ ArStartApplicationProcessor: /* Far return to enter 32-bit protected mode */ leal (ApEnterProtectedMode - ArStartApplicationProcessor)(%ebx), %eax - pushl $0x08 + pushl $KGDT_R0_CMCODE pushl %eax lretl @@ -410,7 +410,7 @@ ApEnterProtectedMode: .code32 /* Setup all data segment registers */ - movw $0x18, %ax + movw $KGDT_R0_DATA, %ax movw %ax, %ds movw %ax, %es movw %ax, %ss @@ -431,19 +431,19 @@ ApEnterProtectedMode: movl %eax, %cr3 /* Enable Long Mode and No-Execute */ - movl $0xC0000080, %ecx + movl $X86_MSR_EFER, %ecx rdmsr - orl $0x00000900, %eax + orl $(X86_MSR_EFER_LME | X86_MSR_EFER_NXE), %eax wrmsr /* Enable Paging */ movl %cr0, %eax - orl $0x80000000, %eax + orl $CR0_PG, %eax movl %eax, %cr0 /* Far return to enter 64-bit long mode */ leal (ApEnterLongMode - ArStartApplicationProcessor)(%ebx), %eax - pushl $0x10 + pushl $KGDT_R0_CODE pushl %eax lretl diff --git a/xtoskrnl/ar/i686/archsup.S b/xtoskrnl/ar/i686/archsup.S index 2b5e33a..6272dac 100644 --- a/xtoskrnl/ar/i686/archsup.S +++ b/xtoskrnl/ar/i686/archsup.S @@ -242,7 +242,7 @@ _ArHandleSpuriousInterrupt: */ .global _ArStartApplicationProcessor _ArStartApplicationProcessor: - /* Enter 16-bit (real mode) */ + /* Enter 16-bit real mode */ .code16 /* Disable interrupts and clear direction flag */ @@ -276,7 +276,7 @@ _ArStartApplicationProcessor: /* Far return to enter 32-bit protected mode */ leal (ApEnterProtectedMode - _ArStartApplicationProcessor)(%ebx), %eax - pushl $0x08 + pushl $KGDT_R0_CODE pushl %eax lretl @@ -285,7 +285,7 @@ ApEnterProtectedMode: .code32 /* Setup all data segment registers */ - movw $0x10, %ax + movw $KGDT_R0_DATA, %ax movw %ax, %ds movw %ax, %es movw %ax, %ss @@ -298,7 +298,7 @@ ApEnterProtectedMode: /* Load CR4 from BSP, but mask PCIDE and PGE */ movl PROCESSOR_START_BLOCK_Cr4(%edi), %eax - andl $~0x00020080, %eax + andl $~(CR4_PGE | CR4_PCIDE), %eax movl %eax, %cr4 /* Load the Kernel Page Directory Base from BSP */ @@ -307,7 +307,7 @@ ApEnterProtectedMode: /* Enable Paging */ movl %cr0, %eax - orl $0x80000000, %eax + orl $CR0_PG, %eax movl %eax, %cr0 /* Load dedicated Stack for AP */