The Pedigree Project
0.1
src
system
include
pedigree
kernel
processor
arm64
arm64/ProcessorInformation.h
1
#ifndef KERNEL_PROCESSOR_ARM64_PROCESSORINFORMATION_H
2
#define KERNEL_PROCESSOR_ARM64_PROCESSORINFORMATION_H
3
4
#define _PROCESSOR_INFORMATION_ONLY_WANT_PROCESSORID
5
#include "pedigree/kernel/processor/ProcessorInformation.h"
6
#undef _PROCESSOR_INFORMATION_ONLY_WANT_PROCESSORID
7
8
#include "pedigree/kernel/process/RcuReadState.h"
9
#include "pedigree/kernel/processor/types.h"
10
11
class
VirtualAddressSpace
;
12
class
PerProcessorScheduler
;
13
class
Thread
;
14
class
DeviceHardIrqContext
;
15
class
SuspendDeviceHardIrqContext
;
16
17
class
Arm64ProcessorInformation
{
18
friend
class
ProcessorBase
;
19
friend
class
DeviceHardIrqContext
;
20
friend
class
SuspendDeviceHardIrqContext
;
21
22
public
:
23
VirtualAddressSpace
& getVirtualAddressSpace()
const
;
24
void
setVirtualAddressSpace(
VirtualAddressSpace
& space);
25
uintptr_t getKernelStack()
const
{
26
return
m_KernelStack;
27
}
28
void
setKernelStack(uintptr_t stack) {
29
m_KernelStack = stack;
30
}
31
Thread
* getCurrentThread()
const
{
32
return
m_Thread;
33
}
34
void
setCurrentThread(
Thread
* thread);
35
PerProcessorScheduler
& getScheduler();
36
RcuReadState
& rcuState() {
37
return
m_RcuState;
38
}
39
ProcessorId
processorId()
const
{
40
return
m_ProcessorId;
41
}
42
43
protected
:
44
explicit
Arm64ProcessorInformation
(
ProcessorId
id
);
45
~Arm64ProcessorInformation
();
46
47
private
:
48
ProcessorId
m_ProcessorId;
49
VirtualAddressSpace
* m_AddressSpace;
50
Thread
* m_Thread;
51
PerProcessorScheduler
* m_Scheduler;
52
uintptr_t m_KernelStack;
53
size_t
m_DeviceHardIrqDepth;
54
RcuReadState
m_RcuState;
55
};
56
57
#endif
Arm64ProcessorInformation
Definition
arm64/ProcessorInformation.h:17
DeviceHardIrqContext
Definition
DeviceHardIrqContext.h:16
PerProcessorScheduler
Definition
PerProcessorScheduler.h:45
ProcessorBase
Definition
Processor.h:128
RcuReadState
Definition
RcuReadState.h:9
SuspendDeviceHardIrqContext
Definition
DeviceHardIrqContext.h:39
Thread
Definition
Thread.h:75
VirtualAddressSpace
Definition
include/pedigree/kernel/processor/VirtualAddressSpace.h:38
ProcessorId
size_t ProcessorId
Definition
ProcessorInformation.h:30
Generated on Thu Sep 24 2026 06:24:02 for The Pedigree Project by
1.9.8