Implement RtlGetStackLimits() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
This commit is contained in:
parent
d28687631b
commit
b1c2b209e3
22
sdk/xtdk/amd64/rtlfuncs.h
Normal file
22
sdk/xtdk/amd64/rtlfuncs.h
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/**
|
||||||
|
* PROJECT: ExectOS
|
||||||
|
* COPYRIGHT: See COPYING.md in the top level directory
|
||||||
|
* FILE: sdk/xtdk/amd64/rtlfuncs.h
|
||||||
|
* DESCRIPTION: XT runtime library routines specific to AMD64 architecture
|
||||||
|
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __XTDK_AMD64_RTLFUNCS_H
|
||||||
|
#define __XTDK_AMD64_RTLFUNCS_H
|
||||||
|
|
||||||
|
#include <xtdefs.h>
|
||||||
|
#include <xtstruct.h>
|
||||||
|
#include <xttypes.h>
|
||||||
|
|
||||||
|
|
||||||
|
XTAPI
|
||||||
|
VOID
|
||||||
|
RtlGetStackLimits(OUT PULONG_PTR StackBase,
|
||||||
|
OUT PULONG_PTR StackLimit);
|
||||||
|
|
||||||
|
#endif /* __XTDK_AMD64_RTLFUNCS_H */
|
22
sdk/xtdk/i686/rtlfuncs.h
Normal file
22
sdk/xtdk/i686/rtlfuncs.h
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
/**
|
||||||
|
* PROJECT: ExectOS
|
||||||
|
* COPYRIGHT: See COPYING.md in the top level directory
|
||||||
|
* FILE: sdk/xtdk/i686/rtlfuncs.h
|
||||||
|
* DESCRIPTION: XT runtime library routines specific to i686 architecture
|
||||||
|
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __XTDK_I686_RTLFUNCS_H
|
||||||
|
#define __XTDK_I686_RTLFUNCS_H
|
||||||
|
|
||||||
|
#include <xtdefs.h>
|
||||||
|
#include <xtstruct.h>
|
||||||
|
#include <xttypes.h>
|
||||||
|
|
||||||
|
|
||||||
|
XTAPI
|
||||||
|
VOID
|
||||||
|
RtlGetStackLimits(OUT PULONG_PTR StackBase,
|
||||||
|
OUT PULONG_PTR StackLimit);
|
||||||
|
|
||||||
|
#endif /* __XTDK_I686_RTLFUNCS_H */
|
@ -47,6 +47,7 @@
|
|||||||
/* Architecture specific XT routines*/
|
/* Architecture specific XT routines*/
|
||||||
#include ARCH_HEADER(arfuncs.h)
|
#include ARCH_HEADER(arfuncs.h)
|
||||||
#include ARCH_HEADER(hlfuncs.h)
|
#include ARCH_HEADER(hlfuncs.h)
|
||||||
|
#include ARCH_HEADER(rtlfuncs.h)
|
||||||
|
|
||||||
/* Callbacks */
|
/* Callbacks */
|
||||||
#include <kertptr.h>
|
#include <kertptr.h>
|
||||||
|
@ -26,7 +26,8 @@ list(APPEND XTOSKRNL_SOURCE
|
|||||||
${XTOSKRNL_SOURCE_DIR}/rtl/memory.c
|
${XTOSKRNL_SOURCE_DIR}/rtl/memory.c
|
||||||
${XTOSKRNL_SOURCE_DIR}/rtl/plist.c
|
${XTOSKRNL_SOURCE_DIR}/rtl/plist.c
|
||||||
${XTOSKRNL_SOURCE_DIR}/rtl/string.c
|
${XTOSKRNL_SOURCE_DIR}/rtl/string.c
|
||||||
${XTOSKRNL_SOURCE_DIR}/rtl/widestr.c)
|
${XTOSKRNL_SOURCE_DIR}/rtl/widestr.c
|
||||||
|
${XTOSKRNL_SOURCE_DIR}/rtl/${ARCH}/dispatch.c)
|
||||||
|
|
||||||
# Set module definition SPEC file
|
# Set module definition SPEC file
|
||||||
set_specfile(xtoskrnl.spec)
|
set_specfile(xtoskrnl.spec)
|
||||||
|
33
xtoskrnl/rtl/amd64/dispatch.c
Normal file
33
xtoskrnl/rtl/amd64/dispatch.c
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/**
|
||||||
|
* PROJECT: ExectOS
|
||||||
|
* COPYRIGHT: See COPYING.md in the top level directory
|
||||||
|
* FILE: xtoskrnl/rtl/amd64/dispatch.c
|
||||||
|
* DESCRIPTION: Dispatching support for AMD64 architecture
|
||||||
|
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <xtos.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the stack limits for the current thread.
|
||||||
|
*
|
||||||
|
* @param StackBase
|
||||||
|
* Supplies a pointer to memory area, where the stack base will be stored.
|
||||||
|
*
|
||||||
|
* @param StackLimit
|
||||||
|
* Suppliws a pointer to memory area, where the stack limit will be stored.
|
||||||
|
*
|
||||||
|
* @return This routine does not return any value.
|
||||||
|
*
|
||||||
|
* @since XT 1.0
|
||||||
|
*/
|
||||||
|
XTAPI
|
||||||
|
VOID
|
||||||
|
RtlGetStackLimits(OUT PULONG_PTR StackBase,
|
||||||
|
OUT PULONG_PTR StackLimit)
|
||||||
|
{
|
||||||
|
PKTHREAD Thread = KeGetCurrentThread();
|
||||||
|
*StackBase = (ULONG_PTR)Thread->StackBase;
|
||||||
|
*StackLimit = (ULONG_PTR)Thread->StackLimit;
|
||||||
|
}
|
33
xtoskrnl/rtl/i686/dispatch.c
Normal file
33
xtoskrnl/rtl/i686/dispatch.c
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/**
|
||||||
|
* PROJECT: ExectOS
|
||||||
|
* COPYRIGHT: See COPYING.md in the top level directory
|
||||||
|
* FILE: xtoskrnl/rtl/i686/dispatch.c
|
||||||
|
* DESCRIPTION: Dispatching support for i686 architecture
|
||||||
|
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <xtos.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the stack limits for the current thread.
|
||||||
|
*
|
||||||
|
* @param StackBase
|
||||||
|
* Supplies a pointer to memory area, where the stack base will be stored.
|
||||||
|
*
|
||||||
|
* @param StackLimit
|
||||||
|
* Suppliws a pointer to memory area, where the stack limit will be stored.
|
||||||
|
*
|
||||||
|
* @return This routine does not return any value.
|
||||||
|
*
|
||||||
|
* @since XT 1.0
|
||||||
|
*/
|
||||||
|
XTAPI
|
||||||
|
VOID
|
||||||
|
RtlGetStackLimits(OUT PULONG_PTR StackBase,
|
||||||
|
OUT PULONG_PTR StackLimit)
|
||||||
|
{
|
||||||
|
PKTHREAD Thread = KeGetCurrentThread();
|
||||||
|
*StackBase = (ULONG_PTR)Thread->StackBase - sizeof(FX_SAVE_AREA);
|
||||||
|
*StackLimit = (ULONG_PTR)Thread->StackLimit;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user