summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/HALKit/ARM64/HalCoreMPScheduler.cc
blob: fe055db8a246d9576b4d0c92d337d400c6d91a23 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* -------------------------------------------

	Copyright (C) 2024, Theater Quality Corp, all rights reserved.

------------------------------------------- */

#include <Mod/ACPI/ACPIFactoryInterface.h>
#include <KernelKit/UserProcessScheduler.h>

using namespace Kernel;

STATIC struct PROCESS_CONTROL_BLOCK final
{
	HAL::StackFramePtr f_Frame;
	UInt8*			   f_Stack;
	VoidPtr			   f_Image;
} kProcessBlocks[kSchedProcessLimitPerTeam] = {0};

EXTERN_C HAL::StackFramePtr mp_get_current_context(ProcessID pid)
{
	return kProcessBlocks[pid % kSchedProcessLimitPerTeam].f_Frame;
}

EXTERN_C Bool mp_register_process(VoidPtr image, UInt8* stack_ptr, HAL::StackFramePtr stack_frame, ProcessID pid)
{
	MUST_PASS(image && stack_ptr && stack_frame);
	return No;
}