The Pedigree Project 0.1
arm64/Processor.h
1#ifndef KERNEL_PROCESSOR_ARM64_PROCESSOR_H
2#define KERNEL_PROCESSOR_ARM64_PROCESSOR_H
3
4#include "pedigree/kernel/processor/Processor.h"
5
6class Arm64Processor : public ProcessorBase {};
7
8#if ARM64
9ALWAYS_INLINE inline ProcessorInformation& ProcessorBase::information() {
10 ProcessorInformation* info;
11 asm volatile("mrs %0, tpidr_el1" : "=r"(info));
12 return info ? *info : m_SafeBspProcessorInformation;
13}
14
15ALWAYS_INLINE inline size_t ProcessorBase::index() {
16 return information().processorId();
17}
18#endif
19
20#endif
static ProcessorInformation & information()
static ProcessorInformation m_SafeBspProcessorInformation
Definition Processor.h:508
static size_t index()