diff --git a/xtoskrnl/ar/amd64/procsup.c b/xtoskrnl/ar/amd64/procsup.c index fee75cc..ab3d966 100644 --- a/xtoskrnl/ar/amd64/procsup.c +++ b/xtoskrnl/ar/amd64/procsup.c @@ -71,6 +71,12 @@ ArInitializeProcessor(VOID) ArpIdentifyProcessor(); } +XTAPI +VOID +ArpIdentifyProcessor(VOID) +{ +} + /** * Initializes the kernel's Global Descriptor Table (GDT). * diff --git a/xtoskrnl/ar/i686/procsup.c b/xtoskrnl/ar/i686/procsup.c index 4e03de8..a22206e 100644 --- a/xtoskrnl/ar/i686/procsup.c +++ b/xtoskrnl/ar/i686/procsup.c @@ -53,11 +53,20 @@ ArInitializeProcessor(VOID) ArLoadInterruptDescriptorTable(&IdtDescriptor.Limit); ArLoadTaskRegister((UINT)KGDT_SYS_TSS); + /* Enter passive IRQ level */ + ProcessorBlock->Irql = PASSIVE_LEVEL; + /* Load FS segment */ ArLoadSegment(SEGMENT_FS, KGDT_R0_PB); - /* Enter passive IRQ level */ - ProcessorBlock->Irql = PASSIVE_LEVEL; + /* Identify processor */ + ArpIdentifyProcessor(); +} + +XTAPI +VOID +ArpIdentifyProcessor(VOID) +{ } /** diff --git a/xtoskrnl/includes/arpfuncs.h b/xtoskrnl/includes/arpfuncs.h index 78e5331..422c874 100644 --- a/xtoskrnl/includes/arpfuncs.h +++ b/xtoskrnl/includes/arpfuncs.h @@ -108,6 +108,10 @@ XTCDECL VOID ArpHandleTrapFF(); +XTAPI +VOID +ArpIdentifyProcessor(VOID); + XTAPI VOID ArpInitializeGdt(IN PKPROCESSOR_BLOCK ProcessorBlock);