diff --git a/hal/halx86/apic/tsc.c b/hal/halx86/apic/tsc.c index 9963156caac..2de7406097a 100644 --- a/hal/halx86/apic/tsc.c +++ b/hal/halx86/apic/tsc.c @@ -115,6 +115,7 @@ HalpInitializeTsc(VOID) } +CODE_SEG("INIT") VOID NTAPI HalpCalibrateStallExecution(VOID) diff --git a/hal/halx86/generic/systimer.S b/hal/halx86/generic/systimer.S index be41fe1f179..0f19957db13 100644 --- a/hal/halx86/generic/systimer.S +++ b/hal/halx86/generic/systimer.S @@ -11,10 +11,6 @@ #include -EXTERN _HalpAcquireCmosSpinLock@0:PROC -EXTERN _HalpReleaseCmosSpinLock@0:PROC -EXTERN _DbgBreakPoint@0:PROC - #define PIC1_BASE HEX(20) /* IO base address for master PIC */ #define PIC2_BASE HEX(A0) /* IO base address for slave PIC */ #define PIC1_COMMAND PIC1_BASE @@ -38,6 +34,15 @@ EXTERN _DbgBreakPoint@0:PROC /* FUNCTIONS *****************************************************************/ .code + +#ifdef _USE_ML +INIT_ASM SEGMENT PARA PUBLIC USE32 READ WRITE EXECUTE DISCARD +#endif + +EXTERN _HalpAcquireCmosSpinLock@0:PROC +EXTERN _HalpReleaseCmosSpinLock@0:PROC +EXTERN _DbgBreakPoint@0:PROC + PUBLIC _HalpCalibrateStallExecution@0 _HalpCalibrateStallExecution@0: @@ -340,8 +345,10 @@ AndItsNotYou: pop ebp ret +#ifdef _USE_ML +INIT_ASM ENDS +#endif -#ifndef _MINIHAL_ PUBLIC _KeStallExecutionProcessor@4 _KeStallExecutionProcessor@4: @@ -367,6 +374,5 @@ SubtractLoop: Done: /* Return */ ret 4 -#endif END diff --git a/hal/halx86/include/halp.h b/hal/halx86/include/halp.h index 9976ee2e3d1..cc1acd8e9c4 100644 --- a/hal/halx86/include/halp.h +++ b/hal/halx86/include/halp.h @@ -254,6 +254,7 @@ typedef struct _HALP_ROLLOVER ULONG Increment; } HALP_ROLLOVER, *PHALP_ROLLOVER; +CODE_SEG("INIT") VOID NTAPI HalpCalibrateStallExecution(VOID); diff --git a/hal/halx86/minihal/CMakeLists.txt b/hal/halx86/minihal/CMakeLists.txt index 13faf2ee5fc..a89d11cc7ec 100644 --- a/hal/halx86/minihal/CMakeLists.txt +++ b/hal/halx86/minihal/CMakeLists.txt @@ -41,8 +41,7 @@ else() ../generic/reboot.c) endif() -add_asm_files(mini_hal_asm ../generic/systimer.S) -add_library(mini_hal ${MINI_HAL_SOURCE} ${mini_hal_asm}) +add_library(mini_hal ${MINI_HAL_SOURCE}) target_compile_definitions(mini_hal PRIVATE _BLDR_ _NTSYSTEM_) add_dependencies(mini_hal psdk bugcodes asm) add_pch(mini_hal ../include/hal.h MINI_HAL_SOURCE) diff --git a/hal/halx86/pc98/delay.c b/hal/halx86/pc98/delay.c index 37ab5776829..7561a1caff7 100644 --- a/hal/halx86/pc98/delay.c +++ b/hal/halx86/pc98/delay.c @@ -14,6 +14,7 @@ /* PRIVATE FUNCTIONS *********************************************************/ +CODE_SEG("INIT") VOID NTAPI HalpCalibrateStallExecution(VOID)