kern: add KPageTableBase members
This commit is contained in:
@@ -277,6 +277,16 @@ namespace ams::kern::arm64::cpu {
|
||||
}
|
||||
};
|
||||
|
||||
MESOSPHERE_CPU_SYSREG_ACCESSOR_CLASS(SystemControl) {
|
||||
public:
|
||||
MESOSPHERE_CPU_SYSREG_ACCESSOR_CLASS_FUNCTIONS(SystemControl, sctlr_el1)
|
||||
|
||||
constexpr ALWAYS_INLINE decltype(auto) SetWxn(bool en) {
|
||||
this->SetBit(19, en);
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
/* Accessors for timer registers. */
|
||||
MESOSPHERE_CPU_SYSREG_ACCESSOR_CLASS(CounterTimerKernelControl) {
|
||||
public:
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace ams::kern::arm64 {
|
||||
|
||||
static NOINLINE void Initialize(s32 core_id);
|
||||
|
||||
Result InitializeForKernel(void *table, KVirtualAddress start, KVirtualAddress end);
|
||||
NOINLINE Result InitializeForKernel(void *table, KVirtualAddress start, KVirtualAddress end);
|
||||
Result Finalize();
|
||||
};
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace ams::kern::arm64 {
|
||||
public:
|
||||
constexpr KPageTableImpl() : table(), is_kernel(), num_entries() { /* ... */ }
|
||||
|
||||
void InitializeForKernel(void *tb, KVirtualAddress start, KVirtualAddress end);
|
||||
NOINLINE void InitializeForKernel(void *tb, KVirtualAddress start, KVirtualAddress end);
|
||||
|
||||
u64 *Finalize();
|
||||
};
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace ams::kern::arm64 {
|
||||
public:
|
||||
constexpr KSupervisorPageTable() : page_table(), ttbr0() { /* ... */ }
|
||||
|
||||
void Initialize(s32 core_id);
|
||||
NOINLINE void Initialize(s32 core_id);
|
||||
void Finalize(s32 core_id);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user