[HAL] Make HalpCalibrateStallExecution discardable

- Discard the RTC interrupt handler for MSVC builds. Unfortunately GAS doesn't have such a feature
- Remove the unused systimer.S file from MiniHAL compilation
This commit is contained in:
Dmitry Borisov
2026-03-29 12:12:58 +06:00
committed by Stanislav Motylkov
parent 7ee14831a1
commit 6eaae6d729
5 changed files with 16 additions and 8 deletions

View File

@@ -115,6 +115,7 @@ HalpInitializeTsc(VOID)
}
CODE_SEG("INIT")
VOID
NTAPI
HalpCalibrateStallExecution(VOID)

View File

@@ -11,10 +11,6 @@
#include <ks386.inc>
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

View File

@@ -254,6 +254,7 @@ typedef struct _HALP_ROLLOVER
ULONG Increment;
} HALP_ROLLOVER, *PHALP_ROLLOVER;
CODE_SEG("INIT")
VOID
NTAPI
HalpCalibrateStallExecution(VOID);

View File

@@ -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)

View File

@@ -14,6 +14,7 @@
/* PRIVATE FUNCTIONS *********************************************************/
CODE_SEG("INIT")
VOID
NTAPI
HalpCalibrateStallExecution(VOID)