Add stubs for allocating and freeing kernel stacks
All checks were successful
ci/woodpecker/push/build Pipeline was successful

This commit is contained in:
Rafal Kupiec 2023-02-14 22:35:16 +01:00
parent d8bc45e3bb
commit 28b760b089
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4
3 changed files with 60 additions and 0 deletions

View File

@ -48,7 +48,9 @@
/* XT status code definitions */
#define STATUS_SUCCESS ((XTSTATUS) 0x00000000L)
#define STATUS_NOT_IMPLEMENTED ((XTSTATUS) 0xC0000002L)
#define STATUS_INVALID_PARAMETER ((XTSTATUS) 0xC000000DL)
#define STATUS_INSUFFICIENT_RESOURCES ((XTSTATUS) 0xC000009AL)
#define STATUS_DEVICE_NOT_READY ((XTSTATUS) 0xC00000A3L)
#define STATUS_IO_DEVICE_ERROR ((XTSTATUS) 0xC0000185L)
#define STATUS_NOT_FOUND ((XTSTATUS) 0xC0000225L)

View File

@ -20,6 +20,7 @@ list(APPEND XTOSKRNL_SOURCE
${XTOSKRNL_SOURCE_DIR}/ke/krnlinit.c
${XTOSKRNL_SOURCE_DIR}/ke/${ARCH}/krnlinit.c
${XTOSKRNL_SOURCE_DIR}/ke/${ARCH}/proc.c
${XTOSKRNL_SOURCE_DIR}/mm/kpools.c
${XTOSKRNL_SOURCE_DIR}/rtl/atomic.c
${XTOSKRNL_SOURCE_DIR}/rtl/byteswap.c
${XTOSKRNL_SOURCE_DIR}/rtl/memory.c

57
xtoskrnl/mm/kpools.c Normal file
View File

@ -0,0 +1,57 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/mm/kpools.c
* DESCRIPTION: Kernel pool memory management
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#include <xtos.h>
/**
* Allocates a new kernel stack.
*
* @param Stack
* Supplies a pointer to the memory area that will contain a new kernel stack.
*
* @param LargeStack
* Determines whether the stack is large or small.
*
* @param SystemNode
* Specifies a preferred node used for new stack on multi-processor systems.
*
* @return This routine returns a status code.
*
* @since XT 1.0
*/
XTAPI
XTSTATUS
MmAllocateKernelStack(IN PVOID *Stack,
IN BOOLEAN LargeStack,
IN UCHAR SystemNode)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
}
/**
* Destroys a kernel stack and frees page table entry.
*
* @param Stack
* Supplies a pointer to the memory area containing a kernel stack.
*
* @param LargeStack
* Determines whether the stack is large or small.
*
* @return This routine does not return any value.
*
* @since XT 1.0
*/
XTAPI
VOID
MmFreeKernelStack(IN PVOID Stack,
IN BOOLEAN LargeStack)
{
UNIMPLEMENTED;
}