Implement kernel lookaside lists
Some checks failed
Builds / ExectOS (i686, release) (push) Failing after 28s
Builds / ExectOS (i686, debug) (push) Failing after 29s
Builds / ExectOS (amd64, release) (push) Failing after 34s
Builds / ExectOS (amd64, debug) (push) Failing after 36s

This commit is contained in:
2026-06-23 19:05:04 +02:00
parent f66e27cf83
commit 8479c95e82
7 changed files with 418 additions and 5 deletions

34
xtoskrnl/ex/data.cc Normal file
View File

@@ -0,0 +1,34 @@
/**
* PROJECT: ExectOS
* COPYRIGHT: See COPYING.md in the top level directory
* FILE: xtoskrnl/ex/data.cc
* DESCRIPTION: Kernel Executive global and static data
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
*/
#include <xtos.hh>
/* Tracks all active non-paged lookaside lists in the system */
LIST_ENTRY EX::LookasideList::NonPagedLookasideListHead;
/* Spinlock protecting the integrity of the NonPagedLookasideListHead */
KSPIN_LOCK EX::LookasideList::NonPagedLookasideListLock;
/* Array of standard system lookaside lists for non-paged pool allocations */
GENERAL_LOOKASIDE EX::LookasideList::NonPagedPoolLookasideLists[POOL_LOOKASIDE_LISTS];
/* Tracks all active paged lookaside lists in the system */
LIST_ENTRY EX::LookasideList::PagedLookasideListHead;
/* Spinlock protecting the integrity of the PagedLookasideListHead */
KSPIN_LOCK EX::LookasideList::PagedLookasideListLock;
/* Array of standard system lookaside lists for paged pool allocations */
GENERAL_LOOKASIDE EX::LookasideList::PagedPoolLookasideLists[POOL_LOOKASIDE_LISTS];
/* Tracks all standard pool lookaside lists */
LIST_ENTRY EX::LookasideList::PoolLookasideListHead;
/* Tracks dynamic system lookaside lists */
LIST_ENTRY EX::LookasideList::SystemLookasideListHead;