reactos/ntoskrnl/rtl/i386/prefetch.S
Timo Kreuzer 4bd1e81998 [RTL] Get rid of x86 asm version of RtlpGetStackLimits
There is no point in writing this function in asm.
2023-11-10 19:00:41 +02:00

45 lines
1 KiB
ArmAsm

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS Kernel
* FILE: ntoskrnl/rtl/i386/stack.S
* PURPOSE: Stack Support for RTL
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
*/
/* INCLUDES ******************************************************************/
#include <asm.inc>
#include <ks386.inc>
EXTERN _KePrefetchNTAGranularity:DWORD
/* FUNCTIONS *****************************************************************/
.code
PUBLIC @RtlPrefetchMemoryNonTemporal@8
@RtlPrefetchMemoryNonTemporal@8:
/*
* Kernel will overwrite this to 'nop' during init
* if prefetchnta is available. Slight optimization
* as compared to checking KeI386XMMIPresent for every call.
*/
ret
/* Get granularity */
mov eax, [_KePrefetchNTAGranularity]
/* Prefetch this line */
FetchLine:
prefetchnta byte ptr [ecx]
/* Update address and count */
add ecx, eax
sub edx, eax
/* Keep looping for the next line, or return if done */
ja FetchLine
ret
END